@nova-design-system/nova-webcomponents 3.24.0 → 3.26.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/dist/cjs/_commonjsHelpers-CFO10eej.js +0 -3
- package/dist/cjs/clsx-BtxeOLZW.js +0 -3
- package/dist/cjs/collapse.animation-CcG0GAWk.js +0 -3
- package/dist/cjs/constants-BugGJYqL.js +0 -3
- package/dist/cjs/dom.utils-8VY5SfMZ.js +177 -0
- package/dist/cjs/events.utils-BE6R5q9C.js +0 -3
- package/dist/cjs/fade.animation-BQSqXXOJ.js +0 -3
- package/dist/cjs/grow.animation-ynu_HmA_.js +0 -3
- package/dist/cjs/i18n.utils-BbKpUgYq.js +77 -0
- package/dist/cjs/index-BQjqJTJB.js +4832 -0
- package/dist/cjs/index.cjs.js +54 -3
- package/dist/cjs/index.esm-CG1TVKfu.js +0 -3
- package/dist/cjs/inputmask-DtXnpVWa.js +0 -3
- package/dist/cjs/loader.cjs.js +3 -5
- package/dist/cjs/native.cjs.js +32 -7
- package/dist/cjs/nv-accordion-item.cjs.entry.js +8 -8
- package/dist/cjs/nv-accordion.cjs.entry.js +10 -9
- package/dist/cjs/nv-alert.cjs.entry.js +6 -5
- package/dist/cjs/nv-avatar.cjs.entry.js +3 -4
- package/dist/cjs/nv-badge_2.cjs.entry.js +18 -12
- package/dist/cjs/nv-breadcrumb.cjs.entry.js +14 -12
- package/dist/cjs/nv-breadcrumbs.cjs.entry.js +4 -5
- package/dist/cjs/nv-button.cjs.entry.js +9 -6
- package/dist/cjs/nv-buttongroup.cjs.entry.js +12 -7
- package/dist/cjs/nv-calendar.cjs.entry.js +27 -20
- package/dist/cjs/nv-col.cjs.entry.js +3 -4
- package/dist/cjs/nv-datagrid.cjs.entry.js +47 -185
- package/dist/cjs/nv-datagridcolumn.cjs.entry.js +1 -2
- package/dist/cjs/nv-dialog.cjs.entry.js +19 -21
- package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +11 -30
- package/dist/cjs/nv-drawer.cjs.entry.js +19 -20
- package/dist/cjs/nv-drawerfooter_2.cjs.entry.js +11 -30
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +10 -9
- package/dist/cjs/nv-fielddate.cjs.entry.js +15 -14
- package/dist/cjs/nv-fielddaterange.cjs.entry.js +15 -15
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +32 -30
- package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +5 -9
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +27 -23
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +10 -9
- package/dist/cjs/nv-fieldpassword.cjs.entry.js +10 -9
- package/dist/cjs/nv-fieldradio.cjs.entry.js +9 -8
- package/dist/cjs/nv-fieldselect.cjs.entry.js +20 -13
- package/dist/cjs/nv-fieldslider.cjs.entry.js +33 -16
- package/dist/cjs/nv-fieldtext.cjs.entry.js +7 -8
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +42 -35
- package/dist/cjs/nv-fieldtime.cjs.entry.js +15 -10
- package/dist/cjs/nv-icon.cjs.entry.js +4 -5
- package/dist/cjs/nv-iconbutton_2.cjs.entry.js +13 -10
- package/dist/cjs/nv-menu.cjs.entry.js +9 -14
- package/dist/cjs/nv-menuitem.cjs.entry.js +4 -6
- package/dist/cjs/nv-notification-bullet.cjs.entry.js +3 -4
- package/dist/cjs/nv-notification.cjs.entry.js +4 -5
- package/dist/cjs/nv-notificationcontainer.cjs.entry.js +4 -5
- package/dist/cjs/nv-paginationtable.cjs.entry.js +228 -0
- package/dist/cjs/nv-popover.cjs.entry.js +105 -34
- package/dist/cjs/nv-row.cjs.entry.js +4 -5
- package/dist/cjs/nv-sidebar.cjs.entry.js +10 -7
- package/dist/cjs/nv-sidebarcontent.cjs.entry.js +4 -5
- package/dist/cjs/nv-sidebardivider.cjs.entry.js +4 -5
- package/dist/cjs/nv-sidebarfooter.cjs.entry.js +4 -5
- package/dist/cjs/nv-sidebargroup.cjs.entry.js +4 -5
- package/dist/cjs/nv-sidebarheader.cjs.entry.js +4 -5
- package/dist/cjs/nv-sidebarlogo.cjs.entry.js +4 -5
- package/dist/cjs/nv-sidebarnavitem.cjs.entry.js +9 -8
- package/dist/cjs/nv-sidebarnavsubitem.cjs.entry.js +4 -5
- package/dist/cjs/nv-split.cjs.entry.js +10 -7
- package/dist/cjs/nv-stack.cjs.entry.js +4 -5
- package/dist/cjs/nv-table.cjs.entry.js +6 -5
- package/dist/cjs/nv-tableheader.cjs.entry.js +4 -5
- package/dist/cjs/nv-toggle.cjs.entry.js +8 -7
- package/dist/cjs/nv-togglebutton.cjs.entry.js +4 -6
- package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +13 -10
- package/dist/cjs/nv-tooltip.cjs.entry.js +10 -10
- package/dist/cjs/slide.animation-Cb3tpLQv.js +0 -3
- package/dist/cjs/style-value-types.es-B1vLqX9m.js +0 -3
- package/dist/cjs/timeline.animation-KteJaZPb.js +0 -3
- package/dist/cjs/uri.utils-DiMLQx64.js +0 -3
- package/dist/cjs/v4-C1vaJ4yP.js +0 -3
- package/dist/cjs/{i18n.utils-ku0bScip.js → worker-client-ByL3TenE.js} +35 -78
- package/dist/collection/animations/collapse.animation.js +0 -1
- package/dist/collection/animations/fade.animation.js +0 -1
- package/dist/collection/animations/grow.animation.js +0 -1
- package/dist/collection/animations/index.js +0 -1
- package/dist/collection/animations/slide.animation.js +0 -1
- package/dist/collection/animations/timeline.animation.js +0 -1
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/components/nv-accordion/nv-accordion.docs.js +0 -1
- package/dist/collection/components/nv-accordion/nv-accordion.js +1 -4
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.docs.js +0 -1
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.js +2 -4
- package/dist/collection/components/nv-alert/nv-alert.docs.js +0 -1
- package/dist/collection/components/nv-alert/nv-alert.js +4 -3
- package/dist/collection/components/nv-avatar/nv-avatar.docs.js +0 -1
- package/dist/collection/components/nv-avatar/nv-avatar.js +2 -2
- package/dist/collection/components/nv-badge/nv-badge.css +4 -1
- package/dist/collection/components/nv-badge/nv-badge.docs.js +0 -1
- package/dist/collection/components/nv-badge/nv-badge.js +3 -2
- package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.docs.js +0 -1
- package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +12 -10
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.css +0 -3
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js +0 -1
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +1 -2
- package/dist/collection/components/nv-button/nv-button.docs.js +0 -1
- package/dist/collection/components/nv-button/nv-button.js +6 -4
- package/dist/collection/components/nv-buttongroup/nv-buttongroup.docs.js +0 -1
- package/dist/collection/components/nv-buttongroup/nv-buttongroup.js +4 -3
- package/dist/collection/components/nv-buttongroup/nv-buttongroup.utils.js +0 -1
- package/dist/collection/components/nv-buttongroup/styles/nv-buttongroup.css +4 -4
- package/dist/collection/components/nv-buttongroup/test/nv-buttongroup.utils.test.js +0 -1
- package/dist/collection/components/nv-calendar/nv-calendar.css +110 -1
- package/dist/collection/components/nv-calendar/nv-calendar.docs.js +0 -1
- package/dist/collection/components/nv-calendar/nv-calendar.js +9 -12
- package/dist/collection/components/nv-calendar/nv-calendar.utils.js +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-actions.js +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-grid.js +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-header.js +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js +0 -1
- package/dist/collection/components/nv-calendar/partials/day-cell.js +0 -1
- package/dist/collection/components/nv-calendar/partials/index.js +0 -1
- package/dist/collection/components/nv-calendar/partials/week-numbers.js +0 -1
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js +0 -2
- package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js +0 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js +0 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js +0 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js +0 -1
- package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js +0 -1
- package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js +0 -1
- package/dist/collection/components/nv-col/nv-col.docs.js +0 -1
- package/dist/collection/components/nv-col/nv-col.js +0 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +0 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.js +6 -5
- package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.docs.js +0 -1
- package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +0 -1
- package/dist/collection/components/nv-dialog/nv-dialog.docs.js +0 -7
- package/dist/collection/components/nv-dialog/nv-dialog.js +17 -45
- package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.docs.js +0 -1
- package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +8 -15
- package/dist/collection/components/nv-dialogheader/nv-dialogheader.docs.js +0 -1
- package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -13
- package/dist/collection/components/nv-drawer/nv-drawer.docs.js +0 -1
- package/dist/collection/components/nv-drawer/nv-drawer.js +13 -16
- package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.docs.js +0 -1
- package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.js +8 -15
- package/dist/collection/components/nv-drawerheader/nv-drawerheader.docs.js +0 -1
- package/dist/collection/components/nv-drawerheader/nv-drawerheader.js +1 -13
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.css +9 -0
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js +0 -1
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +6 -6
- package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js +0 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.js +6 -9
- package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js +0 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js +0 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +6 -10
- package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js +0 -2
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +0 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +16 -13
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.docs.js +0 -1
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +3 -7
- package/dist/collection/components/nv-fielddropdownitem/styles/nv-fielddropdownitem.css +78 -8
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.docs.js +0 -1
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -3
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +0 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +5 -6
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +0 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +4 -5
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +0 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +7 -7
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js +0 -1
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +5 -5
- package/dist/collection/components/nv-fieldradio/styles/nv-fieldradio.css +20 -0
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +0 -1
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -6
- package/dist/collection/components/nv-fieldselect/styles/nv-fieldselect.css +90 -7
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +0 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -4
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js +0 -1
- package/dist/collection/components/nv-fieldslider/partials/field-input.js +0 -1
- package/dist/collection/components/nv-fieldslider/partials/range-thumb.js +0 -1
- package/dist/collection/components/nv-fieldslider/partials/single-thumb.js +0 -1
- package/dist/collection/components/nv-fieldslider/partials/tick-marks.js +0 -1
- package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js +0 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +0 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +7 -7
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js +14 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +50 -30
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +0 -1
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +3 -5
- package/dist/collection/components/nv-fieldtime/utils/format-utils.js +0 -1
- package/dist/collection/components/nv-icon/nv-icon.docs.js +0 -1
- package/dist/collection/components/nv-icon/nv-icon.js +7 -5
- package/dist/collection/components/nv-icon/nv-icons.js +0 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js +0 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +11 -7
- package/dist/collection/components/nv-loader/nv-loader.docs.js +0 -1
- package/dist/collection/components/nv-loader/nv-loader.js +5 -4
- package/dist/collection/components/nv-menu/nv-menu.docs.js +0 -1
- package/dist/collection/components/nv-menu/nv-menu.js +14 -12
- package/dist/collection/components/nv-menuitem/nv-menuitem.docs.js +0 -1
- package/dist/collection/components/nv-menuitem/nv-menuitem.js +4 -5
- package/dist/collection/components/nv-notification/nv-notification.docs.js +0 -1
- package/dist/collection/components/nv-notification/nv-notification.js +5 -4
- package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.docs.js +0 -1
- package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.js +0 -1
- package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.docs.js +0 -1
- package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js +3 -3
- package/dist/collection/components/nv-paginationtable/nv-paginationtable.css +17 -0
- package/dist/collection/components/nv-paginationtable/nv-paginationtable.docs.js +248 -0
- package/dist/collection/components/nv-paginationtable/nv-paginationtable.js +537 -0
- package/dist/collection/components/nv-paginationtable/nv-paginationtable.utils.js +64 -0
- package/dist/collection/components/nv-paginationtable/test/nv-paginationtable.utils.test.js +360 -0
- package/dist/collection/components/nv-popover/nv-popover.docs.js +0 -1
- package/dist/collection/components/nv-popover/nv-popover.js +19 -14
- package/dist/collection/components/nv-row/nv-row.docs.js +0 -1
- package/dist/collection/components/nv-row/nv-row.js +1 -2
- package/dist/collection/components/nv-sidebar/nv-sidebar.docs.js +0 -1
- package/dist/collection/components/nv-sidebar/nv-sidebar.js +1 -2
- package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.docs.js +0 -1
- package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.js +1 -2
- package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.docs.js +0 -1
- package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.js +1 -2
- package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.docs.js +0 -1
- package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.js +1 -2
- package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.docs.js +0 -1
- package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.js +1 -2
- package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.docs.js +0 -1
- package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.js +1 -2
- package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.docs.js +0 -1
- package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.js +1 -2
- package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.docs.js +0 -1
- package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.js +6 -6
- package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.docs.js +0 -1
- package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.js +1 -2
- package/dist/collection/components/nv-split/nv-split.docs.js +0 -1
- package/dist/collection/components/nv-split/nv-split.js +1 -2
- package/dist/collection/components/nv-stack/nv-stack.docs.js +0 -1
- package/dist/collection/components/nv-stack/nv-stack.js +1 -2
- package/dist/collection/components/nv-table/nv-table.docs.js +0 -1
- package/dist/collection/components/nv-table/nv-table.js +1 -3
- package/dist/collection/components/nv-table/nv-table.utils.js +2 -1
- package/dist/collection/components/nv-table/test/nv-table.utils.test.js +0 -2
- package/dist/collection/components/nv-tableheader/nv-tableheader.docs.js +0 -1
- package/dist/collection/components/nv-tableheader/nv-tableheader.js +1 -2
- package/dist/collection/components/nv-toggle/nv-toggle.css +26 -0
- package/dist/collection/components/nv-toggle/nv-toggle.docs.js +0 -1
- package/dist/collection/components/nv-toggle/nv-toggle.js +4 -4
- package/dist/collection/components/nv-togglebutton/nv-togglebutton.docs.js +0 -1
- package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +5 -5
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js +0 -1
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +5 -6
- package/dist/collection/components/nv-tooltip/nv-tooltip.css +7 -0
- package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js +0 -1
- package/dist/collection/components/nv-tooltip/nv-tooltip.js +20 -13
- package/dist/collection/index.js +2 -1
- package/dist/collection/interfaces/Column.js +0 -1
- package/dist/collection/interfaces/ColumnConfig.js +0 -1
- package/dist/collection/interfaces/localization.js +0 -1
- package/dist/collection/templates/navigation.docs.js +0 -1
- package/dist/collection/utils/class.utils.js +0 -1
- package/dist/collection/utils/constants.js +0 -1
- package/dist/collection/utils/dom.utils.js +8 -1
- package/dist/collection/utils/events.utils.js +0 -1
- package/dist/collection/utils/i18n.utils.js +0 -1
- package/dist/collection/utils/input.utils.js +0 -1
- package/dist/collection/utils/search-engine/engine.js +0 -1
- package/dist/collection/utils/search-engine/guards.js +0 -1
- package/dist/collection/utils/search-engine/index.js +0 -1
- package/dist/collection/utils/search-engine/indexer.js +0 -1
- package/dist/collection/utils/search-engine/normalize.js +0 -1
- package/dist/collection/utils/search-engine/strategies/fuzzy.js +0 -1
- package/dist/collection/utils/search-engine/strategies/smart.js +0 -1
- package/dist/collection/utils/search-engine/strategies/strict.js +0 -1
- package/dist/collection/utils/search-engine/test/engine.test.js +0 -1
- package/dist/collection/utils/search-engine/test/guards.test.js +0 -1
- package/dist/collection/utils/search-engine/test/indexer.test.js +0 -1
- package/dist/collection/utils/search-engine/test/normalize.test.js +0 -1
- package/dist/collection/utils/search-engine/test/strategies.test.js +0 -1
- package/dist/collection/utils/search-engine/types.js +0 -1
- package/dist/collection/utils/search-engine/worker/index.js +0 -1
- package/dist/collection/utils/search-engine/worker/search.worker.js +0 -1
- package/dist/collection/utils/search-engine/worker/worker-client.js +0 -1
- package/dist/collection/utils/string.utils.js +0 -1
- package/dist/collection/utils/test/class.utils.test.js +0 -2
- package/dist/collection/utils/test/dom.utils.test.js +24 -3
- package/dist/collection/utils/test/i18n.utils.test.js +0 -1
- package/dist/collection/utils/test/input.utils.test.js +0 -1
- package/dist/collection/utils/test/uri.utils.test.js +0 -1
- package/dist/collection/utils/uri.utils.js +0 -1
- package/dist/components/_.entry.js +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +1 -583
- package/dist/components/nv-accordion-item.js +1 -9
- package/dist/components/nv-accordion.js +1 -229
- package/dist/components/nv-alert.js +1 -211
- package/dist/components/nv-avatar.js +1 -105
- package/dist/components/nv-badge.js +1 -9
- package/dist/components/nv-breadcrumb.js +1 -80
- package/dist/components/nv-breadcrumbs.js +1 -39
- package/dist/components/nv-button.js +1 -9
- package/dist/components/nv-buttongroup.js +1 -223
- package/dist/components/nv-calendar.js +1 -9
- package/dist/components/nv-col.js +1 -58
- package/dist/components/nv-datagrid.js +1 -4580
- package/dist/components/nv-datagridcolumn.js +1 -47
- package/dist/components/nv-dialog.js +1 -362
- package/dist/components/nv-dialogfooter.js +1 -9
- package/dist/components/nv-dialogheader.js +1 -9
- package/dist/components/nv-drawer.js +1 -507
- package/dist/components/nv-drawerfooter.js +1 -9
- package/dist/components/nv-drawerheader.js +1 -9
- package/dist/components/nv-fieldcheckbox.js +1 -9
- package/dist/components/nv-fielddate.js +1 -507
- package/dist/components/nv-fielddaterange.js +1 -670
- package/dist/components/nv-fielddropdown.js +1 -768
- package/dist/components/nv-fielddropdownitem.js +1 -9
- package/dist/components/nv-fielddropdownitemcheck.js +1 -9
- package/dist/components/nv-fieldmultiselect.js +1 -1587
- package/dist/components/nv-fieldnumber.js +1 -9
- package/dist/components/nv-fieldpassword.js +1 -227
- package/dist/components/nv-fieldradio.js +1 -137
- package/dist/components/nv-fieldselect.js +1 -460
- package/dist/components/nv-fieldslider.js +1 -801
- package/dist/components/nv-fieldtext.js +1 -9
- package/dist/components/nv-fieldtextarea.js +1 -282
- package/dist/components/nv-fieldtime.js +1 -1189
- package/dist/components/nv-icon.js +1 -9
- package/dist/components/nv-iconbutton.js +1 -9
- package/dist/components/nv-loader.js +1 -9
- package/dist/components/nv-menu.js +1 -254
- package/dist/components/nv-menuitem.js +1 -9
- package/dist/components/nv-notification-bullet.js +1 -9
- package/dist/components/nv-notification.js +1 -212
- package/dist/components/nv-notificationcontainer.js +1 -61
- package/dist/components/nv-paginationtable.d.ts +11 -0
- package/dist/components/nv-paginationtable.js +1 -0
- package/dist/components/nv-popover.js +1 -9
- package/dist/components/nv-row.js +1 -40
- package/dist/components/nv-sidebar.js +1 -210
- package/dist/components/nv-sidebarcontent.js +1 -40
- package/dist/components/nv-sidebardivider.js +1 -40
- package/dist/components/nv-sidebarfooter.js +1 -40
- package/dist/components/nv-sidebargroup.js +1 -43
- package/dist/components/nv-sidebarheader.js +1 -40
- package/dist/components/nv-sidebarlogo.js +1 -54
- package/dist/components/nv-sidebarnavitem.js +1 -336
- package/dist/components/nv-sidebarnavsubitem.js +1 -55
- package/dist/components/nv-split.js +1 -370
- package/dist/components/nv-stack.js +1 -55
- package/dist/components/nv-table.js +1 -261
- package/dist/components/nv-tableheader.js +1 -114
- package/dist/components/nv-toggle.js +1 -111
- package/dist/components/nv-togglebutton.js +1 -91
- package/dist/components/nv-togglebuttongroup.js +1 -200
- package/dist/components/nv-tooltip.js +1 -9
- package/dist/components/p-9xYwU7ku.js +1 -724
- package/dist/components/p-B5KLppep.js +1 -0
- package/dist/components/p-B6GgGra-.js +1 -29
- package/dist/components/p-BAlaMmS4.js +1 -0
- package/dist/components/p-BPufjY85.js +1 -0
- package/dist/components/p-BReL3Lsa.js +1 -286
- package/dist/components/p-BaF3Tuua.js +1 -0
- package/dist/components/p-BdYh22OP.js +1 -57
- package/dist/components/p-BfaMgLx7.js +9 -0
- package/dist/components/p-Bh6WGsHA.js +1 -0
- package/dist/components/p-C2J7j_fw.js +1 -0
- package/dist/components/p-C9p4yTS2.js +1 -0
- package/dist/components/p-CAKTe96z.js +1 -0
- package/dist/components/p-CEI7jWvn.js +1 -0
- package/dist/components/p-CR9MpYzU.js +1 -0
- package/dist/components/p-CZcMM7Lh.js +1 -0
- package/dist/components/p-Ce1IBFTa.js +1 -0
- package/dist/components/p-CgHCo_Ho.js +1 -42
- package/dist/components/p-ChV9xqsO.js +1 -6
- package/dist/components/p-CnI0auJM.js +1 -24
- package/dist/components/p-CuXVGECR.js +1 -0
- package/dist/components/p-D02w_Ru6.js +1 -91
- package/dist/components/p-D15RdWEG.js +1 -0
- package/dist/components/p-D1C_pu0E.js +1 -218
- package/dist/components/p-D2otK4Ce.js +1 -91
- package/dist/components/p-D3eWMME9.js +1 -534
- package/dist/components/p-DDqZBSGn.js +1 -0
- package/dist/components/p-DHNSuxz-.js +1 -0
- package/dist/components/p-DhDxhFz-.js +1 -0
- package/dist/components/p-DqU-wS_x.js +1 -0
- package/dist/components/p-Dz1GUhVy.js +15 -1119
- package/dist/components/p-FSPz8FER.js +1 -0
- package/dist/components/p-RUeDcouW.js +1 -0
- package/dist/components/p-iXsbKJzR.js +2 -0
- package/dist/components/p-jZF_Ggmx.js +1 -0
- package/dist/components/p-laRga5dw.js +1 -0
- package/dist/components/p-nmQOuX7R.js +1 -0
- package/dist/components/p-yHGZRC6Q.js +1 -0
- package/dist/esm/_commonjsHelpers-B85MJLTf.js +0 -3
- package/dist/esm/clsx-ChV9xqsO.js +0 -3
- package/dist/esm/collapse.animation-DZDm0vSK.js +0 -3
- package/dist/esm/constants-BReL3Lsa.js +0 -3
- package/dist/esm/dom.utils-CuXVGECR.js +173 -0
- package/dist/esm/events.utils-B6GgGra-.js +0 -3
- package/dist/esm/fade.animation-DcRL9lcm.js +0 -3
- package/dist/esm/grow.animation-D7ep_aVl.js +0 -3
- package/dist/esm/i18n.utils-CR9MpYzU.js +74 -0
- package/dist/esm/index-S-IZ4AN_.js +4796 -0
- package/dist/esm/index.esm-D3eWMME9.js +0 -3
- package/dist/esm/index.js +53 -3
- package/dist/esm/inputmask-CSo292ul.js +0 -3
- package/dist/esm/loader.js +3 -5
- package/dist/esm/native.js +32 -7
- package/dist/esm/nv-accordion-item.entry.js +8 -8
- package/dist/esm/nv-accordion.entry.js +10 -9
- package/dist/esm/nv-alert.entry.js +6 -5
- package/dist/esm/nv-avatar.entry.js +3 -4
- package/dist/esm/nv-badge_2.entry.js +18 -12
- package/dist/esm/nv-breadcrumb.entry.js +14 -12
- package/dist/esm/nv-breadcrumbs.entry.js +4 -5
- package/dist/esm/nv-button.entry.js +9 -6
- package/dist/esm/nv-buttongroup.entry.js +12 -7
- package/dist/esm/nv-calendar.entry.js +27 -20
- package/dist/esm/nv-col.entry.js +3 -4
- package/dist/esm/nv-datagrid.entry.js +42 -180
- package/dist/esm/nv-datagridcolumn.entry.js +1 -2
- package/dist/esm/nv-dialog.entry.js +19 -21
- package/dist/esm/nv-dialogfooter_2.entry.js +11 -30
- package/dist/esm/nv-drawer.entry.js +19 -20
- package/dist/esm/nv-drawerfooter_2.entry.js +11 -30
- package/dist/esm/nv-fieldcheckbox.entry.js +10 -9
- package/dist/esm/nv-fielddate.entry.js +15 -14
- package/dist/esm/nv-fielddaterange.entry.js +15 -15
- package/dist/esm/nv-fielddropdown.entry.js +19 -17
- package/dist/esm/nv-fielddropdownitem.entry.js +5 -9
- package/dist/esm/nv-fieldmultiselect.entry.js +14 -10
- package/dist/esm/nv-fieldnumber.entry.js +10 -9
- package/dist/esm/nv-fieldpassword.entry.js +10 -9
- package/dist/esm/nv-fieldradio.entry.js +9 -8
- package/dist/esm/nv-fieldselect.entry.js +20 -13
- package/dist/esm/nv-fieldslider.entry.js +33 -16
- package/dist/esm/nv-fieldtext.entry.js +7 -8
- package/dist/esm/nv-fieldtextarea.entry.js +42 -35
- package/dist/esm/nv-fieldtime.entry.js +15 -10
- package/dist/esm/nv-icon.entry.js +4 -5
- package/dist/esm/nv-iconbutton_2.entry.js +13 -10
- package/dist/esm/nv-menu.entry.js +9 -14
- package/dist/esm/nv-menuitem.entry.js +4 -6
- package/dist/esm/nv-notification-bullet.entry.js +3 -4
- package/dist/esm/nv-notification.entry.js +4 -5
- package/dist/esm/nv-notificationcontainer.entry.js +4 -5
- package/dist/esm/nv-paginationtable.entry.js +226 -0
- package/dist/esm/nv-popover.entry.js +105 -34
- package/dist/esm/nv-row.entry.js +4 -5
- package/dist/esm/nv-sidebar.entry.js +10 -7
- package/dist/esm/nv-sidebarcontent.entry.js +4 -5
- package/dist/esm/nv-sidebardivider.entry.js +4 -5
- package/dist/esm/nv-sidebarfooter.entry.js +4 -5
- package/dist/esm/nv-sidebargroup.entry.js +4 -5
- package/dist/esm/nv-sidebarheader.entry.js +4 -5
- package/dist/esm/nv-sidebarlogo.entry.js +4 -5
- package/dist/esm/nv-sidebarnavitem.entry.js +9 -8
- package/dist/esm/nv-sidebarnavsubitem.entry.js +4 -5
- package/dist/esm/nv-split.entry.js +10 -7
- package/dist/esm/nv-stack.entry.js +4 -5
- package/dist/esm/nv-table.entry.js +6 -5
- package/dist/esm/nv-tableheader.entry.js +4 -5
- package/dist/esm/nv-toggle.entry.js +8 -7
- package/dist/esm/nv-togglebutton.entry.js +4 -6
- package/dist/esm/nv-togglebuttongroup.entry.js +13 -10
- package/dist/esm/nv-tooltip.entry.js +10 -10
- package/dist/esm/slide.animation-CmH5d1of.js +0 -3
- package/dist/esm/style-value-types.es-xlgmw4x8.js +0 -3
- package/dist/esm/timeline.animation-CgHCo_Ho.js +0 -3
- package/dist/esm/uri.utils-CnI0auJM.js +0 -3
- package/dist/esm/v4-BdYh22OP.js +0 -3
- package/dist/{components/p-IlwlcG9l.js → esm/worker-client-BaF3Tuua.js} +20 -77
- package/dist/lib/generators/angular-output.js +0 -1
- package/dist/lib/generators/docs-blazor.js +0 -1
- package/dist/lib/generators/vue-output.js +0 -1
- package/dist/lib/scripts/nextjs-entry-shim.js +25 -0
- package/dist/lib/utils/componentBinding.js +0 -1
- package/dist/lib/utils/parseToCSharpTypes.js +0 -1
- package/dist/lib/utils/spread.js +0 -1
- package/dist/lib/utils/test/parseToCSharpTypes.test.js +0 -1
- package/dist/native/index.esm.js +1 -2
- package/dist/native/native.css +1 -1
- package/dist/native/native.esm.js +1 -2
- package/dist/native/p-043d500e.entry.js +1 -0
- package/dist/native/p-04956305.entry.js +1 -0
- package/dist/native/p-06a17aba.entry.js +1 -0
- package/dist/native/p-0819a7b1.entry.js +1 -0
- package/dist/native/p-0bfd188c.entry.js +1 -0
- package/dist/native/p-0e8b544b.entry.js +1 -0
- package/dist/native/p-0ec34d19.entry.js +1 -0
- package/dist/native/p-11eb959b.entry.js +1 -0
- package/dist/native/p-13YSIyGW.js +1 -2
- package/dist/native/p-17f2525a.entry.js +1 -0
- package/dist/native/p-1a5db5e9.entry.js +1 -0
- package/dist/native/p-1bf1a213.entry.js +1 -0
- package/dist/native/p-1dd3da3b.entry.js +1 -0
- package/dist/native/p-2106dfbd.entry.js +1 -0
- package/dist/native/p-31301f1e.entry.js +1 -0
- package/dist/native/p-3a04a563.entry.js +1 -0
- package/dist/native/p-3fb1a188.entry.js +1 -0
- package/dist/native/p-48e7b457.entry.js +1 -0
- package/dist/native/p-5cbf5973.entry.js +1 -0
- package/dist/native/p-64104dbd.entry.js +1 -0
- package/dist/native/p-6a9363a6.entry.js +1 -0
- package/dist/native/p-6b655545.entry.js +1 -0
- package/dist/native/p-702a6646.entry.js +1 -0
- package/dist/native/p-70abbe4f.entry.js +1 -0
- package/dist/native/p-79d8c26b.entry.js +1 -0
- package/dist/native/p-7a8e2ef3.entry.js +1 -0
- package/dist/native/p-7c413f8b.entry.js +1 -0
- package/dist/native/p-85c8be32.entry.js +1 -0
- package/dist/native/p-87a1b06c.entry.js +1 -0
- package/dist/native/p-89f7d483.entry.js +1 -0
- package/dist/native/p-8ce17efd.entry.js +1 -0
- package/dist/native/p-8dadc0c9.entry.js +1 -0
- package/dist/native/p-945ca1db.entry.js +1 -0
- package/dist/native/p-97a5f8d5.entry.js +1 -0
- package/dist/native/p-98ea927d.entry.js +1 -0
- package/dist/native/p-B6GgGra-.js +1 -2
- package/dist/native/p-B85MJLTf.js +1 -2
- package/dist/native/p-BReL3Lsa.js +1 -2
- package/dist/native/p-BaF3Tuua.js +1 -0
- package/dist/native/p-BdYh22OP.js +1 -2
- package/dist/native/p-Blc6XEY7.js +1 -2
- package/dist/native/p-CR9MpYzU.js +1 -0
- package/dist/native/p-CgHCo_Ho.js +1 -2
- package/dist/native/p-ChV9xqsO.js +1 -2
- package/dist/native/p-CnI0auJM.js +1 -2
- package/dist/native/p-CuXVGECR.js +1 -0
- package/dist/native/p-D3eWMME9.js +1 -2
- package/dist/native/p-DmUOtOcY.js +1 -2
- package/dist/native/p-Hfc8Oh0x.js +3 -4
- package/dist/native/p-S-IZ4AN_.js +2 -0
- package/dist/native/p-a8bc3b92.entry.js +1 -0
- package/dist/native/p-a92e2ad8.entry.js +1 -0
- package/dist/native/p-a9a07a8d.entry.js +1 -0
- package/dist/native/p-a9a20f37.entry.js +1 -0
- package/dist/native/p-aa232a20.entry.js +1 -0
- package/dist/native/p-ae4fc02a.entry.js +1 -0
- package/dist/native/p-b0d97496.entry.js +1 -0
- package/dist/native/p-bd143e7b.entry.js +1 -0
- package/dist/native/p-bdaab534.entry.js +1 -0
- package/dist/native/p-bdbc92d9.entry.js +1 -0
- package/dist/native/p-bef3d325.entry.js +1 -0
- package/dist/native/p-c3ea1eca.entry.js +1 -0
- package/dist/native/p-c825c542.entry.js +1 -0
- package/dist/native/p-ce2c17dc.entry.js +1 -0
- package/dist/native/p-d46ea49a.entry.js +1 -0
- package/dist/native/p-dc0d1690.entry.js +1 -0
- package/dist/native/p-e05b6008.entry.js +1 -0
- package/dist/native/p-e1021e2c.entry.js +1 -0
- package/dist/native/p-e937d495.entry.js +1 -0
- package/dist/native/p-f22d2ad9.entry.js +1 -0
- package/dist/native/p-f2a32774.entry.js +1 -0
- package/dist/native/p-f5eff2b2.entry.js +1 -0
- package/dist/native/p-f64f1bea.entry.js +1 -0
- package/dist/native/p-fba55e2f.entry.js +1 -0
- package/dist/native/p-sqVK8yoD.js +1 -2
- package/dist/native/p-xlgmw4x8.js +2 -3
- package/dist/types/components/nv-breadcrumb/nv-breadcrumb.d.ts +4 -2
- package/dist/types/components/nv-dialog/nv-dialog.d.ts +4 -9
- package/dist/types/components/nv-dialogfooter/nv-dialogfooter.d.ts +3 -4
- package/dist/types/components/nv-dialogheader/nv-dialogheader.d.ts +0 -3
- package/dist/types/components/nv-drawer/nv-drawer.d.ts +3 -3
- package/dist/types/components/nv-drawerfooter/nv-drawerfooter.d.ts +3 -4
- package/dist/types/components/nv-drawerheader/nv-drawerheader.d.ts +0 -3
- package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +4 -0
- package/dist/types/components/nv-fielddropdownitem/nv-fielddropdownitem.d.ts +2 -3
- package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +9 -1
- package/dist/types/components/nv-menu/nv-menu.d.ts +5 -1
- package/dist/types/components/nv-paginationtable/nv-paginationtable.d.ts +112 -0
- package/dist/types/components/nv-paginationtable/nv-paginationtable.docs.d.ts +4 -0
- package/dist/types/components/nv-paginationtable/nv-paginationtable.utils.d.ts +61 -0
- package/dist/types/components/nv-paginationtable/test/nv-paginationtable.utils.test.d.ts +1 -0
- package/dist/types/components/nv-popover/nv-popover.d.ts +2 -3
- package/dist/types/components/nv-tooltip/nv-tooltip.d.ts +4 -2
- package/dist/types/components.d.ts +182 -5
- package/dist/types/index.d.ts +1 -0
- package/dist/types/nova-docs.d.ts +0 -1
- package/dist/types/stencil-public-runtime.d.ts +87 -4
- package/dist/types/utils/dom.utils.d.ts +6 -0
- package/dist/types/utils/events.utils.d.ts +2 -2
- package/dist/vscode-data.json +641 -588
- package/hydrate/index.d.ts +12 -0
- package/hydrate/index.js +6999 -1257
- package/hydrate/index.mjs +6998 -1258
- package/package.json +11 -9
- package/dist/cjs/_commonjsHelpers-CFO10eej.js.map +0 -1
- package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -8
- package/dist/cjs/app-globals-V2Kpy_OQ.js.map +0 -1
- package/dist/cjs/clsx-BtxeOLZW.js.map +0 -1
- package/dist/cjs/collapse.animation-CcG0GAWk.js.map +0 -1
- package/dist/cjs/constants-BugGJYqL.js.map +0 -1
- package/dist/cjs/events.utils-BE6R5q9C.js.map +0 -1
- package/dist/cjs/fade.animation-BQSqXXOJ.js.map +0 -1
- package/dist/cjs/grow.animation-ynu_HmA_.js.map +0 -1
- package/dist/cjs/i18n.utils-ku0bScip.js.map +0 -1
- package/dist/cjs/index-B1na8x6M.js +0 -2841
- package/dist/cjs/index-B1na8x6M.js.map +0 -1
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/index.esm-CG1TVKfu.js.map +0 -1
- package/dist/cjs/inputmask-DtXnpVWa.js.map +0 -1
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/native.cjs.js.map +0 -1
- package/dist/cjs/nv-accordion-item.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-accordion.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-alert.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-avatar.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-badge.nv-fielddropdownitemcheck.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-breadcrumb.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-breadcrumbs.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-button.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-buttongroup.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-calendar.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-col.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-datagrid.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-datagridcolumn.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-dialog.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-dialogfooter.nv-dialogheader.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-drawer.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-drawerfooter.nv-drawerheader.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldcheckbox.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fielddate.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fielddaterange.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fielddropdown.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fielddropdownitem.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldmultiselect.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldnumber.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldpassword.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldradio.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldselect.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldslider.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldtext.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldtextarea.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldtime.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-icon.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-iconbutton.nv-loader.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-menu.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-menuitem.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-notification-bullet.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-notification.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-notificationcontainer.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-popover.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-row.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebar.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebarcontent.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebardivider.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebarfooter.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebargroup.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebarheader.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebarlogo.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebarnavitem.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebarnavsubitem.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-split.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-stack.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-table.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-tableheader.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-toggle.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-togglebutton.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-togglebuttongroup.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-tooltip.entry.cjs.js.map +0 -1
- package/dist/cjs/slide.animation-Cb3tpLQv.js.map +0 -1
- package/dist/cjs/style-value-types.es-B1vLqX9m.js.map +0 -1
- package/dist/cjs/timeline.animation-KteJaZPb.js.map +0 -1
- package/dist/cjs/uri.utils-DiMLQx64.js.map +0 -1
- package/dist/cjs/v4-C1vaJ4yP.js.map +0 -1
- package/dist/collection/animations/collapse.animation.js.map +0 -1
- package/dist/collection/animations/fade.animation.js.map +0 -1
- package/dist/collection/animations/grow.animation.js.map +0 -1
- package/dist/collection/animations/index.js.map +0 -1
- package/dist/collection/animations/slide.animation.js.map +0 -1
- package/dist/collection/animations/timeline.animation.js.map +0 -1
- package/dist/collection/components/nv-accordion/nv-accordion.docs.js.map +0 -1
- package/dist/collection/components/nv-accordion/nv-accordion.js.map +0 -1
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.docs.js.map +0 -1
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +0 -1
- package/dist/collection/components/nv-alert/nv-alert.docs.js.map +0 -1
- package/dist/collection/components/nv-alert/nv-alert.js.map +0 -1
- package/dist/collection/components/nv-avatar/nv-avatar.docs.js.map +0 -1
- package/dist/collection/components/nv-avatar/nv-avatar.js.map +0 -1
- package/dist/collection/components/nv-badge/nv-badge.docs.js.map +0 -1
- package/dist/collection/components/nv-badge/nv-badge.js.map +0 -1
- package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.docs.js.map +0 -1
- package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js.map +0 -1
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js.map +0 -1
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js.map +0 -1
- package/dist/collection/components/nv-button/nv-button.docs.js.map +0 -1
- package/dist/collection/components/nv-button/nv-button.js.map +0 -1
- package/dist/collection/components/nv-buttongroup/nv-buttongroup.docs.js.map +0 -1
- package/dist/collection/components/nv-buttongroup/nv-buttongroup.js.map +0 -1
- package/dist/collection/components/nv-buttongroup/nv-buttongroup.utils.js.map +0 -1
- package/dist/collection/components/nv-buttongroup/test/nv-buttongroup.utils.test.js.map +0 -1
- package/dist/collection/components/nv-calendar/nv-calendar.docs.js.map +0 -1
- package/dist/collection/components/nv-calendar/nv-calendar.js.map +0 -1
- package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-actions.js.map +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-grid.js.map +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-header.js.map +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js.map +0 -1
- package/dist/collection/components/nv-calendar/partials/day-cell.js.map +0 -1
- package/dist/collection/components/nv-calendar/partials/index.js.map +0 -1
- package/dist/collection/components/nv-calendar/partials/week-numbers.js.map +0 -1
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js.map +0 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js.map +0 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js.map +0 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js.map +0 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js.map +0 -1
- package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js.map +0 -1
- package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js.map +0 -1
- package/dist/collection/components/nv-col/nv-col.docs.js.map +0 -1
- package/dist/collection/components/nv-col/nv-col.js.map +0 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +0 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +0 -1
- package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.docs.js.map +0 -1
- package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +0 -1
- package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +0 -1
- package/dist/collection/components/nv-dialog/nv-dialog.js.map +0 -1
- package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.docs.js.map +0 -1
- package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js.map +0 -1
- package/dist/collection/components/nv-dialogheader/nv-dialogheader.docs.js.map +0 -1
- package/dist/collection/components/nv-dialogheader/nv-dialogheader.js.map +0 -1
- package/dist/collection/components/nv-drawer/nv-drawer.docs.js.map +0 -1
- package/dist/collection/components/nv-drawer/nv-drawer.js.map +0 -1
- package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.docs.js.map +0 -1
- package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.js.map +0 -1
- package/dist/collection/components/nv-drawerheader/nv-drawerheader.docs.js.map +0 -1
- package/dist/collection/components/nv-drawerheader/nv-drawerheader.js.map +0 -1
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +0 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js.map +0 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +0 -1
- package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js.map +0 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js.map +0 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +0 -1
- package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js.map +0 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +0 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +0 -1
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.docs.js.map +0 -1
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js.map +0 -1
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.docs.js.map +0 -1
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js.map +0 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +0 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +0 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +0 -1
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +0 -1
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/partials/field-input.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/partials/range-thumb.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/partials/single-thumb.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/partials/tick-marks.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js.map +0 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +0 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +0 -1
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +0 -1
- package/dist/collection/components/nv-fieldtime/utils/format-utils.js.map +0 -1
- package/dist/collection/components/nv-icon/nv-icon.docs.js.map +0 -1
- package/dist/collection/components/nv-icon/nv-icon.js.map +0 -1
- package/dist/collection/components/nv-icon/nv-icons.js.map +0 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js.map +0 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.js.map +0 -1
- package/dist/collection/components/nv-loader/nv-loader.docs.js.map +0 -1
- package/dist/collection/components/nv-loader/nv-loader.js.map +0 -1
- package/dist/collection/components/nv-menu/nv-menu.docs.js.map +0 -1
- package/dist/collection/components/nv-menu/nv-menu.js.map +0 -1
- package/dist/collection/components/nv-menuitem/nv-menuitem.docs.js.map +0 -1
- package/dist/collection/components/nv-menuitem/nv-menuitem.js.map +0 -1
- package/dist/collection/components/nv-notification/nv-notification.docs.js.map +0 -1
- package/dist/collection/components/nv-notification/nv-notification.js.map +0 -1
- package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.docs.js.map +0 -1
- package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.js.map +0 -1
- package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.docs.js.map +0 -1
- package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js.map +0 -1
- package/dist/collection/components/nv-popover/nv-popover.docs.js.map +0 -1
- package/dist/collection/components/nv-popover/nv-popover.js.map +0 -1
- package/dist/collection/components/nv-row/nv-row.docs.js.map +0 -1
- package/dist/collection/components/nv-row/nv-row.js.map +0 -1
- package/dist/collection/components/nv-sidebar/nv-sidebar.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebar/nv-sidebar.js.map +0 -1
- package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.js.map +0 -1
- package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.js.map +0 -1
- package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.js.map +0 -1
- package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.js.map +0 -1
- package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.js.map +0 -1
- package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.js.map +0 -1
- package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.js.map +0 -1
- package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.js.map +0 -1
- package/dist/collection/components/nv-split/nv-split.docs.js.map +0 -1
- package/dist/collection/components/nv-split/nv-split.js.map +0 -1
- package/dist/collection/components/nv-stack/nv-stack.docs.js.map +0 -1
- package/dist/collection/components/nv-stack/nv-stack.js.map +0 -1
- package/dist/collection/components/nv-table/nv-table.docs.js.map +0 -1
- package/dist/collection/components/nv-table/nv-table.js.map +0 -1
- package/dist/collection/components/nv-table/nv-table.utils.js.map +0 -1
- package/dist/collection/components/nv-table/test/nv-table.utils.test.js.map +0 -1
- package/dist/collection/components/nv-tableheader/nv-tableheader.docs.js.map +0 -1
- package/dist/collection/components/nv-tableheader/nv-tableheader.js.map +0 -1
- package/dist/collection/components/nv-toggle/nv-toggle.docs.js.map +0 -1
- package/dist/collection/components/nv-toggle/nv-toggle.js.map +0 -1
- package/dist/collection/components/nv-togglebutton/nv-togglebutton.docs.js.map +0 -1
- package/dist/collection/components/nv-togglebutton/nv-togglebutton.js.map +0 -1
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js.map +0 -1
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js.map +0 -1
- package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js.map +0 -1
- package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +0 -1
- package/dist/collection/index.js.map +0 -1
- package/dist/collection/interfaces/Column.js.map +0 -1
- package/dist/collection/interfaces/ColumnConfig.js.map +0 -1
- package/dist/collection/interfaces/localization.js.map +0 -1
- package/dist/collection/templates/navigation.docs.js.map +0 -1
- package/dist/collection/utils/class.utils.js.map +0 -1
- package/dist/collection/utils/constants.js.map +0 -1
- package/dist/collection/utils/dom.utils.js.map +0 -1
- package/dist/collection/utils/events.utils.js.map +0 -1
- package/dist/collection/utils/i18n.utils.js.map +0 -1
- package/dist/collection/utils/input.utils.js.map +0 -1
- package/dist/collection/utils/search-engine/engine.js.map +0 -1
- package/dist/collection/utils/search-engine/guards.js.map +0 -1
- package/dist/collection/utils/search-engine/index.js.map +0 -1
- package/dist/collection/utils/search-engine/indexer.js.map +0 -1
- package/dist/collection/utils/search-engine/normalize.js.map +0 -1
- package/dist/collection/utils/search-engine/strategies/fuzzy.js.map +0 -1
- package/dist/collection/utils/search-engine/strategies/smart.js.map +0 -1
- package/dist/collection/utils/search-engine/strategies/strict.js.map +0 -1
- package/dist/collection/utils/search-engine/test/engine.test.js.map +0 -1
- package/dist/collection/utils/search-engine/test/guards.test.js.map +0 -1
- package/dist/collection/utils/search-engine/test/indexer.test.js.map +0 -1
- package/dist/collection/utils/search-engine/test/normalize.test.js.map +0 -1
- package/dist/collection/utils/search-engine/test/strategies.test.js.map +0 -1
- package/dist/collection/utils/search-engine/types.js.map +0 -1
- package/dist/collection/utils/search-engine/worker/index.js.map +0 -1
- package/dist/collection/utils/search-engine/worker/search.worker.js.map +0 -1
- package/dist/collection/utils/search-engine/worker/worker-client.js.map +0 -1
- package/dist/collection/utils/string.utils.js.map +0 -1
- package/dist/collection/utils/test/class.utils.test.js.map +0 -1
- package/dist/collection/utils/test/dom.utils.test.js.map +0 -1
- package/dist/collection/utils/test/i18n.utils.test.js.map +0 -1
- package/dist/collection/utils/test/input.utils.test.js.map +0 -1
- package/dist/collection/utils/test/uri.utils.test.js.map +0 -1
- package/dist/collection/utils/uri.utils.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/nv-accordion-item.js.map +0 -1
- package/dist/components/nv-accordion.js.map +0 -1
- package/dist/components/nv-alert.js.map +0 -1
- package/dist/components/nv-avatar.js.map +0 -1
- package/dist/components/nv-badge.js.map +0 -1
- package/dist/components/nv-breadcrumb.js.map +0 -1
- package/dist/components/nv-breadcrumbs.js.map +0 -1
- package/dist/components/nv-button.js.map +0 -1
- package/dist/components/nv-buttongroup.js.map +0 -1
- package/dist/components/nv-calendar.js.map +0 -1
- package/dist/components/nv-col.js.map +0 -1
- package/dist/components/nv-datagrid.js.map +0 -1
- package/dist/components/nv-datagridcolumn.js.map +0 -1
- package/dist/components/nv-dialog.js.map +0 -1
- package/dist/components/nv-dialogfooter.js.map +0 -1
- package/dist/components/nv-dialogheader.js.map +0 -1
- package/dist/components/nv-drawer.js.map +0 -1
- package/dist/components/nv-drawerfooter.js.map +0 -1
- package/dist/components/nv-drawerheader.js.map +0 -1
- package/dist/components/nv-fieldcheckbox.js.map +0 -1
- package/dist/components/nv-fielddate.js.map +0 -1
- package/dist/components/nv-fielddaterange.js.map +0 -1
- package/dist/components/nv-fielddropdown.js.map +0 -1
- package/dist/components/nv-fielddropdownitem.js.map +0 -1
- package/dist/components/nv-fielddropdownitemcheck.js.map +0 -1
- package/dist/components/nv-fieldmultiselect.js.map +0 -1
- package/dist/components/nv-fieldnumber.js.map +0 -1
- package/dist/components/nv-fieldpassword.js.map +0 -1
- package/dist/components/nv-fieldradio.js.map +0 -1
- package/dist/components/nv-fieldselect.js.map +0 -1
- package/dist/components/nv-fieldslider.js.map +0 -1
- package/dist/components/nv-fieldtext.js.map +0 -1
- package/dist/components/nv-fieldtextarea.js.map +0 -1
- package/dist/components/nv-fieldtime.js.map +0 -1
- package/dist/components/nv-icon.js.map +0 -1
- package/dist/components/nv-iconbutton.js.map +0 -1
- package/dist/components/nv-loader.js.map +0 -1
- package/dist/components/nv-menu.js.map +0 -1
- package/dist/components/nv-menuitem.js.map +0 -1
- package/dist/components/nv-notification-bullet.js.map +0 -1
- package/dist/components/nv-notification.js.map +0 -1
- package/dist/components/nv-notificationcontainer.js.map +0 -1
- package/dist/components/nv-popover.js.map +0 -1
- package/dist/components/nv-row.js.map +0 -1
- package/dist/components/nv-sidebar.js.map +0 -1
- package/dist/components/nv-sidebarcontent.js.map +0 -1
- package/dist/components/nv-sidebardivider.js.map +0 -1
- package/dist/components/nv-sidebarfooter.js.map +0 -1
- package/dist/components/nv-sidebargroup.js.map +0 -1
- package/dist/components/nv-sidebarheader.js.map +0 -1
- package/dist/components/nv-sidebarlogo.js.map +0 -1
- package/dist/components/nv-sidebarnavitem.js.map +0 -1
- package/dist/components/nv-sidebarnavsubitem.js.map +0 -1
- package/dist/components/nv-split.js.map +0 -1
- package/dist/components/nv-stack.js.map +0 -1
- package/dist/components/nv-table.js.map +0 -1
- package/dist/components/nv-tableheader.js.map +0 -1
- package/dist/components/nv-toggle.js.map +0 -1
- package/dist/components/nv-togglebutton.js.map +0 -1
- package/dist/components/nv-togglebuttongroup.js.map +0 -1
- package/dist/components/nv-tooltip.js.map +0 -1
- package/dist/components/p-9xYwU7ku.js.map +0 -1
- package/dist/components/p-B45HbBWe.js +0 -191
- package/dist/components/p-B45HbBWe.js.map +0 -1
- package/dist/components/p-B5jN7NKA.js +0 -59
- package/dist/components/p-B5jN7NKA.js.map +0 -1
- package/dist/components/p-B6GgGra-.js.map +0 -1
- package/dist/components/p-B7VlEQVW.js +0 -1475
- package/dist/components/p-B7VlEQVW.js.map +0 -1
- package/dist/components/p-B9i3m6rk.js +0 -1941
- package/dist/components/p-B9i3m6rk.js.map +0 -1
- package/dist/components/p-BILd3Ta-.js +0 -209
- package/dist/components/p-BILd3Ta-.js.map +0 -1
- package/dist/components/p-BISctfud.js +0 -214
- package/dist/components/p-BISctfud.js.map +0 -1
- package/dist/components/p-BReL3Lsa.js.map +0 -1
- package/dist/components/p-BVOv1zgq.js +0 -82
- package/dist/components/p-BVOv1zgq.js.map +0 -1
- package/dist/components/p-BdYh22OP.js.map +0 -1
- package/dist/components/p-Bg_l3jn1.js +0 -191
- package/dist/components/p-Bg_l3jn1.js.map +0 -1
- package/dist/components/p-C2QAWGhf.js +0 -88
- package/dist/components/p-C2QAWGhf.js.map +0 -1
- package/dist/components/p-C63Xpg9a.js +0 -2338
- package/dist/components/p-C63Xpg9a.js.map +0 -1
- package/dist/components/p-COnt5ux_.js +0 -51
- package/dist/components/p-COnt5ux_.js.map +0 -1
- package/dist/components/p-Cc7XnqPp.js +0 -260
- package/dist/components/p-Cc7XnqPp.js.map +0 -1
- package/dist/components/p-CgHCo_Ho.js.map +0 -1
- package/dist/components/p-ChV9xqsO.js.map +0 -1
- package/dist/components/p-CnI0auJM.js.map +0 -1
- package/dist/components/p-D02w_Ru6.js.map +0 -1
- package/dist/components/p-D1C_pu0E.js.map +0 -1
- package/dist/components/p-D2otK4Ce.js.map +0 -1
- package/dist/components/p-D3eWMME9.js.map +0 -1
- package/dist/components/p-D6APFL6N.js +0 -243
- package/dist/components/p-D6APFL6N.js.map +0 -1
- package/dist/components/p-DZJHk4fr.js +0 -3759
- package/dist/components/p-DZJHk4fr.js.map +0 -1
- package/dist/components/p-DiUP3TzF.js +0 -140
- package/dist/components/p-DiUP3TzF.js.map +0 -1
- package/dist/components/p-DpDooigg.js +0 -99
- package/dist/components/p-DpDooigg.js.map +0 -1
- package/dist/components/p-Dr-67WvG.js +0 -94
- package/dist/components/p-Dr-67WvG.js.map +0 -1
- package/dist/components/p-DvapDVBj.js +0 -176
- package/dist/components/p-DvapDVBj.js.map +0 -1
- package/dist/components/p-Dz1GUhVy.js.map +0 -1
- package/dist/components/p-IlwlcG9l.js.map +0 -1
- package/dist/components/p-W6vOfMC9.js +0 -63
- package/dist/components/p-W6vOfMC9.js.map +0 -1
- package/dist/components/p-nfYynlVq.js +0 -90
- package/dist/components/p-nfYynlVq.js.map +0 -1
- package/dist/components/p-tyaJ-nGV.js +0 -97
- package/dist/components/p-tyaJ-nGV.js.map +0 -1
- package/dist/components/p-u-maNLLs.js +0 -145
- package/dist/components/p-u-maNLLs.js.map +0 -1
- package/dist/esm/_commonjsHelpers-B85MJLTf.js.map +0 -1
- package/dist/esm/app-globals-DQuL1Twl.js +0 -6
- package/dist/esm/app-globals-DQuL1Twl.js.map +0 -1
- package/dist/esm/clsx-ChV9xqsO.js.map +0 -1
- package/dist/esm/collapse.animation-DZDm0vSK.js.map +0 -1
- package/dist/esm/constants-BReL3Lsa.js.map +0 -1
- package/dist/esm/events.utils-B6GgGra-.js.map +0 -1
- package/dist/esm/fade.animation-DcRL9lcm.js.map +0 -1
- package/dist/esm/grow.animation-D7ep_aVl.js.map +0 -1
- package/dist/esm/i18n.utils-IlwlcG9l.js +0 -2485
- package/dist/esm/i18n.utils-IlwlcG9l.js.map +0 -1
- package/dist/esm/index-CasQushP.js +0 -2811
- package/dist/esm/index-CasQushP.js.map +0 -1
- package/dist/esm/index.esm-D3eWMME9.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/inputmask-CSo292ul.js.map +0 -1
- package/dist/esm/loader.js.map +0 -1
- package/dist/esm/native.js.map +0 -1
- package/dist/esm/nv-accordion-item.entry.js.map +0 -1
- package/dist/esm/nv-accordion.entry.js.map +0 -1
- package/dist/esm/nv-alert.entry.js.map +0 -1
- package/dist/esm/nv-avatar.entry.js.map +0 -1
- package/dist/esm/nv-badge.nv-fielddropdownitemcheck.entry.js.map +0 -1
- package/dist/esm/nv-breadcrumb.entry.js.map +0 -1
- package/dist/esm/nv-breadcrumbs.entry.js.map +0 -1
- package/dist/esm/nv-button.entry.js.map +0 -1
- package/dist/esm/nv-buttongroup.entry.js.map +0 -1
- package/dist/esm/nv-calendar.entry.js.map +0 -1
- package/dist/esm/nv-col.entry.js.map +0 -1
- package/dist/esm/nv-datagrid.entry.js.map +0 -1
- package/dist/esm/nv-datagridcolumn.entry.js.map +0 -1
- package/dist/esm/nv-dialog.entry.js.map +0 -1
- package/dist/esm/nv-dialogfooter.nv-dialogheader.entry.js.map +0 -1
- package/dist/esm/nv-drawer.entry.js.map +0 -1
- package/dist/esm/nv-drawerfooter.nv-drawerheader.entry.js.map +0 -1
- package/dist/esm/nv-fieldcheckbox.entry.js.map +0 -1
- package/dist/esm/nv-fielddate.entry.js.map +0 -1
- package/dist/esm/nv-fielddaterange.entry.js.map +0 -1
- package/dist/esm/nv-fielddropdown.entry.js.map +0 -1
- package/dist/esm/nv-fielddropdownitem.entry.js.map +0 -1
- package/dist/esm/nv-fieldmultiselect.entry.js.map +0 -1
- package/dist/esm/nv-fieldnumber.entry.js.map +0 -1
- package/dist/esm/nv-fieldpassword.entry.js.map +0 -1
- package/dist/esm/nv-fieldradio.entry.js.map +0 -1
- package/dist/esm/nv-fieldselect.entry.js.map +0 -1
- package/dist/esm/nv-fieldslider.entry.js.map +0 -1
- package/dist/esm/nv-fieldtext.entry.js.map +0 -1
- package/dist/esm/nv-fieldtextarea.entry.js.map +0 -1
- package/dist/esm/nv-fieldtime.entry.js.map +0 -1
- package/dist/esm/nv-icon.entry.js.map +0 -1
- package/dist/esm/nv-iconbutton.nv-loader.entry.js.map +0 -1
- package/dist/esm/nv-menu.entry.js.map +0 -1
- package/dist/esm/nv-menuitem.entry.js.map +0 -1
- package/dist/esm/nv-notification-bullet.entry.js.map +0 -1
- package/dist/esm/nv-notification.entry.js.map +0 -1
- package/dist/esm/nv-notificationcontainer.entry.js.map +0 -1
- package/dist/esm/nv-popover.entry.js.map +0 -1
- package/dist/esm/nv-row.entry.js.map +0 -1
- package/dist/esm/nv-sidebar.entry.js.map +0 -1
- package/dist/esm/nv-sidebarcontent.entry.js.map +0 -1
- package/dist/esm/nv-sidebardivider.entry.js.map +0 -1
- package/dist/esm/nv-sidebarfooter.entry.js.map +0 -1
- package/dist/esm/nv-sidebargroup.entry.js.map +0 -1
- package/dist/esm/nv-sidebarheader.entry.js.map +0 -1
- package/dist/esm/nv-sidebarlogo.entry.js.map +0 -1
- package/dist/esm/nv-sidebarnavitem.entry.js.map +0 -1
- package/dist/esm/nv-sidebarnavsubitem.entry.js.map +0 -1
- package/dist/esm/nv-split.entry.js.map +0 -1
- package/dist/esm/nv-stack.entry.js.map +0 -1
- package/dist/esm/nv-table.entry.js.map +0 -1
- package/dist/esm/nv-tableheader.entry.js.map +0 -1
- package/dist/esm/nv-toggle.entry.js.map +0 -1
- package/dist/esm/nv-togglebutton.entry.js.map +0 -1
- package/dist/esm/nv-togglebuttongroup.entry.js.map +0 -1
- package/dist/esm/nv-tooltip.entry.js.map +0 -1
- package/dist/esm/slide.animation-CmH5d1of.js.map +0 -1
- package/dist/esm/style-value-types.es-xlgmw4x8.js.map +0 -1
- package/dist/esm/timeline.animation-CgHCo_Ho.js.map +0 -1
- package/dist/esm/uri.utils-CnI0auJM.js.map +0 -1
- package/dist/esm/v4-BdYh22OP.js.map +0 -1
- package/dist/lib/generators/angular-output.js.map +0 -1
- package/dist/lib/generators/docs-blazor.js.map +0 -1
- package/dist/lib/generators/vue-output.js.map +0 -1
- package/dist/lib/utils/componentBinding.js.map +0 -1
- package/dist/lib/utils/parseToCSharpTypes.js.map +0 -1
- package/dist/lib/utils/spread.js.map +0 -1
- package/dist/lib/utils/test/parseToCSharpTypes.test.js.map +0 -1
- package/dist/native/index.esm.js.map +0 -1
- package/dist/native/loader.esm.js.map +0 -1
- package/dist/native/native.esm.js.map +0 -1
- package/dist/native/nv-accordion-item.entry.esm.js.map +0 -1
- package/dist/native/nv-accordion.entry.esm.js.map +0 -1
- package/dist/native/nv-alert.entry.esm.js.map +0 -1
- package/dist/native/nv-avatar.entry.esm.js.map +0 -1
- package/dist/native/nv-badge.nv-fielddropdownitemcheck.entry.esm.js.map +0 -1
- package/dist/native/nv-breadcrumb.entry.esm.js.map +0 -1
- package/dist/native/nv-breadcrumbs.entry.esm.js.map +0 -1
- package/dist/native/nv-button.entry.esm.js.map +0 -1
- package/dist/native/nv-buttongroup.entry.esm.js.map +0 -1
- package/dist/native/nv-calendar.entry.esm.js.map +0 -1
- package/dist/native/nv-col.entry.esm.js.map +0 -1
- package/dist/native/nv-datagrid.entry.esm.js.map +0 -1
- package/dist/native/nv-datagridcolumn.entry.esm.js.map +0 -1
- package/dist/native/nv-dialog.entry.esm.js.map +0 -1
- package/dist/native/nv-dialogfooter.nv-dialogheader.entry.esm.js.map +0 -1
- package/dist/native/nv-drawer.entry.esm.js.map +0 -1
- package/dist/native/nv-drawerfooter.nv-drawerheader.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldcheckbox.entry.esm.js.map +0 -1
- package/dist/native/nv-fielddate.entry.esm.js.map +0 -1
- package/dist/native/nv-fielddaterange.entry.esm.js.map +0 -1
- package/dist/native/nv-fielddropdown.entry.esm.js.map +0 -1
- package/dist/native/nv-fielddropdownitem.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldmultiselect.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldnumber.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldpassword.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldradio.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldselect.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldslider.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldtext.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldtextarea.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldtime.entry.esm.js.map +0 -1
- package/dist/native/nv-icon.entry.esm.js.map +0 -1
- package/dist/native/nv-iconbutton.nv-loader.entry.esm.js.map +0 -1
- package/dist/native/nv-menu.entry.esm.js.map +0 -1
- package/dist/native/nv-menuitem.entry.esm.js.map +0 -1
- package/dist/native/nv-notification-bullet.entry.esm.js.map +0 -1
- package/dist/native/nv-notification.entry.esm.js.map +0 -1
- package/dist/native/nv-notificationcontainer.entry.esm.js.map +0 -1
- package/dist/native/nv-popover.entry.esm.js.map +0 -1
- package/dist/native/nv-row.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebar.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebarcontent.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebardivider.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebarfooter.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebargroup.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebarheader.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebarlogo.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebarnavitem.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebarnavsubitem.entry.esm.js.map +0 -1
- package/dist/native/nv-split.entry.esm.js.map +0 -1
- package/dist/native/nv-stack.entry.esm.js.map +0 -1
- package/dist/native/nv-table.entry.esm.js.map +0 -1
- package/dist/native/nv-tableheader.entry.esm.js.map +0 -1
- package/dist/native/nv-toggle.entry.esm.js.map +0 -1
- package/dist/native/nv-togglebutton.entry.esm.js.map +0 -1
- package/dist/native/nv-togglebuttongroup.entry.esm.js.map +0 -1
- package/dist/native/nv-tooltip.entry.esm.js.map +0 -1
- package/dist/native/p-02e6228a.entry.js +0 -2
- package/dist/native/p-02e6228a.entry.js.map +0 -1
- package/dist/native/p-04a2fe7f.entry.js +0 -2
- package/dist/native/p-04a2fe7f.entry.js.map +0 -1
- package/dist/native/p-08204da4.entry.js +0 -2
- package/dist/native/p-08204da4.entry.js.map +0 -1
- package/dist/native/p-0e07b91b.entry.js +0 -2
- package/dist/native/p-0e07b91b.entry.js.map +0 -1
- package/dist/native/p-136dfb3e.entry.js +0 -2
- package/dist/native/p-136dfb3e.entry.js.map +0 -1
- package/dist/native/p-13YSIyGW.js.map +0 -1
- package/dist/native/p-1f2dd37f.entry.js +0 -2
- package/dist/native/p-1f2dd37f.entry.js.map +0 -1
- package/dist/native/p-255a0482.entry.js +0 -2
- package/dist/native/p-255a0482.entry.js.map +0 -1
- package/dist/native/p-3305a7e6.entry.js +0 -2
- package/dist/native/p-3305a7e6.entry.js.map +0 -1
- package/dist/native/p-36b0a6f0.entry.js +0 -2
- package/dist/native/p-36b0a6f0.entry.js.map +0 -1
- package/dist/native/p-434bc910.entry.js +0 -2
- package/dist/native/p-434bc910.entry.js.map +0 -1
- package/dist/native/p-436029a5.entry.js +0 -2
- package/dist/native/p-436029a5.entry.js.map +0 -1
- package/dist/native/p-460fdf02.entry.js +0 -2
- package/dist/native/p-460fdf02.entry.js.map +0 -1
- package/dist/native/p-477e02cf.entry.js +0 -2
- package/dist/native/p-477e02cf.entry.js.map +0 -1
- package/dist/native/p-4efb582b.entry.js +0 -2
- package/dist/native/p-4efb582b.entry.js.map +0 -1
- package/dist/native/p-4f1dfa32.entry.js +0 -2
- package/dist/native/p-4f1dfa32.entry.js.map +0 -1
- package/dist/native/p-50ce41ac.entry.js +0 -2
- package/dist/native/p-50ce41ac.entry.js.map +0 -1
- package/dist/native/p-51b7de55.entry.js +0 -13
- package/dist/native/p-51b7de55.entry.js.map +0 -1
- package/dist/native/p-5dd120dc.entry.js +0 -2
- package/dist/native/p-5dd120dc.entry.js.map +0 -1
- package/dist/native/p-60bb0d48.entry.js +0 -2
- package/dist/native/p-60bb0d48.entry.js.map +0 -1
- package/dist/native/p-67181258.entry.js +0 -2
- package/dist/native/p-67181258.entry.js.map +0 -1
- package/dist/native/p-6a81884b.entry.js +0 -2
- package/dist/native/p-6a81884b.entry.js.map +0 -1
- package/dist/native/p-6aa483de.entry.js +0 -2
- package/dist/native/p-6aa483de.entry.js.map +0 -1
- package/dist/native/p-6fc79712.entry.js +0 -2
- package/dist/native/p-6fc79712.entry.js.map +0 -1
- package/dist/native/p-70e9e067.entry.js +0 -2
- package/dist/native/p-70e9e067.entry.js.map +0 -1
- package/dist/native/p-729589cb.entry.js +0 -2
- package/dist/native/p-729589cb.entry.js.map +0 -1
- package/dist/native/p-78bf7650.entry.js +0 -2
- package/dist/native/p-78bf7650.entry.js.map +0 -1
- package/dist/native/p-7e6e9ea2.entry.js +0 -2
- package/dist/native/p-7e6e9ea2.entry.js.map +0 -1
- package/dist/native/p-8f1cd9e2.entry.js +0 -2
- package/dist/native/p-8f1cd9e2.entry.js.map +0 -1
- package/dist/native/p-910cd685.entry.js +0 -2
- package/dist/native/p-910cd685.entry.js.map +0 -1
- package/dist/native/p-91eaf02e.entry.js +0 -2
- package/dist/native/p-91eaf02e.entry.js.map +0 -1
- package/dist/native/p-93b77ed4.entry.js +0 -2
- package/dist/native/p-93b77ed4.entry.js.map +0 -1
- package/dist/native/p-93e35975.entry.js +0 -2
- package/dist/native/p-93e35975.entry.js.map +0 -1
- package/dist/native/p-96c45604.entry.js +0 -2
- package/dist/native/p-96c45604.entry.js.map +0 -1
- package/dist/native/p-9b6ad782.entry.js +0 -2
- package/dist/native/p-9b6ad782.entry.js.map +0 -1
- package/dist/native/p-9f32c3ea.entry.js +0 -2
- package/dist/native/p-9f32c3ea.entry.js.map +0 -1
- package/dist/native/p-B6GgGra-.js.map +0 -1
- package/dist/native/p-B85MJLTf.js.map +0 -1
- package/dist/native/p-BReL3Lsa.js.map +0 -1
- package/dist/native/p-BdYh22OP.js.map +0 -1
- package/dist/native/p-Blc6XEY7.js.map +0 -1
- package/dist/native/p-CasQushP.js +0 -3
- package/dist/native/p-CasQushP.js.map +0 -1
- package/dist/native/p-CgHCo_Ho.js.map +0 -1
- package/dist/native/p-ChV9xqsO.js.map +0 -1
- package/dist/native/p-CnI0auJM.js.map +0 -1
- package/dist/native/p-D3eWMME9.js.map +0 -1
- package/dist/native/p-DQuL1Twl.js +0 -2
- package/dist/native/p-DQuL1Twl.js.map +0 -1
- package/dist/native/p-DmUOtOcY.js.map +0 -1
- package/dist/native/p-Hfc8Oh0x.js.map +0 -1
- package/dist/native/p-IlwlcG9l.js +0 -2
- package/dist/native/p-IlwlcG9l.js.map +0 -1
- package/dist/native/p-a6fea322.entry.js +0 -2
- package/dist/native/p-a6fea322.entry.js.map +0 -1
- package/dist/native/p-ae279ae9.entry.js +0 -2
- package/dist/native/p-ae279ae9.entry.js.map +0 -1
- package/dist/native/p-b7765048.entry.js +0 -2
- package/dist/native/p-b7765048.entry.js.map +0 -1
- package/dist/native/p-ba1286aa.entry.js +0 -2
- package/dist/native/p-ba1286aa.entry.js.map +0 -1
- package/dist/native/p-bb52a5a9.entry.js +0 -2
- package/dist/native/p-bb52a5a9.entry.js.map +0 -1
- package/dist/native/p-bc90247e.entry.js +0 -2
- package/dist/native/p-bc90247e.entry.js.map +0 -1
- package/dist/native/p-c2a73a5a.entry.js +0 -2
- package/dist/native/p-c2a73a5a.entry.js.map +0 -1
- package/dist/native/p-c4c11549.entry.js +0 -2
- package/dist/native/p-c4c11549.entry.js.map +0 -1
- package/dist/native/p-c5ecdc49.entry.js +0 -2
- package/dist/native/p-c5ecdc49.entry.js.map +0 -1
- package/dist/native/p-cb1b9edb.entry.js +0 -2
- package/dist/native/p-cb1b9edb.entry.js.map +0 -1
- package/dist/native/p-cdaf54b0.entry.js +0 -2
- package/dist/native/p-cdaf54b0.entry.js.map +0 -1
- package/dist/native/p-ceb8fe8a.entry.js +0 -2
- package/dist/native/p-ceb8fe8a.entry.js.map +0 -1
- package/dist/native/p-daf7541b.entry.js +0 -2
- package/dist/native/p-daf7541b.entry.js.map +0 -1
- package/dist/native/p-de4f53a5.entry.js +0 -2
- package/dist/native/p-de4f53a5.entry.js.map +0 -1
- package/dist/native/p-ded4be77.entry.js +0 -2
- package/dist/native/p-ded4be77.entry.js.map +0 -1
- package/dist/native/p-e1fc5f8c.entry.js +0 -2
- package/dist/native/p-e1fc5f8c.entry.js.map +0 -1
- package/dist/native/p-e6c69f7d.entry.js +0 -2
- package/dist/native/p-e6c69f7d.entry.js.map +0 -1
- package/dist/native/p-e83603f1.entry.js +0 -2
- package/dist/native/p-e83603f1.entry.js.map +0 -1
- package/dist/native/p-ec217581.entry.js +0 -2
- package/dist/native/p-ec217581.entry.js.map +0 -1
- package/dist/native/p-ee694832.entry.js +0 -2
- package/dist/native/p-ee694832.entry.js.map +0 -1
- package/dist/native/p-f39aef8e.entry.js +0 -2
- package/dist/native/p-f39aef8e.entry.js.map +0 -1
- package/dist/native/p-f7e0146e.entry.js +0 -2
- package/dist/native/p-f7e0146e.entry.js.map +0 -1
- package/dist/native/p-sqVK8yoD.js.map +0 -1
- package/dist/native/p-xlgmw4x8.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-toggle.js","sourceRoot":"","sources":["../../../../src/components/nv-toggle/nv-toggle.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Watch,\n Event,\n EventEmitter,\n Listen,\n} from '@stencil/core';\nimport clsx from 'clsx';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { type LabelPlacement } from '../../utils/constants';\n\n/**\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n */\n@Component({\n tag: 'nv-toggle',\n styleUrl: 'nv-toggle.scss',\n shadow: false,\n formAssociated: true,\n})\nexport class NvToggle {\n @Element() el!: HTMLNvToggleElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the radio button’s input element and the for attribute of\n * the associated label. If no ID is provided, a random one will be\n * automatically generated to ensure unique identification, facilitating\n * proper label association and accessibility.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * The name attribute for the toggle input, used to reference the form data\n * after submission.\n */\n @Prop({ reflect: true })\n readonly name?: string;\n\n /**\n * The value attribute of the toggle input, representing the value sent on\n * form submission when the toggle is checked.\n */\n @Prop({ reflect: true })\n readonly value?: string;\n\n /** The label displayed next to the toggle.*/\n @Prop({ reflect: true })\n readonly label?: string;\n\n /**\n * Determines the position of the label relative to the toggle, either\n * 'start' (before) or 'end' (after).\n */\n @Prop({ reflect: true })\n readonly labelPlacement: `${LabelPlacement}`;\n\n /**\n * Hides the label visually while still keeping it available for screen\n * readers.\n */\n @Prop({ reflect: true })\n readonly hideLabel: boolean = false;\n\n /**\n * A description providing additional context or information about the\n * toggle.\n */\n @Prop({ reflect: true })\n readonly description?: string;\n\n /** Indicates whether the toggle is checked or not. */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /** Disables the toggle, preventing user interaction. */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Sets the toggle to read-only, preventing user changes but still allowing\n * focus and selection of text.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emits when the checked state changes.\n * @bind checked\n */\n @Event({ bubbles: false })\n checkedChanged: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Watches for changes to the checked state and emits the new value.\n * @param {boolean} checked - The new value of the checked state.\n */\n @Watch('checked')\n onCheckedChanged(checked: boolean) {\n this.checkedChanged.emit(checked);\n }\n\n /**\n * Listens for the change event on the toggle input element and updates the checked state.\n * the checked state of the host elements.\n * @param {Event} event - The change event.\n */\n @Listen('change')\n handleChange(event: Event) {\n const target = event.target as HTMLInputElement;\n\n if (target.type === 'checkbox' && target.id === this.inputId) {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n\n this.checked = target.checked;\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(\n this.labelPlacement === 'before' && 'label-placement-before',\n )}\n >\n <div class=\"input-container\">\n <input\n type=\"checkbox\"\n id={this.inputId}\n name={this.name}\n autocomplete=\"off\"\n value={this.value}\n checked={Boolean(this.checked)}\n disabled={this.disabled || this.readonly}\n readonly={this.readonly}\n />\n </div>\n\n <div class=\"text-container\">\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label\n htmlFor={this.inputId}\n class={clsx(this.hideLabel && 'visually-hidden')}\n >\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n </div>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-togglebutton.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-togglebutton/nv-togglebutton.docs.tsx"],"names":[],"mappings":"AAGA,MAAM,kBAAkB,GAAwC;IAC9D,SAAS,EAAE,iBAAiB;IAC5B,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvTogglebuttonDocs: NovaDocs<Components.NvTogglebutton> = {\n component: 'nv-togglebutton',\n skip: true,\n};\n\nexport default NvTogglebuttonDocs;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-togglebutton.js","sourceRoot":"","sources":["../../../../src/components/nv-togglebutton/nv-togglebutton.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,GAEP,MAAM,eAAe,CAAC;AAGvB;;GAEG;AAMH,MAAM,OAAO,cAAc;IAL3B;QAQE,8EAA8E;QAC9E,oBAAoB;QAEpB;;;;WAIG;QAEM,SAAI,GAA0B,IAAI,CAAC;QAS5C;;WAEG;QAEM,aAAQ,GAAY,KAAK,CAAC;QAEnC;;;WAGG;QAEM,WAAM,GAAY,KAAK,CAAC;QAEjC;;WAEG;QAEM,aAAQ,GAA8B,MAAM,CAAC;QAEtD,uBAAuB;QACvB,8EAA8E;QAC9E,iBAAiB;QAET,gBAAW,GAAG,GAAG,EAAE;YACzB,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAE1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC,CAAC;KAgDH;IA9CC,oBAAoB;IACpB,8EAA8E;IAC9E,mBAAmB;IAGnB,aAAa,CAAC,KAAoB;QAChC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YAC/C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAkBD,uCAAuC;IAEvC,mBAAmB;IACnB,8EAA8E;IAC9E,gBAAgB;IAChB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAC,GAAG,kBACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EACjC,OAAO,EAAE,IAAI,CAAC,WAAW;YAEzB,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEF","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n Listen,\n EventEmitter,\n} from '@stencil/core';\nimport { ToggleButtonEmphasis, ToggleButtonSize } from '../../utils/constants';\n\n/**\n * @slot default - Child content of the toggle button.\n */\n@Component({\n tag: 'nv-togglebutton',\n styleUrl: 'styles/nv-togglebutton.scss',\n shadow: false,\n})\nexport class NvTogglebutton {\n @Element() el: HTMLNvTogglebuttonElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Determines how large or small the togglebutton appears, allowing for\n * customization of the togglebutton's dimensions to fit different design\n * specifications and user needs.\n */\n @Prop({ reflect: true })\n readonly size: `${ToggleButtonSize}` = 'md';\n\n /**\n * The value to associated with the button when selected in a\n * Togglebuttongroup.\n */\n @Prop({ reflect: true })\n readonly value: string;\n\n /**\n * Prevents all interaction, rendering the toggle in a non-interactive state.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Whether the button is active or not. Will not toggle automatically but\n * needs to be controlled externally.\n */\n @Prop({ reflect: true })\n readonly active: boolean = false;\n\n /**\n * Make it more or less visually prominent to users.\n */\n @Prop({ reflect: true })\n readonly emphasis: `${ToggleButtonEmphasis}` = 'high';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n private handleClick = () => {\n if (this.disabled) return;\n\n this.toggled.emit({\n value: this.value,\n active: this.active,\n });\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LISTENERS\n\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.el.click();\n }\n }\n\n //#endregion LISTENERS\n /****************************************************************************/\n //#region EVENTS\n\n /* eslint-disable nova/event-bubbling */\n /**\n * Emitted when the button is toggled. Will bubble up so that the\n * nv-togglebuttongroup can update the state.\n */\n @Event({ eventName: 'toggled', bubbles: true })\n toggled: EventEmitter<{\n /** The value associated with the button. */\n value: string;\n /** If the button is active when clicked. */\n active: boolean;\n }>;\n /* eslint-enable nova/event-bubbling */\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n render() {\n return (\n <Host\n role=\"button\"\n tabindex=\"0\"\n aria-pressed={String(this.active)}\n onClick={this.handleClick}\n >\n <slot></slot>\n </Host>\n );\n }\n // #endregion RENDER\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-togglebuttongroup.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvTogglebuttongroupDocs: NovaDocs<Components.NvTogglebuttongroup> = {\n component: 'nv-togglebuttongroup',\n composedComponents: ['nv-togglebutton'],\n subcomponents: ['nv-togglebutton', 'nv-icon'],\n badge: 'new',\n stories: [\n // Default\n {\n name: 'Default',\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n // value\n {\n name: nameof<Components.NvTogglebuttongroup>(x => x.value),\n args: {\n value: ['left', 'center'],\n size: 'md',\n },\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n // exclusive\n {\n name: nameof<Components.NvTogglebuttongroup>(x => x.exclusive),\n args: {\n exclusive: true,\n },\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"android\">Android</nv-togglebutton>\n <nv-togglebutton value=\"ios\">iOS</nv-togglebutton>\n <nv-togglebutton value=\"win\">Windows</nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n // enforceValue\n {\n name: nameof<Components.NvTogglebuttongroup>(x => x.enforceValue),\n args: {\n enforceValue: true,\n value: ['ios', 'win'],\n },\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"android\">Android</nv-togglebutton>\n <nv-togglebutton value=\"ios\">iOS</nv-togglebutton>\n <nv-togglebutton value=\"win\">Windows</nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n // emphasis\n {\n name: nameof<Components.NvTogglebuttongroup>(x => x.emphasis),\n template: (\n <div data-class=\"flex flex-col gap-4\">\n <nv-togglebuttongroup data-storybook-args emphasis=\"low\">\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n <nv-togglebuttongroup data-storybook-args emphasis=\"high\">\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n </div>\n ),\n },\n // size\n {\n name: nameof<Components.NvTogglebuttongroup>(x => x.size),\n template: (\n <div data-class=\"flex flex-col gap-4\">\n <nv-togglebuttongroup data-storybook-args size=\"xs\">\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n <nv-togglebuttongroup data-storybook-args size=\"sm\">\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n <nv-togglebuttongroup data-storybook-args size=\"lg\">\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n </div>\n ),\n },\n // EnforceValueWithExclusive\n {\n name: 'EnforceValueWithExclusive',\n args: {\n enforceValue: true,\n exclusive: true,\n value: ['ios'],\n },\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"android\">Android</nv-togglebutton>\n <nv-togglebutton value=\"ios\">iOS</nv-togglebutton>\n <nv-togglebutton value=\"win\">Windows</nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n // SlotDefault\n {\n name: 'SlotDefault',\n description: 'Default slot for nv-togglebutton elements.',\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n ],\n};\n\nexport default NvTogglebuttongroupDocs;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-togglebuttongroup.js","sourceRoot":"","sources":["../../../../src/components/nv-togglebuttongroup/nv-togglebuttongroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,MAAM,EACN,KAAK,EACL,OAAO,EACP,KAAK,GAEN,MAAM,eAAe,CAAC;AAGvB;;GAEG;AAMH,MAAM,OAAO,mBAAmB;IALhC;QAmBE;;WAEG;QAEM,cAAS,GAAY,KAAK,CAAC;QAEpC;;WAEG;QAEM,iBAAY,GAAY,KAAK,CAAC;QAEvC;;WAEG;QAEM,aAAQ,GAA8B,MAAM,CAAC;QAEtD;;;;WAIG;QAEM,SAAI,GAA0B,IAAI,CAAC;QAE5C,uBAAuB;QACvB,8EAA8E;QAC9E,iBAAiB;QAEjB;;;WAGG;QACK,2BAAsB,GAAG,GAAG,EAAE;YACpC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;gBACnE,MAAM,GAAG,GAAG,mBAAmB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBAC/D,IAAI,CAAC,GAAG;oBAAE,OAAO;gBACjB,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF;;WAEG;QACK,6BAAwB,GAAG,GAAG,EAAE;YACtC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;gBACnE,MAAM,GAAG,GAAG,mBAAmB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBAC/D,IAAI,CAAC,GAAG;oBAAE,OAAO;gBACjB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF;;WAEG;QACK,yBAAoB,GAAG,GAAG,EAAE;YAClC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;gBACnE,MAAM,GAAG,GAAG,mBAAmB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBAC/D,IAAI,CAAC,GAAG;oBAAE,OAAO;gBACjB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF;;WAEG;QACK,0BAAqB,GAAG,GAAS,EAAE;YACzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE;gBACvD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC3B,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpE,IAAI,CAAC,wBAAwB,EAAE,CAAC;wBAChC,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC9B,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;gBACrC,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC,CAAC;KAyJH;IAvJC;;;;;;;;;OASG;IACK,MAAM,CAAC,cAAc,CAAC,OAAgB;QAwB5C,OAAO,OAAO,YAAY,WAAW;YACnC,CAAC,CAAE,OAqBC;YACJ,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,oBAAoB;IACpB,8EAA8E;IAC9E,kBAAkB;IAGlB,cAAc,CAAC,QAA2B;QACxC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAGD,iBAAiB;QACf,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAGD,aAAa;QACX,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,+CAA+C;IAE/C,SAAS,CAAC,KAAgE;QACxE,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;gBAAE,MAAM,MAAM,CAAC;YAC3D,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC7B,CAAC;IACD,8CAA8C;IAE9C,qBAAqB;IACrB,8EAA8E;IAC9E,mBAAmB;IAEnB,iBAAiB;QACf,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAaD,mBAAmB;IACnB,8EAA8E;IAC9E,gBAAgB;IAEhB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGF","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Listen,\n Watch,\n Element,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { ToggleButtonEmphasis, ToggleButtonSize } from '../../utils/constants';\n\n/**\n * @slot default - Child content of the component, pass the nv-togglebutton components here.\n */\n@Component({\n tag: 'nv-togglebuttongroup',\n styleUrl: 'styles/nv-togglebuttongroup.scss',\n shadow: false,\n})\nexport class NvTogglebuttongroup {\n @Element() el!: HTMLNvTogglebuttongroupElement;\n private mutationObserver: MutationObserver;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The active toggle buttons in the group. Is an array of one string when in\n * exclusive mode, and an array of strings when in non-exclusive mode.\n */\n @Prop({ reflect: false, mutable: true })\n value: string[];\n\n /**\n * Activates single-selection mode so only one button can be active at a time.\n */\n @Prop({ reflect: true })\n readonly exclusive: boolean = false;\n\n /**\n * Ensures at least one toggle stays selected at all times.\n */\n @Prop({ reflect: true })\n readonly enforceValue: boolean = false;\n\n /**\n * Make it more or less visually prominent to users.\n */\n @Prop({ reflect: true })\n readonly emphasis: `${ToggleButtonEmphasis}` = 'high';\n\n /**\n * Determines how large or small the togglebutton appears, allowing for\n * customization of the togglebutton's dimensions to fit different design\n * specifications and user needs.\n */\n @Prop({ reflect: true })\n readonly size: `${ToggleButtonSize}` = 'md';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Sets the active state of all toggle buttons depending on the value of the\n * group.\n */\n private setActiveToggleButtons = () => {\n this.el.querySelectorAll('nv-togglebutton').forEach(toggleButtonEl => {\n const btn = NvTogglebuttongroup.asToggleButton(toggleButtonEl);\n if (!btn) return;\n btn.active = (this.value ?? []).includes(btn.value);\n });\n };\n\n /**\n * Sets the emphasis of all toggle buttons to the same value.\n */\n private setEmphasisToggleButtons = () => {\n this.el.querySelectorAll('nv-togglebutton').forEach(toggleButtonEl => {\n const btn = NvTogglebuttongroup.asToggleButton(toggleButtonEl);\n if (!btn) return;\n btn.emphasis = this.emphasis;\n });\n };\n\n /**\n * Sets the size of all toggle buttons to the same value.\n */\n private setSizeToggleButtons = () => {\n this.el.querySelectorAll('nv-togglebutton').forEach(toggleButtonEl => {\n const btn = NvTogglebuttongroup.asToggleButton(toggleButtonEl);\n if (!btn) return;\n btn.size = this.size;\n });\n };\n\n /**\n * Sets up the MutationObserver to watch for changes in child elements\n */\n private setupMutationObserver = (): void => {\n this.mutationObserver = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {\n this.setEmphasisToggleButtons();\n this.setSizeToggleButtons();\n }\n });\n });\n\n this.mutationObserver.observe(this.el, {\n childList: true,\n subtree: true,\n });\n };\n\n /**\n * Narrow Type used locally to interact with nv-togglebutton child elements.\n * @param {Element} element - The element to check.\n * @returns {(HTMLElement & {\n * active: boolean;\n * value: string;\n * emphasis: `${ToggleButtonEmphasis}`;\n * size: `${ToggleButtonSize}`;\n * }) | null} The element as a toggle button, or null if it is not a toggle button.\n */\n private static asToggleButton(element: Element):\n | (HTMLElement & {\n /**\n * Whether the button is active or not. Will not toggle automatically but\n * needs to be controlled externally.\n */\n active: boolean;\n /**\n * The value to associated with the button when selected in a\n * Togglebuttongroup.\n */\n value: string;\n /**\n * Make it more or less visually prominent to users.\n */\n emphasis: `${ToggleButtonEmphasis}`;\n /**\n * Determines how large or small the togglebutton appears, allowing for\n * customization of the togglebutton's dimensions to fit different design\n * specifications and user needs.\n */\n size: `${ToggleButtonSize}`;\n })\n | null {\n return element instanceof HTMLElement\n ? (element as unknown as HTMLElement & {\n /**\n * Whether the button is active or not. Will not toggle automatically but\n * needs to be controlled externally.\n */\n active: boolean;\n /**\n * The value to associated with the button when selected in a\n * Togglebuttongroup.\n */\n value: string;\n /**\n * Make it more or less visually prominent to users.\n */\n emphasis: `${ToggleButtonEmphasis}`;\n /**\n * Determines how large or small the togglebutton appears, allowing for\n * customization of the togglebutton's dimensions to fit different design\n * specifications and user needs.\n */\n size: `${ToggleButtonSize}`;\n })\n : null;\n }\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('value')\n onValueChanged(newValue: typeof this.value) {\n this.setActiveToggleButtons();\n this.valueChanged.emit(newValue);\n }\n\n @Watch('emphasis')\n onEmphasisChanged() {\n this.setEmphasisToggleButtons();\n }\n\n @Watch('size')\n onSizeChanged() {\n this.setSizeToggleButtons();\n }\n\n /* eslint-disable nova/native-event-listener */\n @Listen('toggled')\n onToggled(event: CustomEvent<HTMLNvTogglebuttonElementEventMap['toggled']>) {\n event.stopPropagation();\n\n const valueSet = new Set(this.value);\n\n if (this.exclusive && this.enforceValue) {\n this.value = [event.detail.value];\n return;\n }\n\n if (this.exclusive) {\n if (valueSet.has(event.detail.value)) {\n this.value = [];\n } else {\n this.value = [event.detail.value];\n }\n return;\n }\n\n toggle: if (event.detail.active) {\n if (this.enforceValue && valueSet.size === 1) break toggle;\n valueSet.delete(event.detail.value);\n } else {\n valueSet.add(event.detail.value);\n }\n this.value = [...valueSet];\n }\n /* eslint-enable nova/native-event-listener */\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.setActiveToggleButtons();\n this.setEmphasisToggleButtons();\n this.setSizeToggleButtons();\n this.setupMutationObserver();\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the selected toggle buttons change.\n * @bind value\n */\n @Event({ bubbles: false })\n valueChanged: EventEmitter<string[]>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n\n // #endregion RENDER\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-tooltip.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-tooltip/nv-tooltip.docs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvTooltipDocs: NovaDocs<Components.NvTooltip> = {\n component: 'nv-tooltip',\n subcomponents: ['nv-button'],\n stories: [\n // Default\n {\n name: 'Default',\n args: { message: 'This is a tooltip.' },\n template: (\n <nv-tooltip data-storybook-args data-class=\"py-6\">\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n ),\n },\n // message\n {\n name: nameof<Components.NvTooltip>(x => x.message),\n args: { message: 'This is a tooltip. You can focus or hover' },\n template: (\n <nv-tooltip data-storybook-args data-class=\"py-6\">\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n ),\n },\n // placement\n {\n name: nameof<Components.NvTooltip>(x => x.placement),\n args: { message: 'Place Me!' },\n template: (\n <div data-class=\"flex py-6 gap-4\">\n <nv-tooltip data-storybook-args placement=\"bottom\">\n <nv-button>Bottom</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args placement=\"left\">\n <nv-button>Left</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args placement=\"right\">\n <nv-button>Right</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args placement=\"top\">\n <nv-button>Top</nv-button>\n </nv-tooltip>\n </div>\n ),\n },\n // enterDelay\n {\n name: nameof<Components.NvTooltip>(x => x.enterDelay),\n args: { enterDelay: 500, message: 'Delayed!' },\n template: (\n <div data-class=\"flex py-6 gap-4\">\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n </div>\n ),\n },\n // strategy\n {\n name: nameof<Components.NvTooltip>(x => x.strategy),\n args: { message: 'Strategy demo!' },\n template: (\n <div data-class=\"flex gap-8 items-start py-6\">\n <div data-class=\"relative\">\n <h4 data-class=\"mb-2 text-sm font-medium\">\n Absolute Strategy (Default)\n </h4>\n <div data-class=\"w-48 h-32 overflow-hidden border border-gray-300 rounded p-4\">\n <p data-class=\"mb-2 text-xs\">\n Scroll container with overflow hidden\n </p>\n <nv-tooltip\n data-storybook-args\n strategy=\"absolute\"\n placement=\"right\"\n >\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n </div>\n </div>\n <div data-class=\"relative\">\n <h4 data-class=\"mb-2 text-sm font-medium\">Fixed Strategy</h4>\n <div data-class=\"w-48 h-32 overflow-hidden border border-gray-300 rounded p-4\">\n <p data-class=\"mb-2 text-xs\">\n Scroll container with overflow hidden\n </p>\n <nv-tooltip\n data-storybook-args\n strategy=\"fixed\"\n placement=\"right\"\n >\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n </div>\n </div>\n </div>\n ),\n },\n // triggerElement\n {\n name: nameof<Components.NvTooltip>(x => x.triggerElement),\n description:\n 'Internal property - accepts a reference to the DOM element acting as the popover trigger. Use the default slot instead.',\n args: { message: 'This uses internal triggerElement property.' },\n template: (\n <nv-tooltip data-storybook-args data-class=\"py-6\">\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n ),\n },\n // MultipleTooltips\n {\n name: 'MultipleTooltips',\n description:\n 'Tooltips will automatically be grouped together, preventing animation overlap.',\n args: {\n message: 'We are in a group. Try to switch between them fast.',\n },\n template: (\n <div data-class=\"py-6 flex gap-4\">\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n </div>\n ),\n },\n // SlotDefault\n {\n name: 'SlotDefault',\n description: 'Content to be placed as the trigger.',\n args: { message: 'Tooltip with slot content as trigger.' },\n template: (\n <nv-tooltip data-storybook-args data-class=\"py-6\">\n <nv-button>Hover Me (Default Slot)</nv-button>\n </nv-tooltip>\n ),\n },\n // SlotContent\n {\n name: 'SlotContent',\n description:\n 'Custom HTML content to be placed within the tooltip, rendered under the message.',\n args: { message: 'Main message' },\n template: (\n <nv-tooltip data-storybook-args data-class=\"py-6\">\n <nv-button>Hover Me</nv-button>\n <div slot=\"content\" data-class=\"mt-2 text-sm\">\n <strong>Custom content:</strong> You can add any HTML here.\n </div>\n </nv-tooltip>\n ),\n },\n ],\n};\n\nexport default NvTooltipDocs;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-tooltip.js","sourceRoot":"","sources":["../../../../src/components/nv-tooltip/nv-tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,OAAO,EACP,IAAI,EACJ,KAAK,GAEN,MAAM,eAAe,CAAC;AAGvB;;;GAGG;AAMH,MAAM,OAAO,SAAS;IALtB;QA2BE;;;;WAIG;QAEM,cAAS,GAAc,QAAQ,CAAC;QAEzC;;;;WAIG;QAEM,eAAU,GAAW,CAAC,CAAC;QAEhC;;;;;;;WAOG;QAEM,aAAQ,GAAa,UAAU,CAAC;KAmD1C;IAtCC,mBAAmB;IACnB,8EAA8E;IAC9E,mBAAmB;IAEnB,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,cAAc;YACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC9D,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;YAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,sBAAsB;IACtB,8EAA8E;IAC9E,gBAAgB;IAEhB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,8DAAa;YAEb,mEACE,WAAW,EAAC,OAAO,EACnB,QAAQ,QACR,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;gBAEnD,0DAAG,IAAI,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAK;gBACpC,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACjB,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGF","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport type { Placement, Strategy } from '@floating-ui/dom';\n\n/**\n * @slot default - Content to be placed as the trigger.\n * @slot content - Content to be placed within the popover. Use for custom html, will render under the message.\n */\n@Component({\n tag: 'nv-tooltip',\n styleUrl: 'nv-tooltip.scss',\n shadow: false,\n})\nexport class NvTooltip {\n @Element() el: HTMLNvTooltipElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * @internal\n * Accepts a reference to the DOM element acting as the popover trigger. This\n * should be used when the slot for the trigger is not defined.\n */\n @Prop({ reflect: false, mutable: true })\n triggerElement: Element;\n\n /**\n * A string representing the text to be displayed inside the tooltip. This\n * content is shown when the tooltip is activated by the user, such as on\n * hover or focus events.\n */\n @Prop({ reflect: true })\n readonly message: string;\n\n /**\n * Decides where the tooltip shows up next to the element it’s linked to\n * (above, below, to the sides). If there isn’t enough room, it will adjust\n * it's position on the axis to fit on the screen, so users can always see it.\n */\n @Prop({ reflect: true })\n readonly placement: Placement = 'bottom';\n\n /**\n * Controls how long (in milliseconds) the tooltip waits to show after you\n * hover over or focus on an element. If you move away before the delay is up,\n * the tooltip won't appear.\n */\n @Prop({ reflect: true })\n readonly enterDelay: number = 0;\n\n /**\n * Sets the positioning strategy for the tooltip. Options include:\n * - `absolute`: Positions the tooltip relative to the trigger element\n * (default).\n * - `fixed`: Positions the tooltip relative to the viewport, useful when you\n * need the tooltip to break out of overflow hidden containers, it will not\n * scroll inside a scroll container due to the fixed positioning.\n */\n @Prop({ reflect: true })\n readonly strategy: Strategy = 'absolute';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the tooltip is opened or closed. Bubbles up from the popover\n * element.\n */\n @Event({ bubbles: false })\n openChanged: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (!this.triggerElement)\n this.triggerElement = Array.from(this.el.children).find(child => {\n return child.getAttribute('slot') === null;\n });\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <slot></slot>\n\n <nv-popover\n triggerMode=\"hover\"\n hasArrow\n placement={this.placement}\n strategy={this.strategy}\n triggerElement={this.triggerElement}\n groupName={'tooltip'}\n enterDelay={this.enterDelay}\n onOpenChanged={e => this.openChanged.emit(e.detail)}\n >\n <p slot=\"content\">{this.message}</p>\n <slot name=\"content\"></slot>\n </nv-popover>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,mBAAmB,CAAC;AAClC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAG9C,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC","sourcesContent":["/**\n * @fileoverview entry point for your component library\n *\n * This is the entry point for your component library. Use this file to export utilities,\n * constants or data structure that accompany your components.\n *\n * DO NOT use this file to export your components. Instead, use the recommended approaches\n * to consume components of this package as outlined in the `README.md`.\n */\n\nexport * from './utils/constants';\nexport * as classUtils from './utils/class.utils';\nexport * as eventUtils from './utils/events.utils';\nexport * as stringUtils from './utils/string.utils';\nexport * as uriUtils from './utils/uri.utils';\nexport type * from './components.d.ts';\n\nexport * as animations from './animations';\nexport { iconNames } from './components/nv-icon/nv-icons';\nexport { WeekAbbreviations } from './interfaces/localization';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Column.js","sourceRoot":"","sources":["../../../src/interfaces/Column.tsx"],"names":[],"mappings":"","sourcesContent":["/**\n * Column interface for nv-datagrid\n */\nexport interface Column {\n /**\n * Display name of the column\n */\n header?: string;\n\n /**\n * Data accessor for the column\n */\n accessor: string;\n\n /**\n * Group name for the column\n */\n group?: string;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnConfig.js","sourceRoot":"","sources":["../../../src/interfaces/ColumnConfig.tsx"],"names":[],"mappings":"","sourcesContent":["/**\n * Column configuration for the table\n */\nexport interface ColumnConfig {\n /**\n * Name of the column and data accessor\n */\n name: string;\n /**\n * Header of the column to be displayed\n */\n header: string;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"localization.js","sourceRoot":"","sources":["../../../src/interfaces/localization.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Interface for week abbreviations by locale\n */\nexport interface WeekAbbreviations {\n /**\n * Abbreviation for \"week\" in a specific locale\n */\n [key: string]: string;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.docs.js","sourceRoot":"","sources":["../../../src/templates/navigation.docs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs, NovaTemplate } from '../nova-docs';\n\nconst NavigationDocs: NovaDocs<NovaTemplate> = {\n subcomponents: ['nv-icon', 'nv-iconbutton'],\n stories: [\n {\n name: 'Default',\n description:\n 'A button group that lets users switch seamlessly between related options, like different view modes or settings. Each button has a clear visual distinction for the active state, ensuring clarity and ease of use. Icons or labels provide quick recognition, making interactions intuitive.',\n template: (\n <nav data-class=\"nv-buttongroup bg-level-00\">\n <ul data-class=\"flex\">\n <li>\n <a href=\"/login\" data-class=\"nv-link\">\n <nv-icon name=\"lock\" size=\"md\"></nv-icon>Login page\n </a>\n </li>\n <li>\n <a href=\"/form\" data-class=\"nv-link active\">\n <nv-icon name=\"chart-dots\" size=\"md\"></nv-icon>Forms\n </a>\n </li>\n <li>\n <a href=\"/typo\" data-class=\"nv-link\">\n <nv-icon name=\"feather\" size=\"md\"></nv-icon>Typos\n </a>\n </li>\n <li>\n <a href=\"#\" data-class=\"nv-link disabled\">\n <nv-icon name=\"user\" size=\"md\"></nv-icon>Other\n </a>\n </li>\n </ul>\n </nav>\n ),\n },\n {\n name: 'Tabs',\n description:\n 'A navigation bar using a tab view so it’s easy to jump between sections like the Login page, Forms, and Typos. Each tab has its own icon and a clear border that shows you which one’s active.',\n template: (\n <nav data-class=\"nv-tabs bg-level-00\">\n <ul data-class=\"flex\">\n <li>\n <a href=\"/login\" data-class=\"nv-link\">\n <nv-icon name=\"lock\" size=\"md\"></nv-icon>Login page\n </a>\n </li>\n <li>\n <a href=\"/form\" data-class=\"nv-link active\">\n <nv-icon name=\"chart-dots\" size=\"md\"></nv-icon>Forms\n </a>\n </li>\n <li>\n <a href=\"/typo\" data-class=\"nv-link\">\n <nv-icon name=\"feather\" size=\"md\"></nv-icon>Typos\n </a>\n </li>\n <li>\n <a href=\"#\" data-class=\"nv-link disabled\">\n <nv-icon name=\"user\" size=\"md\"></nv-icon>Other\n </a>\n </li>\n </ul>\n </nav>\n ),\n },\n {\n name: 'Navbar',\n description: 'It is an horizontal navigation bar.',\n template: (\n <nav data-class=\"nv-navbar\">\n <ul data-class=\"flex gap-x-0.5\">\n <li>\n <a href=\"#\" data-class=\"nv-link\">\n <nv-icon name=\"home\" size=\"md\"></nv-icon>Home\n </a>\n </li>\n <li>\n <a href=\"#\" data-class=\"nv-link\">\n <nv-icon name=\"layout-dashboard\" size=\"md\"></nv-icon>\n Dashboard\n </a>\n </li>\n <li>\n <a href=\"#\" data-class=\"nv-link active\">\n <nv-icon name=\"stack\" size=\"md\"></nv-icon>\n Projects\n <nv-icon name=\"chevron-down\" size=\"sm\"></nv-icon>\n </a>\n </li>\n <li>\n <a href=\"#\" data-class=\"nv-link\">\n <nv-icon name=\"stack\" size=\"md\"></nv-icon>\n Tasks\n <span data-class=\"nv-badge bg-feedback-warning-high text-feedback-warning-high rounded-full w-5 flex items-center justify-center text-sm\">\n 3\n </span>\n </a>\n </li>\n <li>\n <a href=\"#\" data-class=\"nv-link\">\n <nv-icon name=\"notebook\" size=\"md\"></nv-icon>Documentation\n </a>\n </li>\n <li>\n <a href=\"#\" data-class=\"nv-link\">\n <nv-icon name=\"headset\" size=\"md\"></nv-icon>Support\n </a>\n </li>\n <li>\n <a href=\"#\" data-class=\"nv-link disabled\">\n <nv-icon name=\"contract\" size=\"md\"></nv-icon>Contracts\n </a>\n </li>\n </ul>\n </nav>\n ),\n },\n {\n name: 'Sidenav',\n description:\n 'A Navigation bar using Tailwind CSS for styling. It’s easy to jump between sections like the Home page, Dashboard, Projects, and Tasks. Each tab has its own icon and a clear border that shows you which one’s active.',\n template: (\n <nav data-class=\"nv-sidenav flex flex-1 flex-col\">\n <ul role=\"list\" data-class=\"flex flex-1 flex-col gap-y-0.5\">\n <li>\n <a href=\"/login\" data-class=\"nv-link\">\n <nv-icon\n role=\"img\"\n aria-label=\"home-icon\"\n name=\"home\"\n size=\"md\"\n ></nv-icon>\n Home\n </a>\n </li>\n <li>\n <a href=\"/form\" data-class=\"nv-link active\">\n <nv-icon\n role=\"img\"\n aria-label=\"layout-dashboard-icon\"\n name=\"layout-dashboard\"\n size=\"md\"\n ></nv-icon>\n Dashboard\n </a>\n </li>\n <li data-class=\"collapsible\">\n <a href=\"/typo\" data-class=\"nv-link\">\n <span data-class=\"flex items-center gap-x-2\">\n <nv-icon\n role=\"img\"\n aria-label=\"stack-icon\"\n name=\"stack\"\n size=\"md\"\n ></nv-icon>\n Projects\n </span>\n\n <nv-iconbutton\n data-class=\"nv-iconbutton\"\n size=\"md\"\n name=\"chevron-down\"\n emphasis=\"lower\"\n ></nv-iconbutton>\n </a>\n </li>\n <li>\n <a href=\"#\" data-class=\"nv-link\">\n <nv-icon\n role=\"img\"\n aria-label=\"checklist-icon\"\n name=\"checklist\"\n size=\"md\"\n ></nv-icon>\n Tasks\n </a>\n </li>\n <li>\n <a href=\"#\" data-class=\"nv-link\">\n <nv-icon\n role=\"img\"\n aria-label=\"notebook-icon\"\n name=\"notebook\"\n size=\"md\"\n ></nv-icon>\n Documentation\n </a>\n </li>\n <li>\n <a href=\"#\" data-class=\"nv-link\">\n <nv-icon\n role=\"img\"\n aria-label=\"headset-icon\"\n name=\"headset\"\n size=\"md\"\n ></nv-icon>\n Support\n </a>\n </li>\n <li>\n <a href=\"#\" data-class=\"nv-link disabled\">\n <nv-icon\n role=\"img\"\n aria-label=\"contract-icon\"\n name=\"contract\"\n size=\"md\"\n ></nv-icon>\n Contracts\n </a>\n </li>\n </ul>\n </nav>\n ),\n },\n ],\n};\n\nexport default NavigationDocs;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"class.utils.js","sourceRoot":"","sources":["../../../src/utils/class.utils.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAI,GAAkB;IAC1C,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,EAAE,EACF;QACE,GAAG,CAAC,OAAO,EAAE,IAAI;YACf,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CACF,CAAC;IACF,OAAO,GAAG,CAAC,KAAU,CAAC,CAAC;AACzB,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * Get the name of a property in an object or class instance.\n * @param {function} key The key of the property.\n * @returns {string} The name of the property.\n */\nexport function nameof<T>(key: (x: T) => any): string {\n const proxy = new Proxy(\n {},\n {\n get(_target, prop) {\n return prop;\n },\n },\n );\n return key(proxy as T);\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"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CL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;KACN;IACD,OAAO,EAAE;QACP,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;KACN;IACD,OAAO,EAAE;QACP,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;KACN;IACD,OAAO,EAAE;QACP,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;KACN;IACD,OAAO,EAAE;QACP,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;KACN;CACF,CAAC","sourcesContent":["import { WeekAbbreviations } from '../interfaces/localization';\n\nexport enum NotificationPosition {\n TopRight = 'top-right',\n TopLeft = 'top-left',\n TopCenter = 'top-center',\n BottomRight = 'bottom-right',\n BottomLeft = 'bottom-left',\n BottomCenter = 'bottom-center',\n}\n\nexport enum FeedbackColors {\n Information = 'information',\n Warning = 'warning',\n Success = 'success',\n Error = 'error',\n Neutral = 'neutral',\n}\nexport enum DeprecatedSemanticColors {\n Neutral = 'neutral',\n Primary = 'primary',\n Secondary = 'secondary',\n Success = 'success',\n Error = 'error',\n}\nexport enum SemanticSizes {\n ExtraSmall = 'xs',\n Small = 'sm',\n Medium = 'md',\n Large = 'lg',\n ExtraLarge = 'xl',\n}\nexport enum ButtonSize {\n ExtraSmall = 'xs',\n Small = 'sm',\n Medium = 'md',\n Large = 'lg',\n}\nexport enum ButtonEmphasis {\n High = 'high',\n Medium = 'medium',\n Low = 'low',\n Lower = 'lower',\n}\nexport enum ButtonType {\n Submit = 'submit',\n Reset = 'reset',\n Button = 'button',\n}\nexport enum NotificationEmphasis {\n Medium = 'medium',\n High = 'high',\n}\nexport enum ToggleButtonEmphasis {\n High = 'high',\n Low = 'low',\n}\nexport enum ToggleButtonSize {\n ExtraSmall = 'xs',\n Small = 'sm',\n Medium = 'md',\n Large = 'lg',\n}\nexport enum IconButtonShape {\n Square = 'square',\n Rounded = 'rounded',\n}\nexport enum LoaderColors {\n High = 'brand',\n Low = 'white',\n}\nexport enum LabelPlacement {\n Before = 'before',\n After = 'after',\n}\n\nexport enum TextInputAutocomplete {\n On = 'on',\n Off = 'off',\n Section = 'section-*',\n Shipping = 'shipping',\n Billing = 'billing',\n Home = 'home',\n Work = 'work',\n Mobile = 'mobile',\n Fax = 'fax',\n Pager = 'pager',\n Tel = 'tel',\n TelCountryCode = 'tel-country-code',\n TelNational = 'tel-national',\n TelAreaCode = 'tel-area-code',\n TelLocal = 'tel-local',\n TelLocalPrefix = 'tel-local-prefix',\n TelLocalSuffix = 'tel-local-suffix',\n TelExtension = 'tel-extension',\n Email = 'email',\n IMProtocol = 'impp',\n Name = 'name',\n HonorificPrefix = 'honorific-prefix',\n GivenName = 'given-name',\n AdditionalName = 'additional-name',\n FamilyName = 'family-name',\n HonorificSuffix = 'honorific-suffix',\n Nickname = 'nickname',\n Username = 'username',\n NewPassword = 'new-password',\n CurrentPassword = 'current-password',\n OneTimeCode = 'one-time-code',\n OrganizationTitle = 'organization-title',\n Organization = 'organization',\n StreetAddress = 'street-address',\n AddressLine1 = 'address-line1',\n AddressLine2 = 'address-line2',\n AddressLine3 = 'address-line3',\n AddressLevel4 = 'address-level4',\n AddressLevel3 = 'address-level3',\n AddressLevel2 = 'address-level2',\n AddressLevel1 = 'address-level1',\n Country = 'country',\n CountryName = 'country-name',\n PostalCode = 'postal-code',\n CCName = 'cc-name',\n CCGivenName = 'cc-given-name',\n CCAdditionalName = 'cc-additional-name',\n CCFamilyName = 'cc-family-name',\n CCNumber = 'cc-number',\n CCExp = 'cc-exp',\n CCExpMonth = 'cc-exp-month',\n CCExpYear = 'cc-exp-year',\n CCCSC = 'cc-csc',\n CCType = 'cc-type',\n TransactionCurrency = 'transaction-currency',\n TransactionAmount = 'transaction-amount',\n Language = 'language',\n Bday = 'bday',\n BdayDay = 'bday-day',\n BdayMonth = 'bday-month',\n BdayYear = 'bday-year',\n Sex = 'sex',\n Url = 'url',\n Photo = 'photo',\n}\n\nexport enum TimeType {\n Hours = 'hours',\n Minutes = 'minutes',\n Seconds = 'seconds',\n}\n\nexport enum GlobalFilterPosition {\n End = 'end',\n Start = 'start',\n Center = 'center',\n}\nexport enum SortingPossibility {\n Asc = 'asc',\n Desc = 'desc',\n}\n\nexport const WEEK_ABBREVIATIONS: WeekAbbreviations = {\n 'fr-FR': 'Sem', // Semaine\n 'fr-BE': 'Sem', // Semaine\n 'nl-BE': 'W', // Week\n 'en-BE': 'W', // Week\n 'en-US': 'W', // Week\n 'en-GB': 'W', // Week\n 'es-ES': 'Sem', // Semana\n 'de-DE': 'KW', // Kalenderwoche\n 'it-IT': 'Set', // Settimana\n 'pt-PT': 'Sem', // Semana\n 'nl-NL': 'W', // Week\n 'pl-PL': 'Tyd', // Tydzień\n 'ru-RU': 'Нед', // Неделя\n 'ja-JP': '週', // Shū\n 'zh-CN': '周', // Zhōu\n 'ko-KR': '주', // Ju\n};\n\nexport const CUSTOM_DAY_NAMES: { [key: string]: string[] } = {\n 'fr-BE': ['Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa', 'Di'],\n 'nl-BE': ['Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za', 'Zo'],\n 'de-DE': ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'],\n 'en-BE': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n 'en-US': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n 'en-GB': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n};\n\nexport const CUSTOM_MONTH_NAMES: { [key: string]: string[] } = {\n 'fr-BE': [\n 'Jan',\n 'Fev',\n 'Mar',\n 'Avr',\n 'Mai',\n 'Jun',\n 'Jul',\n 'Aou',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n ],\n 'nl-BE': [\n 'Jan',\n 'Feb',\n 'Maa',\n 'Apr',\n 'Mei',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Okt',\n 'Nov',\n 'Dec',\n ],\n 'de-DE': [\n 'Jan',\n 'Feb',\n 'Mär',\n 'Apr',\n 'Mai',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Okt',\n 'Nov',\n 'Dez',\n ],\n 'en-BE': [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n ],\n 'en-US': [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n ],\n 'en-GB': [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n ],\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dom.utils.js","sourceRoot":"","sources":["../../../src/utils/dom.utils.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * All properties that should be excluded from the deep copy of an HTML element.\n */\nexport const excludedProps = new Set([\n // Text and content-related properties\n 'textContent',\n 'innerText',\n 'outerText',\n 'innerHTML',\n 'outerHTML',\n 'text',\n\n // Form element properties\n 'value',\n 'defaultValue',\n 'checked',\n 'defaultChecked',\n 'selectionStart',\n 'selectionEnd',\n 'selectionDirection',\n 'form',\n 'willValidate',\n 'validity',\n 'validationMessage',\n 'labels',\n 'list',\n 'maxLength',\n 'minLength',\n 'valueAsDate',\n 'valueAsNumber',\n\n // Editability and namespaces\n 'contentEditable',\n 'isContentEditable',\n 'namespaceURI',\n\n // Child-related properties (handled recursively)\n 'attributes',\n 'children',\n 'childNodes',\n 'firstChild',\n 'lastChild',\n\n // Blazor-related properties\n 'origin',\n 'dataset',\n 'attributeStyleMap',\n 'prefix',\n 'localName',\n 'tagName',\n 'shadowRoot',\n 'assignedSlot',\n 'scrollWidth',\n 'scrollHeight',\n 'clientTop',\n 'clientLeft',\n 'clientWidth',\n 'clientHeight',\n 'firstElementChild',\n 'lastElementChild',\n 'childElementCount',\n 'previousElementSibling',\n 'nextElementSibling',\n 'currentCSSZoom',\n 'nodeType',\n 'nodeName',\n 'baseURI',\n 'isConnected',\n 'ownerDocument',\n 'parentNode',\n 'parentElement',\n 'previousSibling',\n 'nextSibling',\n 'ELEMENT_NODE',\n 'ATTRIBUTE_NODE',\n 'TEXT_NODE',\n 'CDATA_SECTION_NODE',\n 'ENTITY_REFERENCE_NODE',\n 'ENTITY_NODE',\n 'PROCESSING_INSTRUCTION_NODE',\n 'COMMENT_NODE',\n 'DOCUMENT_NODE',\n 'DOCUMENT_TYPE_NODE',\n 'DOCUMENT_FRAGMENT_NODE',\n 'NOTATION_NODE',\n 'DOCUMENT_POSITION_DISCONNECTED',\n 'DOCUMENT_POSITION_PRECEDING',\n 'DOCUMENT_POSITION_FOLLOWING',\n 'DOCUMENT_POSITION_CONTAINS',\n 'DOCUMENT_POSITION_CONTAINED_BY',\n 'DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC',\n]);\n\n/**\n * Deep copy an HTML element with all its attributes, properties, and child nodes.\n * This method is useful for creating a clone of an element that can be safely modified without affecting the original.\n * @param {HTMLElement} element - The HTML element to copy.\n * @returns {HTMLElement} - A deep copy of the HTML element.\n * @example const copy = deepCopyElement(document.getElementById('myElement'));\n */\nexport function deepCopyElement(element: HTMLElement): HTMLElement {\n const copy = document.createElement(element.tagName);\n\n // ✅ Copy attributes\n Array.from(element.attributes).forEach(attr => {\n copy.setAttribute(attr.name, attr.value);\n });\n\n // ✅ Dynamically extract relevant properties\n const properties = new Set<string>();\n\n // Collect only own enumerable properties\n Object.keys(element).forEach(key => properties.add(key));\n\n // Collect inherited properties from prototypes (HTMLElement -> Element -> Node)\n let proto = Object.getPrototypeOf(element);\n while (proto && proto !== HTMLElement.prototype) {\n Object.keys(proto).forEach(key => properties.add(key));\n proto = Object.getPrototypeOf(proto);\n }\n\n // ✅ Filter and copy only non-function properties (methods are excluded) and non-event listeners\n properties.forEach(prop => {\n if (\n typeof (element as any)[prop] !== 'function' && // Ignore methods\n !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)\n !excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props\n ) {\n try {\n (copy as any)[prop] = (element as any)[prop];\n } catch (error) {\n console.warn(`Could not copy property ${prop}:`, error.message);\n }\n }\n });\n\n // ✅ Copy dataset separately\n Object.assign(copy.dataset, element.dataset);\n\n // ✅ Handle form elements specifically\n if (element instanceof HTMLInputElement) {\n (copy as HTMLInputElement).value = element.value;\n (copy as HTMLInputElement).checked = element.checked;\n (copy as HTMLInputElement).defaultValue = element.defaultValue;\n (copy as HTMLInputElement).defaultChecked = element.defaultChecked;\n (copy as HTMLInputElement).selectionStart = element.selectionStart;\n (copy as HTMLInputElement).selectionEnd = element.selectionEnd;\n (copy as HTMLInputElement).selectionDirection = element.selectionDirection;\n } else if (element instanceof HTMLTextAreaElement) {\n (copy as HTMLTextAreaElement).value = element.value;\n (copy as HTMLTextAreaElement).defaultValue = element.defaultValue;\n (copy as HTMLTextAreaElement).selectionStart = element.selectionStart;\n (copy as HTMLTextAreaElement).selectionEnd = element.selectionEnd;\n (copy as HTMLTextAreaElement).selectionDirection =\n element.selectionDirection;\n } else if (element instanceof HTMLSelectElement) {\n (copy as HTMLSelectElement).value = element.value;\n (copy as HTMLSelectElement).selectedIndex = element.selectedIndex;\n }\n\n // ✅ Recursively copy child nodes (prevent duplicates)\n element.childNodes.forEach(child => {\n let childCopy;\n if (child.nodeType === Node.ELEMENT_NODE) {\n childCopy = deepCopyElement(child as HTMLElement);\n } else {\n childCopy = child.cloneNode(true);\n }\n copy.appendChild(childCopy);\n });\n\n return copy;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.utils.js","sourceRoot":"","sources":["../../../src/utils/events.utils.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAA0B,EAC1B,MAAmC,EACnC,OAAU;IAEV,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,CACnC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CACvD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA0B,EAC1B,MAAmC,EACnC,OAAU;IAEV,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,CACnC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAC1D,CAAC;AACJ,CAAC","sourcesContent":["export type EventsAndListeners = [string, EventListener][];\n\n/**\n * Adds a set of event listeners to the given target.\n * @param {EventsAndListeners} events - The events and listeners to add.\n * @param {Element | Window | Document} target - The target element or window to add the event listeners to.\n * @param {T} context - The class context to bind the event listeners to.\n */\nexport function addEventListeners<T>(\n events: EventsAndListeners,\n target: Element | Window | Document,\n context: T,\n) {\n events.forEach(([event, listener]) =>\n target.addEventListener(event, listener.bind(context)),\n );\n}\n\n/**\n * Removes a set of event listeners from the given target.\n * @param {EventsAndListeners} events - The events and listeners to remove.\n * @param {Element | Window | Document} target - The target element or window to remove the event listeners from.\n * @param {T} context - The class context to bind the event listeners to.\n */\nexport function removeEventListeners<T>(\n events: EventsAndListeners,\n target: Element | Window | Document,\n context: T,\n) {\n events.forEach(([event, listener]) =>\n target.removeEventListener(event, listener.bind(context)),\n );\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.utils.js","sourceRoot":"","sources":["../../../src/utils/i18n.utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,8BAA8B,GAA2B;IAC7D,EAAE,EAAE,2DAA2D;IAC/D,EAAE,EAAE,kEAAkE;IACtE,EAAE,EAAE,uEAAuE;IAC3E,EAAE,EAAE,8DAA8D;IAClE,EAAE,EAAE,mEAAmE;IACvE,EAAE,EAAE,kEAAkE;IACtE,EAAE,EAAE,8DAA8D;IAClE,EAAE,EAAE,0DAA0D;IAC9D,EAAE,EAAE,8CAA8C;IAClD,EAAE,EAAE,gCAAgC;IACpC,EAAE,EAAE,0CAA0C;CAC/C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wDAAwD;IACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAExE,2DAA2D;IAC3D,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAe;IACrD,MAAM,YAAY,GAAG,MAAM;QACzB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QACpC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvB,OAAO,CACL,8BAA8B,CAAC,YAAY,CAAC;QAC5C,8BAA8B,CAAC,EAAE,CAClC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,KAAa,EACb,KAAa;IAEb,OAAO,QAAQ;SACZ,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;SAClC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC","sourcesContent":["/**\n * @fileoverview Internationalization utilities for Nova components.\n * Provides automatic locale detection and default translations.\n */\n\n/**\n * Default translations for truncated results text.\n * Supports placeholders: {shown} and {total}\n */\nconst TRUNCATED_RESULTS_TRANSLATIONS: Record<string, string> = {\n en: '{shown} results shown out of {total} — refine your search',\n fr: '{shown} résultats affichés sur {total} — affinez votre recherche',\n de: '{shown} von {total} Ergebnissen angezeigt — verfeinern Sie Ihre Suche',\n es: '{shown} resultados mostrados de {total} — refine su búsqueda',\n it: '{shown} risultati mostrati su {total} — perfeziona la tua ricerca',\n nl: '{shown} resultaten getoond van {total} — verfijn uw zoekopdracht',\n pt: '{shown} resultados exibidos de {total} — refine sua pesquisa',\n ru: '{shown} результатов показано из {total} — уточните поиск',\n ja: '{shown}件の結果が{total}件中表示されています — 検索を絞り込んでください',\n zh: '{shown}个结果,共{total}个 — 请细化您的搜索',\n ko: '{shown}개 결과가 {total}개 중 표시됨 — 검색을 구체화하세요',\n};\n\n/**\n * Gets the browser's locale (language code).\n * Falls back to 'en' if detection fails.\n *\n * @returns {string} The locale code (e.g., 'en', 'fr', 'de')\n */\nexport function getBrowserLocale(): string {\n if (typeof navigator === 'undefined') {\n return 'en';\n }\n\n // Try navigator.language first (e.g., 'en-US', 'fr-FR')\n const language = navigator.language || navigator.languages?.[0] || 'en';\n\n // Extract the base language code (e.g., 'en' from 'en-US')\n return language.split('-')[0].toLowerCase();\n}\n\n/**\n * Gets the localized truncated results text.\n * Automatically detects browser locale and provides appropriate translation.\n * Falls back to English if translation is not available.\n *\n * @param {string} [locale] - Optional locale override. If not provided, uses browser locale.\n * @returns {string} The localized text with placeholders {shown} and {total}\n *\n * @example\n * getTruncatedResultsText() // Uses browser locale\n * getTruncatedResultsText('fr') // Returns French translation\n * getTruncatedResultsText('de') // Returns German translation\n */\nexport function getTruncatedResultsText(locale?: string): string {\n const targetLocale = locale\n ? locale.split('-')[0].toLowerCase()\n : getBrowserLocale();\n return (\n TRUNCATED_RESULTS_TRANSLATIONS[targetLocale] ||\n TRUNCATED_RESULTS_TRANSLATIONS.en\n );\n}\n\n/**\n * Formats the truncated results text by replacing placeholders with actual values.\n *\n * @param {string} template - The text template with {shown} and {total} placeholders\n * @param {number} shown - The number of items shown\n * @param {number} total - The total number of items\n * @returns {string} The formatted text with replaced placeholders\n *\n * @example\n * formatTruncatedResults('{shown} of {total}', 10, 100) // '10 of 100'\n */\nexport function formatTruncatedResults(\n template: string,\n shown: number,\n total: number,\n): string {\n return template\n .replace(/{shown}/g, String(shown))\n .replace(/{total}/g, String(total));\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input.utils.js","sourceRoot":"","sources":["../../../src/utils/input.utils.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACtB,IAAO,EACP,IAAY;IAEZ,IAAI,OAAsC,CAAC;IAE3C,OAAO,SAAS,gBAAgB,CAAC,GAAG,IAAmB;QACrD,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;QAEF,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Debounce function to prevent multiple calls in a short\n * period of time (e.g., input events).\n * @param {T} func - Function to be debounced\n * @param {number} wait - Time in milliseconds\n * @returns {(...args: Parameters<T>) => void} - Debounced function\n */\nexport function debounce<T extends (...args: any[]) => any>(\n func: T,\n wait: number,\n): (...args: Parameters<T>) => void {\n let timeout: ReturnType<typeof setTimeout>;\n\n return function executedFunction(...args: Parameters<T>) {\n const later = () => {\n clearTimeout(timeout);\n func(...args);\n };\n\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../src/utils/search-engine/engine.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @fileoverview Main search engine that orchestrates search operations.\n * Provides a unified interface for all filter modes.\n */\n\nimport type {\n IndexedItem,\n SearchResult,\n SearchOptions,\n FilterMode,\n} from './types';\nimport { clampMaxResults, clampFuzzyThreshold } from './guards';\nimport { searchStrict } from './strategies/strict';\nimport { searchSmart } from './strategies/smart';\nimport { searchFuzzy } from './strategies/fuzzy';\n\n/**\n * Default search options.\n */\nconst DEFAULT_OPTIONS: Partial<SearchOptions> = {\n filterMode: 'strict',\n maxResults: 200,\n startFilterAt: 0,\n};\n\n/**\n * Main search function that applies the appropriate strategy based on filter mode.\n *\n * @param {IndexedItem[]} indexedItems - Array of pre-indexed items\n * @param {SearchOptions} options - Search options including query, filterMode, maxResults\n * @returns {SearchResult} Search result with matching IDs, total count, and truncation flag\n *\n * @example\n * const result = search(indexedItems, {\n * query: 'System Grid',\n * filterMode: 'smart',\n * maxResults: 100\n * });\n * // { ids: ['1', '2', '3'], total: 3, truncated: false }\n */\nexport function search(\n indexedItems: IndexedItem[],\n options: SearchOptions,\n): SearchResult {\n const {\n query,\n filterMode = DEFAULT_OPTIONS.filterMode as FilterMode,\n maxResults: rawMaxResults,\n startFilterAt = DEFAULT_OPTIONS.startFilterAt as number,\n fuzzyThreshold: rawFuzzyThreshold,\n } = options;\n\n // Apply guards\n const maxResults = clampMaxResults(rawMaxResults);\n const fuzzyThreshold = clampFuzzyThreshold(rawFuzzyThreshold);\n\n // If query is too short, return all items (up to maxResults)\n if (!query || query.length < startFilterAt) {\n const allIds = indexedItems.map(item => item.id);\n const truncated = allIds.length > maxResults;\n return {\n ids: allIds.slice(0, maxResults),\n total: allIds.length,\n truncated,\n };\n }\n\n // Apply the appropriate search strategy\n let matchingIds: string[];\n\n switch (filterMode) {\n case 'strict':\n matchingIds = searchStrict(indexedItems, query);\n break;\n case 'smart':\n matchingIds = searchSmart(indexedItems, query);\n break;\n case 'fuzzy':\n // Fuzzy search using Fuse.js on main thread\n matchingIds = searchFuzzy(indexedItems, query, fuzzyThreshold);\n break;\n default:\n matchingIds = searchStrict(indexedItems, query);\n }\n\n // Apply maxResults limit\n const total = matchingIds.length;\n const truncated = total > maxResults;\n const limitedIds = truncated ? matchingIds.slice(0, maxResults) : matchingIds;\n\n return {\n ids: limitedIds,\n total,\n truncated,\n };\n}\n\n/**\n * Determines if filtering should be offloaded to a Web Worker.\n *\n * @param {number} itemCount - Number of items to search\n * @param {FilterMode} filterMode - Current filter mode\n * @param {number} workerThreshold - Threshold for offloading to worker\n * @returns {boolean} True if filtering should use Web Worker\n */\nexport function shouldUseWorker(\n itemCount: number,\n filterMode: FilterMode,\n workerThreshold: number,\n): boolean {\n // Fuzzy mode always requires worker (Fuse.js runs there)\n if (filterMode === 'fuzzy') {\n return true;\n }\n\n // Large datasets should use worker to keep main thread responsive\n return itemCount > workerThreshold;\n}\n\n/**\n * Checks if Web Workers are supported in the current environment.\n *\n * @returns {boolean} True if Web Workers are supported\n */\nexport function isWorkerSupported(): boolean {\n return typeof Worker !== 'undefined';\n}\n\n/**\n * Gets the effective filter mode, falling back if necessary.\n * If fuzzy mode is requested but Workers aren't supported, falls back to smart.\n *\n * @param {FilterMode} requestedMode - The requested filter mode\n * @returns {FilterMode} The effective filter mode to use\n */\nexport function getEffectiveFilterMode(requestedMode: FilterMode): FilterMode {\n if (requestedMode === 'fuzzy' && !isWorkerSupported()) {\n console.warn(\n 'Web Workers not supported. Falling back from fuzzy to smart mode.',\n );\n return 'smart';\n }\n return requestedMode;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../../../src/utils/search-engine/guards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wCAAwC;AACxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,qDAAqD;AACrD,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAE7C,uDAAuD;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,+BAA+B;AAC/B,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAE1C,sDAAsD;AACtD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,yDAAyD;AACzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,yCAAyC;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,IAAI,KAAK,GAAG,eAAe,EAAE,CAAC;QAC5B,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,KAAK,GAAG,oBAAoB,EAAE,CAAC;QACjC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED,IAAI,KAAK,GAAG,oBAAoB,EAAE,CAAC;QACjC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK,GAAG,oBAAoB,EAAE,CAAC;QACjC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["/**\n * @fileoverview Guard functions for validating and clamping search parameters.\n * Ensures safe limits for search operations to protect UI performance.\n */\n\n/** Default maximum results to return */\nexport const DEFAULT_MAX_RESULTS = 25;\n\n/** Minimum allowed max results */\nexport const MIN_MAX_RESULTS = 10;\n\n/** Hard cap for max results - protects DOM from rendering too many items */\nexport const HARD_CAP_MAX_RESULTS = 500;\n\n/** Default threshold for offloading to Web Worker */\nexport const DEFAULT_WORKER_THRESHOLD = 2000;\n\n/** Minimum worker threshold (0 = always use worker) */\nexport const MIN_WORKER_THRESHOLD = 0;\n\n/** Maximum worker threshold */\nexport const MAX_WORKER_THRESHOLD = 50000;\n\n/** Default fuzzy threshold (0-1, lower = stricter) */\nexport const DEFAULT_FUZZY_THRESHOLD = 0.3;\n\n/** Default debounce delay for strict/smart modes (ms) */\nexport const DEFAULT_DEBOUNCE_DELAY = 150;\n\n/** Debounce delay for fuzzy mode (ms) */\nexport const FUZZY_DEBOUNCE_DELAY = 300;\n\n/**\n * Clamps the maxResults value to safe limits.\n * - Minimum: 10\n * - Default: 200\n * - Hard cap: 500\n *\n * @param {number} [value] - The maxResults value to clamp (undefined uses default)\n * @returns {number} The clamped maxResults value\n *\n * @example\n * clampMaxResults(undefined) // 200 (default)\n * clampMaxResults(5) // 10 (minimum)\n * clampMaxResults(1000) // 500 (hard cap)\n * clampMaxResults(100) // 100 (valid)\n */\nexport function clampMaxResults(value?: number): number {\n if (value === undefined || value === null) {\n return DEFAULT_MAX_RESULTS;\n }\n\n if (value < MIN_MAX_RESULTS) {\n return MIN_MAX_RESULTS;\n }\n\n if (value > HARD_CAP_MAX_RESULTS) {\n return HARD_CAP_MAX_RESULTS;\n }\n\n return Math.floor(value);\n}\n\n/**\n * Clamps the workerThreshold value to safe limits.\n * - Minimum: 0 (always use worker)\n * - Default: 2000\n * - Maximum: 50000\n *\n * @param {number} [value] - The workerThreshold value to clamp (undefined uses default)\n * @returns {number} The clamped workerThreshold value\n *\n * @example\n * clampWorkerThreshold(undefined) // 2000 (default)\n * clampWorkerThreshold(-100) // 0 (minimum)\n * clampWorkerThreshold(100000) // 50000 (maximum)\n * clampWorkerThreshold(5000) // 5000 (valid)\n */\nexport function clampWorkerThreshold(value?: number): number {\n if (value === undefined || value === null) {\n return DEFAULT_WORKER_THRESHOLD;\n }\n\n if (value < MIN_WORKER_THRESHOLD) {\n return MIN_WORKER_THRESHOLD;\n }\n\n if (value > MAX_WORKER_THRESHOLD) {\n return MAX_WORKER_THRESHOLD;\n }\n\n return Math.floor(value);\n}\n\n/**\n * Clamps the fuzzyThreshold value to valid range.\n * - Minimum: 0 (strictest)\n * - Default: 0.3\n * - Maximum: 1 (most permissive)\n *\n * @param {number} [value] - The fuzzyThreshold value to clamp (undefined uses default)\n * @returns {number} The clamped fuzzyThreshold value\n *\n * @example\n * clampFuzzyThreshold(undefined) // 0.3 (default)\n * clampFuzzyThreshold(-0.5) // 0 (minimum)\n * clampFuzzyThreshold(1.5) // 1 (maximum)\n * clampFuzzyThreshold(0.5) // 0.5 (valid)\n */\nexport function clampFuzzyThreshold(value?: number): number {\n if (value === undefined || value === null) {\n return DEFAULT_FUZZY_THRESHOLD;\n }\n\n if (value < 0) {\n return 0;\n }\n\n if (value > 1) {\n return 1;\n }\n\n return value;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/search-engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAgBH,0BAA0B;AAC1B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAElD,kBAAkB;AAClB,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAElB,WAAW;AACX,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAErD,oBAAoB;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElE,cAAc;AACd,OAAO,EACL,MAAM,EACN,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAElB,gBAAgB;AAChB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC","sourcesContent":["/**\n * @fileoverview Search engine module for Nova dropdown filtering.\n * Provides tiered filtering strategies: strict, smart, and fuzzy.\n *\n * @example\n * import { buildIndex, search } from './search-engine';\n *\n * const items = [\n * { id: '1', label: 'System Grid Control' },\n * { id: '2', label: 'Network Manager' }\n * ];\n *\n * const indexed = buildIndex(items);\n * const result = search(indexed, {\n * query: 'system',\n * filterMode: 'smart',\n * maxResults: 100\n * });\n */\n\n// Types\nexport type {\n IndexedItem,\n SearchResult,\n SearchOptions,\n FilterMode,\n RawItem,\n WorkerMessageType,\n WorkerRequest,\n WorkerResponse,\n WorkerInitPayload,\n WorkerSearchPayload,\n} from './types';\n\n// Normalization utilities\nexport { normalize, tokenize } from './normalize';\n\n// Guard functions\nexport {\n clampMaxResults,\n clampWorkerThreshold,\n clampFuzzyThreshold,\n DEFAULT_MAX_RESULTS,\n MIN_MAX_RESULTS,\n HARD_CAP_MAX_RESULTS,\n DEFAULT_WORKER_THRESHOLD,\n MIN_WORKER_THRESHOLD,\n MAX_WORKER_THRESHOLD,\n DEFAULT_FUZZY_THRESHOLD,\n DEFAULT_DEBOUNCE_DELAY,\n FUZZY_DEBOUNCE_DELAY,\n} from './guards';\n\n// Indexing\nexport { buildIndex, rebuildIndex } from './indexer';\n\n// Search strategies\nexport { searchStrict } from './strategies/strict';\nexport { searchSmart } from './strategies/smart';\nexport { searchFuzzy, clearFuzzyCache } from './strategies/fuzzy';\n\n// Main engine\nexport {\n search,\n shouldUseWorker,\n isWorkerSupported,\n getEffectiveFilterMode,\n} from './engine';\n\n// Worker client\nexport { SearchWorkerClient } from './worker/worker-client';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../../../src/utils/search-engine/indexer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,UAAU,CAAC,KAAgB;IACzC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACtB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI;YACJ,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,KAAgB;IAC3C,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC","sourcesContent":["/**\n * @fileoverview Indexing utilities for the search engine.\n * Pre-computes normalized text and tokens for efficient searching.\n */\n\nimport type { IndexedItem, RawItem } from './types';\nimport { normalize, tokenize } from './normalize';\n\n/**\n * Builds a search index from raw items.\n * Pre-computes normalized text and tokens for each item for efficient searching.\n *\n * @param {RawItem[]} items - Array of raw items with id and label\n * @returns {IndexedItem[]} Array of indexed items with pre-computed norm and tokens\n *\n * @example\n * const items = [\n * { id: '1', label: 'System Grid Control' },\n * { id: '2', label: 'Network Manager' }\n * ];\n * const indexed = buildIndex(items);\n * // [\n * // { id: '1', label: 'System Grid Control', norm: 'system grid control', tokens: ['system', 'grid', 'control'] },\n * // { id: '2', label: 'Network Manager', norm: 'network manager', tokens: ['network', 'manager'] }\n * // ]\n */\nexport function buildIndex(items: RawItem[]): IndexedItem[] {\n if (!items || !Array.isArray(items)) {\n return [];\n }\n\n return items.map(item => {\n const norm = normalize(item.label);\n return {\n id: item.id,\n label: item.label,\n norm,\n tokens: tokenize(item.label),\n };\n });\n}\n\n/**\n * Updates the index when items change.\n * This is an alias for buildIndex for semantic clarity.\n *\n * @param {RawItem[]} items - Array of raw items with id and label\n * @returns {IndexedItem[]} Array of indexed items with pre-computed norm and tokens\n */\nexport function rebuildIndex(items: RawItem[]): IndexedItem[] {\n return buildIndex(items);\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../../src/utils/search-engine/normalize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,OAAO,CACL,IAAI;QACF,uBAAuB;SACtB,WAAW,EAAE;QACd,wDAAwD;SACvD,SAAS,CAAC,KAAK,CAAC;SAChB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAChC,yDAAyD;SACxD,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;QACzB,6CAA6C;SAC5C,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;QACrB,mCAAmC;SAClC,IAAI,EAAE,CACV,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAE3B,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC","sourcesContent":["/**\n * @fileoverview Text normalization utilities for the search engine.\n * Provides functions for normalizing and tokenizing text for search operations.\n */\n\n/**\n * Normalizes text for search comparison.\n * - Converts to lowercase\n * - Removes accents/diacritics\n * - Replaces punctuation with spaces\n * - Trims whitespace\n * - Collapses multiple spaces into single space\n *\n * @param {string} text - The text to normalize\n * @returns {string} The normalized text\n *\n * @example\n * normalize('Système Grid') // 'systeme grid'\n * normalize('Hello, World!') // 'hello world'\n * normalize(' Multiple Spaces ') // 'multiple spaces'\n */\nexport function normalize(text: string): string {\n if (!text) return '';\n\n return (\n text\n // Convert to lowercase\n .toLowerCase()\n // Remove accents/diacritics using Unicode normalization\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n // Replace punctuation and special characters with spaces\n .replace(/[^\\w\\s]/g, ' ')\n // Collapse multiple spaces into single space\n .replace(/\\s+/g, ' ')\n // Trim leading/trailing whitespace\n .trim()\n );\n}\n\n/**\n * Tokenizes text into an array of normalized tokens.\n * Splits by whitespace and normalizes each token.\n *\n * @param {string} text - The text to tokenize\n * @returns {string[]} Array of normalized tokens\n *\n * @example\n * tokenize('System Grid Control') // ['system', 'grid', 'control']\n * tokenize('Hello, World!') // ['hello', 'world']\n */\nexport function tokenize(text: string): string[] {\n const normalized = normalize(text);\n if (!normalized) return [];\n\n return normalized.split(' ').filter(token => token.length > 0);\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fuzzy.js","sourceRoot":"","sources":["../../../../../src/utils/search-engine/strategies/fuzzy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,IAAI,MAAM,SAAS,CAAC;AAG3B,mEAAmE;AACnE,IAAI,SAAS,GAOF,IAAI,CAAC;AAEhB;;;;;;;GAOG;AACH,SAAS,eAAe,CACtB,KAAoB,EACpB,SAAiB;IAEjB,wEAAwE;IACxE,IACE,SAAS;QACT,SAAS,CAAC,KAAK,KAAK,KAAK;QACzB,SAAS,CAAC,SAAS,KAAK,SAAS,EACjC,CAAC;QACD,OAAO,SAAS,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,2BAA2B;IAC3B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;QAC3B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;IAEH,kBAAkB;IAClB,SAAS,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAEvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CACzB,YAA2B,EAC3B,KAAa,EACb,YAAoB,GAAG;IAEvB,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QACpC,OAAO,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEnC,sDAAsD;IACtD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,SAAS,GAAG,IAAI,CAAC;AACnB,CAAC","sourcesContent":["/**\n * @fileoverview Fuzzy search strategy using Fuse.js.\n * Typo-tolerant matching for user-friendly search experience.\n */\n\nimport Fuse from 'fuse.js';\nimport type { IndexedItem } from '../types';\n\n/** Cache for Fuse instances to avoid recreation on every search */\nlet fuseCache: {\n /** Array of pre-indexed items */\n items: IndexedItem[];\n /** Fuzzy threshold */\n threshold: number;\n /** Fuse.js instance */\n fuse: Fuse<IndexedItem>;\n} | null = null;\n\n/**\n * Gets or creates a Fuse.js instance for the given items.\n * Caches the instance to improve performance for repeated searches.\n * Recreates if items or threshold change.\n * @param {IndexedItem[]} items - Array of pre-indexed items\n * @param {number} threshold - Fuzzy threshold (0-1, lower = stricter, default 0.3)\n * @returns {Fuse<IndexedItem>} Fuse.js instance\n */\nfunction getFuseInstance(\n items: IndexedItem[],\n threshold: number,\n): Fuse<IndexedItem> {\n // Check if we can reuse cached instance (same items AND same threshold)\n if (\n fuseCache &&\n fuseCache.items === items &&\n fuseCache.threshold === threshold\n ) {\n return fuseCache.fuse;\n }\n\n // Create new Fuse instance\n const fuse = new Fuse(items, {\n keys: ['label', 'norm'],\n threshold: threshold,\n includeScore: true,\n ignoreLocation: true,\n findAllMatches: true,\n });\n\n // Cache for reuse\n fuseCache = { items, threshold, fuse };\n\n return fuse;\n}\n\n/**\n * Searches items using fuzzy matching with Fuse.js.\n * Tolerates typos and finds approximate matches.\n *\n * @param {IndexedItem[]} indexedItems - Array of pre-indexed items\n * @param {string} query - The search query\n * @param {number} threshold - Fuzzy threshold (0-1, lower = stricter, default 0.3)\n * @returns {string[]} Array of matching item IDs sorted by relevance\n * @example\n * // Given items: [{ id: '1', label: 'System Grid Control', ... }]\n * searchFuzzy(items, 'Sytem') // ['1'] - matches despite typo\n * searchFuzzy(items, 'Systm Grid') // ['1'] - matches despite typo\n */\nexport function searchFuzzy(\n indexedItems: IndexedItem[],\n query: string,\n threshold: number = 0.3,\n): string[] {\n if (!query || !indexedItems?.length) {\n return indexedItems?.map(item => item.id) || [];\n }\n\n const fuse = getFuseInstance(indexedItems, threshold);\n const results = fuse.search(query);\n\n // Return IDs sorted by relevance (best matches first)\n return results.map(result => result.item.id);\n}\n\n/**\n * Clears the Fuse.js cache.\n * Call this when the items change to ensure fresh indexing.\n */\nexport function clearFuzzyCache(): void {\n fuseCache = null;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"smart.js","sourceRoot":"","sources":["../../../../../src/utils/search-engine/strategies/smart.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW,CACzB,YAA2B,EAC3B,KAAa;IAEb,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QACpC,OAAO,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,YAAY;SAChB,MAAM,CAAC,IAAI,CAAC,EAAE;QACb,sEAAsE;QACtE,OAAO,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC;SACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC","sourcesContent":["/**\n * @fileoverview Smart search strategy using token-based matching.\n * All query tokens must exist in the target label (order ignored).\n */\n\nimport type { IndexedItem } from '../types';\nimport { tokenize } from '../normalize';\n\n/**\n * Searches items using token-based matching.\n * All query tokens must exist in the item's normalized text (order ignored).\n *\n * This provides a \"smart\" feel without fuzzy matching overhead.\n * Word order doesn't matter: \"Grid System\" will match \"System Grid\".\n *\n * @param {IndexedItem[]} indexedItems - Array of pre-indexed items\n * @param {string} query - The search query\n * @returns {string[]} Array of matching item IDs\n *\n * @example\n * // Given items: [{ id: '1', label: 'System Grid Control', norm: 'system grid control', tokens: [...] }]\n * searchSmart(items, 'System Grid') // ['1'] - matches (all tokens present)\n * searchSmart(items, 'Grid System') // ['1'] - matches (order ignored)\n * searchSmart(items, 'Grid Sys') // ['1'] - matches (partial tokens allowed as substrings)\n * searchSmart(items, 'System Unknown') // [] - no match ('unknown' not present)\n */\nexport function searchSmart(\n indexedItems: IndexedItem[],\n query: string,\n): string[] {\n if (!query || !indexedItems?.length) {\n return indexedItems?.map(item => item.id) || [];\n }\n\n const queryTokens = tokenize(query);\n\n if (!queryTokens.length) {\n return indexedItems.map(item => item.id);\n }\n\n return indexedItems\n .filter(item => {\n // All query tokens must be found as substrings in the normalized text\n return queryTokens.every(queryToken => item.norm.includes(queryToken));\n })\n .map(item => item.id);\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strict.js","sourceRoot":"","sources":["../../../../../src/utils/search-engine/strategies/strict.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,YAAY,CAC1B,YAA2B,EAC3B,KAAa;IAEb,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QACpC,OAAO,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAEzC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,YAAY;SAChB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;SACnD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC","sourcesContent":["/**\n * @fileoverview Strict search strategy using normalized substring matching.\n * Fast and deterministic - best for IDs, codes, and references.\n */\n\nimport type { IndexedItem } from '../types';\nimport { normalize } from '../normalize';\n\n/**\n * Searches items using strict substring matching.\n * The normalized query must be a substring of the normalized label.\n *\n * This is the fastest search mode but requires exact substring matches.\n * Word order matters: \"Grid System\" won't match \"System Grid\".\n *\n * @param {IndexedItem[]} indexedItems - Array of pre-indexed items\n * @param {string} query - The search query\n * @returns {string[]} Array of matching item IDs\n *\n * @example\n * // Given items: [{ id: '1', label: 'System Grid Control', norm: 'system grid control', tokens: [...] }]\n * searchStrict(items, 'System Grid') // ['1'] - matches\n * searchStrict(items, 'Grid Sys') // ['1'] - matches (substring)\n * searchStrict(items, 'Grid System') // [] - no match (wrong order)\n */\nexport function searchStrict(\n indexedItems: IndexedItem[],\n query: string,\n): string[] {\n if (!query || !indexedItems?.length) {\n return indexedItems?.map(item => item.id) || [];\n }\n\n const normalizedQuery = normalize(query);\n\n if (!normalizedQuery) {\n return indexedItems.map(item => item.id);\n }\n\n return indexedItems\n .filter(item => item.norm.includes(normalizedQuery))\n .map(item => item.id);\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"engine.test.js","sourceRoot":"","sources":["../../../../../src/utils/search-engine/test/engine.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, expect, test, beforeEach } from 'vitest';\nimport {\n search,\n shouldUseWorker,\n isWorkerSupported,\n getEffectiveFilterMode,\n} from '../engine';\nimport { buildIndex } from '../indexer';\nimport { clearFuzzyCache } from '../strategies/fuzzy';\nimport type { IndexedItem, RawItem } from '../types';\n\n// Test data\nconst rawItems: RawItem[] = [\n { id: '1', label: 'System Grid Controller' },\n { id: '2', label: 'Network Manager' },\n { id: '3', label: 'Data Service Handler' },\n { id: '4', label: 'Cloud Provider' },\n { id: '5', label: 'User Admin Panel' },\n];\n\nlet indexedItems: IndexedItem[];\n\nbeforeEach(() => {\n indexedItems = buildIndex(rawItems);\n clearFuzzyCache();\n});\n\ndescribe('search', () => {\n describe('strict mode', () => {\n test('should find substring matches', () => {\n const result = search(indexedItems, {\n query: 'System',\n filterMode: 'strict',\n });\n\n expect(result.ids).toContain('1');\n expect(result.truncated).toBe(false);\n });\n\n test('should not find reversed order', () => {\n const result = search(indexedItems, {\n query: 'Grid System',\n filterMode: 'strict',\n });\n\n expect(result.ids).not.toContain('1');\n });\n });\n\n describe('smart mode', () => {\n test('should find tokens in any order', () => {\n const result = search(indexedItems, {\n query: 'Grid System',\n filterMode: 'smart',\n });\n\n expect(result.ids).toContain('1');\n });\n\n test('should require all tokens', () => {\n const result = search(indexedItems, {\n query: 'System Unknown',\n filterMode: 'smart',\n });\n\n expect(result.ids).not.toContain('1');\n });\n });\n\n describe('fuzzy mode', () => {\n test('should tolerate typos', () => {\n const result = search(indexedItems, {\n query: 'Sytem',\n filterMode: 'fuzzy',\n fuzzyThreshold: 0.4,\n });\n\n expect(result.ids).toContain('1');\n });\n\n test('should find partial matches', () => {\n const result = search(indexedItems, {\n query: 'System',\n filterMode: 'fuzzy',\n });\n\n // Should find \"System Grid Controller\"\n expect(result.ids).toContain('1');\n });\n });\n\n describe('maxResults', () => {\n test('should limit results when exceeding maxResults', () => {\n // Generate more items to test truncation\n const manyItems = Array.from({ length: 25 }, (_, i) => ({\n id: String(i),\n label: `Item ${i}`,\n norm: `item ${i}`,\n tokens: ['item', String(i)],\n }));\n\n const result = search(manyItems, {\n query: '',\n filterMode: 'strict',\n maxResults: 15, // MIN_MAX_RESULTS is 10\n });\n\n expect(result.ids).toHaveLength(15);\n expect(result.total).toBe(25);\n expect(result.truncated).toBe(true);\n });\n\n test('should not truncate when under limit', () => {\n const result = search(indexedItems, {\n query: 'System',\n filterMode: 'strict',\n maxResults: 100,\n });\n\n expect(result.truncated).toBe(false);\n });\n\n test('should clamp maxResults to MIN when below minimum', () => {\n // MIN_MAX_RESULTS is 10, so maxResults: 2 becomes 10\n const result = search(indexedItems, {\n query: '',\n filterMode: 'strict',\n maxResults: 2,\n });\n\n // With 5 items and maxResults clamped to 10, no truncation\n expect(result.ids).toHaveLength(5);\n expect(result.truncated).toBe(false);\n });\n });\n\n describe('startFilterAt', () => {\n test('should return all items when query is too short', () => {\n const result = search(indexedItems, {\n query: 'Sy',\n filterMode: 'strict',\n startFilterAt: 3,\n });\n\n expect(result.ids).toHaveLength(5);\n });\n\n test('should filter when query meets minimum length', () => {\n const result = search(indexedItems, {\n query: 'System',\n filterMode: 'strict',\n startFilterAt: 3,\n });\n\n expect(result.ids).toContain('1');\n expect(result.ids.length).toBeLessThan(5);\n });\n });\n});\n\ndescribe('shouldUseWorker', () => {\n test('should return true for fuzzy mode regardless of item count', () => {\n expect(shouldUseWorker(100, 'fuzzy', 2000)).toBe(true);\n expect(shouldUseWorker(10, 'fuzzy', 2000)).toBe(true);\n });\n\n test('should return true when items exceed threshold', () => {\n expect(shouldUseWorker(3000, 'strict', 2000)).toBe(true);\n expect(shouldUseWorker(3000, 'smart', 2000)).toBe(true);\n });\n\n test('should return false when items below threshold for strict/smart', () => {\n expect(shouldUseWorker(1000, 'strict', 2000)).toBe(false);\n expect(shouldUseWorker(1000, 'smart', 2000)).toBe(false);\n });\n\n test('should handle edge case at threshold', () => {\n expect(shouldUseWorker(2000, 'strict', 2000)).toBe(false);\n expect(shouldUseWorker(2001, 'strict', 2000)).toBe(true);\n });\n});\n\ndescribe('isWorkerSupported', () => {\n test('should return boolean', () => {\n const result = isWorkerSupported();\n expect(typeof result).toBe('boolean');\n });\n});\n\ndescribe('getEffectiveFilterMode', () => {\n test('should return strict/smart modes as-is', () => {\n expect(getEffectiveFilterMode('strict')).toBe('strict');\n expect(getEffectiveFilterMode('smart')).toBe('smart');\n });\n\n test('should return fuzzy mode when workers are supported', () => {\n // In Node.js test environment, Worker might not be defined\n // but the function should still work\n const result = getEffectiveFilterMode('fuzzy');\n expect(['fuzzy', 'smart']).toContain(result);\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"guards.test.js","sourceRoot":"","sources":["../../../../../src/utils/search-engine/test/guards.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AAEnB,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC7D,MAAM,CAAC,eAAe,CAAC,IAAyB,CAAC,CAAC,CAAC,IAAI,CACrD,mBAAmB,CACpB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACzD,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/D,MAAM,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvE,MAAM,CAAC,oBAAoB,CAAC,IAAyB,CAAC,CAAC,CAAC,IAAI,CAC1D,wBAAwB,CACzB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9D,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAChE,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACrE,MAAM,CAAC,mBAAmB,CAAC,IAAyB,CAAC,CAAC,CAAC,IAAI,CACzD,uBAAuB,CACxB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe, expect, test } from 'vitest';\nimport {\n clampMaxResults,\n clampWorkerThreshold,\n clampFuzzyThreshold,\n DEFAULT_MAX_RESULTS,\n MIN_MAX_RESULTS,\n HARD_CAP_MAX_RESULTS,\n DEFAULT_WORKER_THRESHOLD,\n MIN_WORKER_THRESHOLD,\n MAX_WORKER_THRESHOLD,\n DEFAULT_FUZZY_THRESHOLD,\n} from '../guards';\n\ndescribe('clampMaxResults', () => {\n test('should return default when undefined', () => {\n expect(clampMaxResults(undefined)).toBe(DEFAULT_MAX_RESULTS);\n expect(clampMaxResults(null as unknown as number)).toBe(\n DEFAULT_MAX_RESULTS,\n );\n });\n\n test('should clamp to minimum', () => {\n expect(clampMaxResults(5)).toBe(MIN_MAX_RESULTS);\n expect(clampMaxResults(0)).toBe(MIN_MAX_RESULTS);\n expect(clampMaxResults(-100)).toBe(MIN_MAX_RESULTS);\n });\n\n test('should clamp to hard cap', () => {\n expect(clampMaxResults(1000)).toBe(HARD_CAP_MAX_RESULTS);\n expect(clampMaxResults(9999)).toBe(HARD_CAP_MAX_RESULTS);\n });\n\n test('should return valid values as-is (floored)', () => {\n expect(clampMaxResults(100)).toBe(100);\n expect(clampMaxResults(200)).toBe(200);\n expect(clampMaxResults(100.7)).toBe(100);\n });\n\n test('should respect boundary values', () => {\n expect(clampMaxResults(MIN_MAX_RESULTS)).toBe(MIN_MAX_RESULTS);\n expect(clampMaxResults(HARD_CAP_MAX_RESULTS)).toBe(HARD_CAP_MAX_RESULTS);\n });\n});\n\ndescribe('clampWorkerThreshold', () => {\n test('should return default when undefined', () => {\n expect(clampWorkerThreshold(undefined)).toBe(DEFAULT_WORKER_THRESHOLD);\n expect(clampWorkerThreshold(null as unknown as number)).toBe(\n DEFAULT_WORKER_THRESHOLD,\n );\n });\n\n test('should clamp to minimum (0)', () => {\n expect(clampWorkerThreshold(-100)).toBe(MIN_WORKER_THRESHOLD);\n expect(clampWorkerThreshold(-1)).toBe(MIN_WORKER_THRESHOLD);\n });\n\n test('should clamp to maximum', () => {\n expect(clampWorkerThreshold(100000)).toBe(MAX_WORKER_THRESHOLD);\n expect(clampWorkerThreshold(999999)).toBe(MAX_WORKER_THRESHOLD);\n });\n\n test('should return valid values as-is (floored)', () => {\n expect(clampWorkerThreshold(2000)).toBe(2000);\n expect(clampWorkerThreshold(5000)).toBe(5000);\n expect(clampWorkerThreshold(2000.9)).toBe(2000);\n });\n\n test('should allow 0 (always use worker)', () => {\n expect(clampWorkerThreshold(0)).toBe(0);\n });\n});\n\ndescribe('clampFuzzyThreshold', () => {\n test('should return default when undefined', () => {\n expect(clampFuzzyThreshold(undefined)).toBe(DEFAULT_FUZZY_THRESHOLD);\n expect(clampFuzzyThreshold(null as unknown as number)).toBe(\n DEFAULT_FUZZY_THRESHOLD,\n );\n });\n\n test('should clamp to minimum (0)', () => {\n expect(clampFuzzyThreshold(-0.5)).toBe(0);\n expect(clampFuzzyThreshold(-1)).toBe(0);\n });\n\n test('should clamp to maximum (1)', () => {\n expect(clampFuzzyThreshold(1.5)).toBe(1);\n expect(clampFuzzyThreshold(2)).toBe(1);\n });\n\n test('should return valid values as-is', () => {\n expect(clampFuzzyThreshold(0.3)).toBe(0.3);\n expect(clampFuzzyThreshold(0.5)).toBe(0.5);\n expect(clampFuzzyThreshold(0)).toBe(0);\n expect(clampFuzzyThreshold(1)).toBe(1);\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"indexer.test.js","sourceRoot":"","sources":["../../../../../src/utils/search-engine/test/indexer.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGtD,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC7C,MAAM,KAAK,GAAc;YACvB,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,wBAAwB,EAAE;YAC5C,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE;SACtC,CAAC;QAEF,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAElC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACzB,EAAE,EAAE,GAAG;YACP,KAAK,EAAE,wBAAwB;YAC/B,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC;SACzC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACzB,EAAE,EAAE,GAAG;YACP,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,UAAU,CAAC,IAA4B,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,UAAU,CAAC,SAAiC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,KAAK,GAAc,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAEpE,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAElC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QACjD,MAAM,KAAK,GAAc,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;QAE/D,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAElC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC7C,MAAM,KAAK,GAAc,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAE3D,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAExC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe, expect, test } from 'vitest';\nimport { buildIndex, rebuildIndex } from '../indexer';\nimport type { RawItem } from '../types';\n\ndescribe('buildIndex', () => {\n test('should build index from raw items', () => {\n const items: RawItem[] = [\n { id: '1', label: 'System Grid Controller' },\n { id: '2', label: 'Network Manager' },\n ];\n\n const indexed = buildIndex(items);\n\n expect(indexed).toHaveLength(2);\n expect(indexed[0]).toEqual({\n id: '1',\n label: 'System Grid Controller',\n norm: 'system grid controller',\n tokens: ['system', 'grid', 'controller'],\n });\n expect(indexed[1]).toEqual({\n id: '2',\n label: 'Network Manager',\n norm: 'network manager',\n tokens: ['network', 'manager'],\n });\n });\n\n test('should handle empty array', () => {\n expect(buildIndex([])).toEqual([]);\n });\n\n test('should handle null/undefined', () => {\n expect(buildIndex(null as unknown as RawItem[])).toEqual([]);\n expect(buildIndex(undefined as unknown as RawItem[])).toEqual([]);\n });\n\n test('should normalize labels with accents', () => {\n const items: RawItem[] = [{ id: '1', label: 'Système Contrôleur' }];\n\n const indexed = buildIndex(items);\n\n expect(indexed[0].norm).toBe('systeme controleur');\n expect(indexed[0].tokens).toEqual(['systeme', 'controleur']);\n });\n\n test('should handle labels with punctuation', () => {\n const items: RawItem[] = [{ id: '1', label: 'Hello, World!' }];\n\n const indexed = buildIndex(items);\n\n expect(indexed[0].norm).toBe('hello world');\n expect(indexed[0].tokens).toEqual(['hello', 'world']);\n });\n});\n\ndescribe('rebuildIndex', () => {\n test('should be an alias for buildIndex', () => {\n const items: RawItem[] = [{ id: '1', label: 'Test Item' }];\n\n const fromBuild = buildIndex(items);\n const fromRebuild = rebuildIndex(items);\n\n expect(fromRebuild).toEqual(fromBuild);\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.test.js","sourceRoot":"","sources":["../../../../../src/utils/search-engine/test/normalize.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, expect, test } from 'vitest';\nimport { normalize, tokenize } from '../normalize';\n\ndescribe('normalize', () => {\n test('should convert to lowercase', () => {\n expect(normalize('HELLO WORLD')).toBe('hello world');\n expect(normalize('System Grid')).toBe('system grid');\n });\n\n test('should remove accents/diacritics', () => {\n expect(normalize('Système')).toBe('systeme');\n expect(normalize('café')).toBe('cafe');\n expect(normalize('résumé')).toBe('resume');\n expect(normalize('naïve')).toBe('naive');\n });\n\n test('should replace punctuation with spaces', () => {\n expect(normalize('Hello, World!')).toBe('hello world');\n expect(normalize('user@email.com')).toBe('user email com');\n expect(normalize('test-case')).toBe('test case');\n });\n\n test('should collapse multiple spaces', () => {\n expect(normalize(' Multiple Spaces ')).toBe('multiple spaces');\n expect(normalize('a b')).toBe('a b');\n });\n\n test('should trim whitespace', () => {\n expect(normalize(' hello ')).toBe('hello');\n expect(normalize('\\thello\\n')).toBe('hello');\n });\n\n test('should handle empty or null input', () => {\n expect(normalize('')).toBe('');\n expect(normalize(null as unknown as string)).toBe('');\n expect(normalize(undefined as unknown as string)).toBe('');\n });\n\n test('should handle combined transformations', () => {\n expect(normalize(' Système Grid, Controller! ')).toBe(\n 'systeme grid controller',\n );\n expect(normalize('Héllo-Wörld')).toBe('hello world');\n });\n});\n\ndescribe('tokenize', () => {\n test('should split by whitespace and normalize', () => {\n expect(tokenize('System Grid Control')).toEqual([\n 'system',\n 'grid',\n 'control',\n ]);\n expect(tokenize('Hello World')).toEqual(['hello', 'world']);\n });\n\n test('should handle punctuation', () => {\n expect(tokenize('Hello, World!')).toEqual(['hello', 'world']);\n expect(tokenize('user@email.com')).toEqual(['user', 'email', 'com']);\n });\n\n test('should remove accents', () => {\n expect(tokenize('Système Grïd')).toEqual(['systeme', 'grid']);\n });\n\n test('should handle empty input', () => {\n expect(tokenize('')).toEqual([]);\n expect(tokenize(' ')).toEqual([]);\n expect(tokenize(null as unknown as string)).toEqual([]);\n });\n\n test('should filter empty tokens', () => {\n expect(tokenize('a b c')).toEqual(['a', 'b', 'c']);\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.test.js","sourceRoot":"","sources":["../../../../../src/utils/search-engine/test/strategies.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, expect, test, beforeEach } from 'vitest';\nimport { searchStrict } from '../strategies/strict';\nimport { searchSmart } from '../strategies/smart';\nimport { searchFuzzy, clearFuzzyCache } from '../strategies/fuzzy';\nimport { buildIndex } from '../indexer';\nimport type { IndexedItem, RawItem } from '../types';\n\n// Test data\nconst rawItems: RawItem[] = [\n { id: '1', label: 'System Grid Controller' },\n { id: '2', label: 'Network Manager' },\n { id: '3', label: 'Data Service Handler' },\n { id: '4', label: 'Cloud Provider' },\n { id: '5', label: 'User Admin Panel' },\n];\n\nlet indexedItems: IndexedItem[];\n\nbeforeEach(() => {\n indexedItems = buildIndex(rawItems);\n clearFuzzyCache();\n});\n\ndescribe('searchStrict', () => {\n test('should find exact substring matches', () => {\n const results = searchStrict(indexedItems, 'System Grid');\n expect(results).toEqual(['1']);\n });\n\n test('should be case-insensitive', () => {\n const results = searchStrict(indexedItems, 'system grid');\n expect(results).toEqual(['1']);\n });\n\n test('should find partial matches', () => {\n const results = searchStrict(indexedItems, 'Manager');\n expect(results).toEqual(['2']);\n });\n\n test('should NOT match reversed word order', () => {\n // \"Grid System\" should NOT match \"System Grid Controller\"\n const results = searchStrict(indexedItems, 'Grid System');\n expect(results).toEqual([]);\n });\n\n test('should return all items for empty query', () => {\n const results = searchStrict(indexedItems, '');\n expect(results).toHaveLength(5);\n });\n\n test('should handle accented queries', () => {\n const items = buildIndex([{ id: '1', label: 'Système' }]);\n const results = searchStrict(items, 'systeme');\n expect(results).toEqual(['1']);\n });\n\n test('should return empty array for no matches', () => {\n const results = searchStrict(indexedItems, 'NonExistent');\n expect(results).toEqual([]);\n });\n});\n\ndescribe('searchSmart', () => {\n test('should find all tokens regardless of order', () => {\n // \"Grid System\" should match \"System Grid Controller\" (tokens: grid, system)\n const results = searchSmart(indexedItems, 'Grid System');\n expect(results).toEqual(['1']);\n });\n\n test('should require ALL tokens to be present', () => {\n // \"System Unknown\" should NOT match anything\n const results = searchSmart(indexedItems, 'System Unknown');\n expect(results).toEqual([]);\n });\n\n test('should match partial tokens as substrings', () => {\n // \"Sys Grid\" should match \"System Grid Controller\"\n const results = searchSmart(indexedItems, 'Sys Grid');\n expect(results).toEqual(['1']);\n });\n\n test('should be case-insensitive', () => {\n const results = searchSmart(indexedItems, 'NETWORK MANAGER');\n expect(results).toEqual(['2']);\n });\n\n test('should return all items for empty query', () => {\n const results = searchSmart(indexedItems, '');\n expect(results).toHaveLength(5);\n });\n\n test('should find multiple matches', () => {\n // \"er\" should match \"Manager\", \"Handler\", \"Provider\", etc.\n const results = searchSmart(indexedItems, 'er');\n expect(results.length).toBeGreaterThan(1);\n });\n});\n\ndescribe('searchFuzzy', () => {\n test('should find exact matches', () => {\n const results = searchFuzzy(indexedItems, 'System Grid');\n expect(results).toContain('1');\n });\n\n test('should tolerate typos', () => {\n // \"Sytem\" (typo) should match \"System Grid Controller\"\n const results = searchFuzzy(indexedItems, 'Sytem', 0.4);\n expect(results).toContain('1');\n });\n\n test('should find partial word matches', () => {\n // Fuzzy finds similar strings, not reordered tokens\n const results = searchFuzzy(indexedItems, 'System', 0.3);\n expect(results).toContain('1');\n });\n\n test('should return results sorted by relevance', () => {\n const results = searchFuzzy(indexedItems, 'Manager');\n // Network Manager should be first/included\n expect(results).toContain('2');\n });\n\n test('should return empty for no matches', () => {\n const results = searchFuzzy(indexedItems, 'xyznonexistent', 0.1);\n expect(results).toEqual([]);\n });\n\n test('should respect threshold parameter', () => {\n // Very strict threshold should return fewer results\n const strictResults = searchFuzzy(indexedItems, 'Sytem', 0.1);\n const looseResults = searchFuzzy(indexedItems, 'Sytem', 0.6);\n\n expect(looseResults.length).toBeGreaterThanOrEqual(strictResults.length);\n });\n\n test('should return all items for empty query', () => {\n const results = searchFuzzy(indexedItems, '');\n expect(results).toHaveLength(5);\n });\n});\n\ndescribe('Mode Comparison', () => {\n test('\"System Grid\" should match in all modes', () => {\n expect(searchStrict(indexedItems, 'System Grid')).toContain('1');\n expect(searchSmart(indexedItems, 'System Grid')).toContain('1');\n expect(searchFuzzy(indexedItems, 'System Grid')).toContain('1');\n });\n\n test('\"Grid System\" (reversed) should only match in smart mode', () => {\n // Strict: requires exact substring order\n expect(searchStrict(indexedItems, 'Grid System')).not.toContain('1');\n // Smart: matches tokens in any order\n expect(searchSmart(indexedItems, 'Grid System')).toContain('1');\n // Note: Fuzzy (Fuse.js) matches similar strings, not reordered tokens\n // \"Grid System\" vs \"System Grid Controller\" is different enough\n });\n\n test('\"Sytem\" (typo) should only match in fuzzy', () => {\n expect(searchStrict(indexedItems, 'Sytem')).toEqual([]);\n expect(searchSmart(indexedItems, 'Sytem')).toEqual([]);\n // Fuzzy with loose threshold should find it\n expect(searchFuzzy(indexedItems, 'Sytem', 0.4)).toContain('1');\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/utils/search-engine/types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * @fileoverview Type definitions for the search engine module.\n * Provides interfaces for indexing items and search operations.\n */\n\n/**\n * Represents an indexed item ready for searching.\n * Contains pre-computed normalized text and tokens for performance.\n */\nexport interface IndexedItem {\n /** Unique identifier for the item */\n id: string;\n /** Original label text */\n label: string;\n /** Normalized version of the label (lowercase, no accents, etc.) */\n norm: string;\n /** Tokenized version of the normalized label */\n tokens: string[];\n}\n\n/**\n * Represents the result of a search operation.\n */\nexport interface SearchResult {\n /** Array of matching item IDs */\n ids: string[];\n /** Total number of matches before truncation */\n total: number;\n /** Whether results were truncated due to maxResults limit */\n truncated: boolean;\n}\n\n/**\n * Filter mode for search operations.\n * - 'strict': Simple substring matching (normalized includes)\n * - 'smart': Token-based matching (all query tokens must exist, order ignored)\n * - 'fuzzy': Typo-tolerant matching using Fuse.js (runs in Web Worker)\n */\nexport type FilterMode = 'strict' | 'smart' | 'fuzzy';\n\n/**\n * Options for search operations.\n */\nexport interface SearchOptions {\n /** The search query string */\n query: string;\n /** Filter mode to use for matching */\n filterMode: FilterMode;\n /** Maximum number of results to return (default: 200, hard cap: 500) */\n maxResults?: number;\n /** Minimum query length before filtering starts (default: 0) */\n startFilterAt?: number;\n /** Threshold for fuzzy matching (0-1, lower = stricter, default: 0.3) */\n fuzzyThreshold?: number;\n}\n\n/**\n * Raw item input for building the search index.\n */\nexport interface RawItem {\n /** Unique identifier for the item */\n id: string;\n /** Display label for the item */\n label: string;\n}\n\n/**\n * Message types for Web Worker communication.\n */\nexport type WorkerMessageType = 'INIT' | 'SEARCH' | 'RESULT' | 'ERROR';\n\n/**\n * Message sent to the search worker.\n */\nexport interface WorkerRequest {\n /** Message type for the worker request */\n type: 'INIT' | 'SEARCH';\n /** Unique identifier for request tracking */\n requestId: string;\n /** Request payload data */\n payload: WorkerInitPayload | WorkerSearchPayload;\n}\n\n/**\n * Payload for initializing the worker with items.\n */\nexport interface WorkerInitPayload {\n /** Items to index in the worker */\n items: RawItem[];\n}\n\n/**\n * Payload for search requests.\n */\nexport interface WorkerSearchPayload {\n /** Search query string */\n query: string;\n /** Filter mode to use */\n filterMode: FilterMode;\n /** Maximum results to return */\n maxResults: number;\n /** Fuzzy matching threshold */\n fuzzyThreshold: number;\n}\n\n/**\n * Response from the search worker.\n */\nexport interface WorkerResponse {\n /** Response type */\n type: 'RESULT' | 'ERROR';\n /** Request ID for matching responses */\n requestId: string;\n /** Response payload with results or error */\n payload: SearchResult | { /** Error message */ error: string };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/utils/search-engine/worker/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC","sourcesContent":["/**\n * @fileoverview Worker module exports for the search engine.\n */\n\nexport { SearchWorkerClient } from './worker-client';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search.worker.js","sourceRoot":"","sources":["../../../../../src/utils/search-engine/worker/search.worker.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @fileoverview Web Worker for search operations.\n * Handles fuzzy search with Fuse.js and large dataset filtering.\n * Keeps the main thread responsive by offloading heavy computations.\n */\n\nimport type {\n WorkerRequest,\n WorkerResponse,\n WorkerInitPayload,\n WorkerSearchPayload,\n RawItem,\n IndexedItem,\n SearchResult,\n} from '../types';\nimport { buildIndex } from '../indexer';\nimport { searchStrict } from '../strategies/strict';\nimport { searchSmart } from '../strategies/smart';\nimport { clampMaxResults, clampFuzzyThreshold } from '../guards';\n\n// Fuse.js will be dynamically imported only when fuzzy mode is used\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet Fuse: any = null;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet fuseInstance: any = null;\n\n/** Current indexed items */\nlet indexedItems: IndexedItem[] = [];\n\n/** Raw items for Fuse.js initialization */\nlet rawItems: RawItem[] = [];\n\n/**\n * Handles INIT message - indexes items for searching.\n * @param {WorkerInitPayload} payload - The initialization payload containing items to index\n */\nfunction handleInit(payload: WorkerInitPayload): void {\n rawItems = payload.items;\n indexedItems = buildIndex(payload.items);\n\n // Reset Fuse instance so it gets re-created with new items\n fuseInstance = null;\n}\n\n/**\n * Lazily loads Fuse.js when fuzzy search is first needed.\n * @returns {Promise<void>} Promise that resolves when Fuse.js is loaded\n */\nasync function loadFuse(): Promise<void> {\n if (Fuse) return;\n\n try {\n // Dynamic import of Fuse.js\n const module = await import('fuse.js');\n Fuse = module.default || module;\n } catch (error) {\n console.error('Failed to load Fuse.js:', error);\n throw new Error(\n 'Fuse.js is required for fuzzy search but could not be loaded',\n );\n }\n}\n\n/**\n * Creates or returns the Fuse.js instance.\n * @param {number} threshold - The fuzzy matching threshold (0-1)\n * @returns {Promise<typeof fuseInstance>} Promise that resolves to the Fuse.js instance\n */\nasync function getFuseInstance(\n threshold: number,\n): Promise<typeof fuseInstance> {\n await loadFuse();\n\n if (!fuseInstance) {\n fuseInstance = new Fuse(rawItems, {\n keys: ['label'],\n threshold: threshold,\n includeScore: true,\n ignoreLocation: true,\n findAllMatches: true,\n });\n } else {\n // Update threshold if it changed\n fuseInstance.options.threshold = threshold;\n }\n\n return fuseInstance;\n}\n\n/**\n * Performs fuzzy search using Fuse.js.\n * @param {string} query - The search query string\n * @param {number} maxResults - Maximum number of results to return\n * @param {number} fuzzyThreshold - The fuzzy matching threshold (0-1)\n * @returns {Promise<SearchResult>} Promise that resolves to the search result\n */\nasync function searchFuzzy(\n query: string,\n maxResults: number,\n fuzzyThreshold: number,\n): Promise<SearchResult> {\n const fuse = await getFuseInstance(fuzzyThreshold);\n const results = fuse.search(query);\n\n const total = results.length;\n const truncated = total > maxResults;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const ids = results.slice(0, maxResults).map((result: any) => result.item.id);\n\n return { ids, total, truncated };\n}\n\n/**\n * Handles SEARCH message - performs search based on filter mode.\n * @param {WorkerSearchPayload} payload - The search payload containing query and options\n * @returns {Promise<SearchResult>} Promise that resolves to the search result\n */\nasync function handleSearch(\n payload: WorkerSearchPayload,\n): Promise<SearchResult> {\n const {\n query,\n filterMode,\n maxResults: rawMaxResults,\n fuzzyThreshold: rawFuzzyThreshold,\n } = payload;\n\n const maxResults = clampMaxResults(rawMaxResults);\n const fuzzyThreshold = clampFuzzyThreshold(rawFuzzyThreshold);\n\n // Return all items if query is empty\n if (!query) {\n const allIds = indexedItems.map(item => item.id);\n const truncated = allIds.length > maxResults;\n return {\n ids: allIds.slice(0, maxResults),\n total: allIds.length,\n truncated,\n };\n }\n\n let matchingIds: string[];\n\n switch (filterMode) {\n case 'fuzzy':\n return searchFuzzy(query, maxResults, fuzzyThreshold);\n\n case 'smart':\n matchingIds = searchSmart(indexedItems, query);\n break;\n\n case 'strict':\n default:\n matchingIds = searchStrict(indexedItems, query);\n break;\n }\n\n // Apply maxResults limit\n const total = matchingIds.length;\n const truncated = total > maxResults;\n const limitedIds = truncated ? matchingIds.slice(0, maxResults) : matchingIds;\n\n return { ids: limitedIds, total, truncated };\n}\n\n/**\n * Sends a response back to the main thread.\n * @param {WorkerResponse} response - The response object to send\n */\nfunction sendResponse(response: WorkerResponse): void {\n self.postMessage(response);\n}\n\n/**\n * Main message handler for the worker.\n * @param {MessageEvent<WorkerRequest>} event - The message event from the main thread\n */\nself.onmessage = async (event: MessageEvent<WorkerRequest>) => {\n const { type, requestId, payload } = event.data;\n\n try {\n switch (type) {\n case 'INIT':\n handleInit(payload as WorkerInitPayload);\n sendResponse({\n type: 'RESULT',\n requestId,\n payload: { ids: [], total: indexedItems.length, truncated: false },\n });\n break;\n\n case 'SEARCH': {\n const result = await handleSearch(payload as WorkerSearchPayload);\n sendResponse({\n type: 'RESULT',\n requestId,\n payload: result,\n });\n break;\n }\n\n default:\n sendResponse({\n type: 'ERROR',\n requestId,\n payload: { error: `Unknown message type: ${type}` },\n });\n }\n } catch (error) {\n sendResponse({\n type: 'ERROR',\n requestId,\n payload: {\n error: error instanceof Error ? error.message : 'Unknown error',\n },\n });\n }\n};\n"]}
|