@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,1189 +1 @@
|
|
|
1
|
-
import { p as proxyCustomElement, H, c as createEvent, f as forceUpdate, h, d as Host } from './p-C63Xpg9a.js';
|
|
2
|
-
import { g as TimeType } from './p-BReL3Lsa.js';
|
|
3
|
-
import { d as defineCustomElement$5 } from './p-nfYynlVq.js';
|
|
4
|
-
import { d as defineCustomElement$4 } from './p-DvapDVBj.js';
|
|
5
|
-
import { d as defineCustomElement$3 } from './p-COnt5ux_.js';
|
|
6
|
-
import { d as defineCustomElement$2 } from './p-B9i3m6rk.js';
|
|
7
|
-
import { v as v4 } from './p-BdYh22OP.js';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Format configurations for all supported time formats
|
|
11
|
-
*/
|
|
12
|
-
const FORMAT_CONFIGS = {
|
|
13
|
-
'HH': {
|
|
14
|
-
pattern: /^([0-1]?[0-9]|2[0-3])$/,
|
|
15
|
-
parts: [TimeType.Hours],
|
|
16
|
-
defaultValue: '00',
|
|
17
|
-
maxLength: 2,
|
|
18
|
-
},
|
|
19
|
-
'HH:mm': {
|
|
20
|
-
pattern: /^([0-1]?[0-9]|2[0-3]):([0-5]?[0-9])$/,
|
|
21
|
-
parts: [TimeType.Hours, TimeType.Minutes],
|
|
22
|
-
defaultValue: '00:00',
|
|
23
|
-
maxLength: 5,
|
|
24
|
-
},
|
|
25
|
-
'HH:mm:ss': {
|
|
26
|
-
pattern: /^([0-1]?[0-9]|2[0-3]):([0-5]?[0-9]):([0-5]?[0-9])$/,
|
|
27
|
-
parts: [TimeType.Hours, TimeType.Minutes, TimeType.Seconds],
|
|
28
|
-
defaultValue: '00:00:00',
|
|
29
|
-
maxLength: 8,
|
|
30
|
-
},
|
|
31
|
-
'hh': {
|
|
32
|
-
pattern: /^(0?[1-9]|1[0-2])$/,
|
|
33
|
-
parts: [TimeType.Hours],
|
|
34
|
-
defaultValue: '01',
|
|
35
|
-
maxLength: 2,
|
|
36
|
-
},
|
|
37
|
-
'hh:mm': {
|
|
38
|
-
pattern: /^(0?[1-9]|1[0-2]):([0-5]?[0-9])$/,
|
|
39
|
-
parts: [TimeType.Hours, TimeType.Minutes],
|
|
40
|
-
defaultValue: '01:00',
|
|
41
|
-
maxLength: 5,
|
|
42
|
-
},
|
|
43
|
-
'hh:mm:ss': {
|
|
44
|
-
pattern: /^(0?[1-9]|1[0-2]):([0-5]?[0-9]):([0-5]?[0-9])$/,
|
|
45
|
-
parts: [TimeType.Hours, TimeType.Minutes, TimeType.Seconds],
|
|
46
|
-
defaultValue: '01:00:00',
|
|
47
|
-
maxLength: 8,
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
/**
|
|
51
|
-
* Returns the visible time types for a given format
|
|
52
|
-
* @param {string} format - The time format string
|
|
53
|
-
* @returns {TimeType[]} Array of TimeType values that should be visible
|
|
54
|
-
*/
|
|
55
|
-
function getVisibleTimeTypes(format) {
|
|
56
|
-
const config = FORMAT_CONFIGS[format];
|
|
57
|
-
if (!config) {
|
|
58
|
-
// Fallback for unknown formats
|
|
59
|
-
return [TimeType.Hours, TimeType.Minutes, TimeType.Seconds];
|
|
60
|
-
}
|
|
61
|
-
return config.parts;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Validates if a given value string matches the expected format pattern
|
|
65
|
-
* @param {string} value - The time value string to validate
|
|
66
|
-
* @param {string} format - The expected time format
|
|
67
|
-
* @returns {boolean} True if the value matches the format, false otherwise
|
|
68
|
-
*/
|
|
69
|
-
function isValidFormatValue(value, format) {
|
|
70
|
-
if (!value || !format) {
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
const config = FORMAT_CONFIGS[format];
|
|
74
|
-
if (!config) {
|
|
75
|
-
return false;
|
|
76
|
-
}
|
|
77
|
-
return config.pattern.test(value);
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Parses a time value string according to the specified format
|
|
81
|
-
* Handles both full and partial time strings with backward compatibility
|
|
82
|
-
* @param {string} value - The time value string to parse
|
|
83
|
-
* @param {string} format - The target time format
|
|
84
|
-
* @returns {TimeComponents} TimeComponents object with parsed hours, minutes, and seconds
|
|
85
|
-
*/
|
|
86
|
-
function parseValueByFormat(value, format) {
|
|
87
|
-
const config = FORMAT_CONFIGS[format];
|
|
88
|
-
const defaultComponents = {
|
|
89
|
-
hours: format.startsWith('hh') ? '01' : '00',
|
|
90
|
-
minutes: '00',
|
|
91
|
-
seconds: '00',
|
|
92
|
-
};
|
|
93
|
-
if (!value || !config) {
|
|
94
|
-
return defaultComponents;
|
|
95
|
-
}
|
|
96
|
-
// Clean the input value - remove non-numeric characters except colons
|
|
97
|
-
const cleanValue = value.replace(/[^0-9:]/g, '');
|
|
98
|
-
// Try to match the exact format first
|
|
99
|
-
const exactMatch = cleanValue.match(config.pattern);
|
|
100
|
-
if (exactMatch) {
|
|
101
|
-
return extractComponentsFromMatch(exactMatch, format);
|
|
102
|
-
}
|
|
103
|
-
// Handle backward compatibility - parse full format values when format is shorter
|
|
104
|
-
const fullFormatPattern = /^([0-1]?[0-9]|2[0-3]):([0-5]?[0-9]):([0-5]?[0-9])$/;
|
|
105
|
-
const fullMatch = cleanValue.match(fullFormatPattern);
|
|
106
|
-
if (fullMatch) {
|
|
107
|
-
const fullComponents = extractComponentsFromMatch(fullMatch, 'HH:mm:ss');
|
|
108
|
-
return extractRelevantComponents(fullComponents, format);
|
|
109
|
-
}
|
|
110
|
-
// Handle partial format values - try to parse what we can
|
|
111
|
-
const parts = cleanValue.split(':');
|
|
112
|
-
const result = { ...defaultComponents };
|
|
113
|
-
if (parts.length >= 1 && parts[0]) {
|
|
114
|
-
const hours = parseInt(parts[0], 10);
|
|
115
|
-
if (!isNaN(hours)) {
|
|
116
|
-
if (format.startsWith('hh')) {
|
|
117
|
-
// 12-hour format validation
|
|
118
|
-
if (hours >= 1 && hours <= 12) {
|
|
119
|
-
result.hours = hours.toString().padStart(2, '0');
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
// Invalid hour for 12-hour format, keep default
|
|
123
|
-
result.hours = defaultComponents.hours;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
// 24-hour format validation
|
|
128
|
-
if (hours >= 0 && hours <= 23) {
|
|
129
|
-
result.hours = hours.toString().padStart(2, '0');
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
// Invalid hour for 24-hour format, keep default
|
|
133
|
-
result.hours = defaultComponents.hours;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
if (parts.length >= 2 &&
|
|
139
|
-
parts[1] &&
|
|
140
|
-
config.parts.includes(TimeType.Minutes)) {
|
|
141
|
-
const minutes = parseInt(parts[1], 10);
|
|
142
|
-
if (!isNaN(minutes) && minutes >= 0 && minutes <= 59) {
|
|
143
|
-
result.minutes = minutes.toString().padStart(2, '0');
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
if (parts.length >= 3 &&
|
|
147
|
-
parts[2] &&
|
|
148
|
-
config.parts.includes(TimeType.Seconds)) {
|
|
149
|
-
const seconds = parseInt(parts[2], 10);
|
|
150
|
-
if (!isNaN(seconds) && seconds >= 0 && seconds <= 59) {
|
|
151
|
-
result.seconds = seconds.toString().padStart(2, '0');
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
return result;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Extracts time components from a regex match result
|
|
158
|
-
* @param {RegExpMatchArray} match - The regex match result
|
|
159
|
-
* @param {string} format - The format that was matched
|
|
160
|
-
* @returns {TimeComponents} TimeComponents object
|
|
161
|
-
*/
|
|
162
|
-
function extractComponentsFromMatch(match, format) {
|
|
163
|
-
const result = {
|
|
164
|
-
hours: format.startsWith('hh') ? '01' : '00',
|
|
165
|
-
minutes: '00',
|
|
166
|
-
seconds: '00',
|
|
167
|
-
};
|
|
168
|
-
if (match[1]) {
|
|
169
|
-
result.hours = parseInt(match[1], 10).toString().padStart(2, '0');
|
|
170
|
-
}
|
|
171
|
-
if (match[2]) {
|
|
172
|
-
result.minutes = parseInt(match[2], 10).toString().padStart(2, '0');
|
|
173
|
-
}
|
|
174
|
-
if (match[3]) {
|
|
175
|
-
result.seconds = parseInt(match[3], 10).toString().padStart(2, '0');
|
|
176
|
-
}
|
|
177
|
-
return result;
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* Extracts only the relevant components based on the target format
|
|
181
|
-
* @param {TimeComponents} components - Full time components
|
|
182
|
-
* @param {string} format - Target format to extract components for
|
|
183
|
-
* @returns {TimeComponents} TimeComponents with only relevant parts
|
|
184
|
-
*/
|
|
185
|
-
function extractRelevantComponents(components, format) {
|
|
186
|
-
const config = FORMAT_CONFIGS[format];
|
|
187
|
-
const result = {
|
|
188
|
-
hours: format.startsWith('hh') ? '01' : '00',
|
|
189
|
-
minutes: '00',
|
|
190
|
-
seconds: '00',
|
|
191
|
-
};
|
|
192
|
-
if (config.parts.includes(TimeType.Hours)) {
|
|
193
|
-
// Validate hours for the target format
|
|
194
|
-
const hours = parseInt(components.hours, 10);
|
|
195
|
-
if (format.startsWith('hh')) {
|
|
196
|
-
// 12-hour format validation
|
|
197
|
-
if (hours >= 1 && hours <= 12) {
|
|
198
|
-
result.hours = components.hours;
|
|
199
|
-
}
|
|
200
|
-
// If invalid, keep the default '01'
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
// 24-hour format validation
|
|
204
|
-
if (hours >= 0 && hours <= 23) {
|
|
205
|
-
result.hours = components.hours;
|
|
206
|
-
}
|
|
207
|
-
// If invalid, keep the default '00'
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
if (config.parts.includes(TimeType.Minutes)) {
|
|
211
|
-
result.minutes = components.minutes;
|
|
212
|
-
}
|
|
213
|
-
if (config.parts.includes(TimeType.Seconds)) {
|
|
214
|
-
result.seconds = components.seconds;
|
|
215
|
-
}
|
|
216
|
-
return result;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Reconstructs a time string from components according to the specified format
|
|
220
|
-
* @param {TimeComponents} components - Time components to reconstruct
|
|
221
|
-
* @param {string} format - Target format for reconstruction
|
|
222
|
-
* @returns {string} Formatted time string
|
|
223
|
-
*/
|
|
224
|
-
function reconstructTimeByFormat(components, format) {
|
|
225
|
-
const config = FORMAT_CONFIGS[format];
|
|
226
|
-
if (!config) {
|
|
227
|
-
return `${components.hours}:${components.minutes}:${components.seconds}`;
|
|
228
|
-
}
|
|
229
|
-
switch (format) {
|
|
230
|
-
case 'HH':
|
|
231
|
-
case 'hh':
|
|
232
|
-
return components.hours;
|
|
233
|
-
case 'HH:mm':
|
|
234
|
-
case 'hh:mm':
|
|
235
|
-
return `${components.hours}:${components.minutes}`;
|
|
236
|
-
case 'HH:mm:ss':
|
|
237
|
-
case 'hh:mm:ss':
|
|
238
|
-
return `${components.hours}:${components.minutes}:${components.seconds}`;
|
|
239
|
-
default:
|
|
240
|
-
return `${components.hours}:${components.minutes}:${components.seconds}`;
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
const nvFieldtimeCss = "nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldtime{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fieldtime[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fieldtime[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fieldtime[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fieldtime[required]:not([required=false]) label::after,nv-fieldtime[aria-required=true] label::after{content:\"*\";color:var(--components-form-text-required);font-weight:var(--font-weight-high-emphasis)}nv-fieldtime label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-label-line-height)}nv-fieldtime nv-popover{width:100%;display:block}nv-fieldtime nv-popover [data-scope=popover]{padding:var(--list-dropdown-padding);background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border);width:100%}nv-fieldtime nv-popover{z-index:9999}nv-fieldtime .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;width:100%}nv-fieldtime .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldtime .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtime .input-container:focus-within,nv-fieldtime .input-container:focus-within:hover,nv-fieldtime .input-container:focus,nv-fieldtime .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldtime .input-container:has(input:read-only){background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldtime .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtime .input-container{display:flex;justify-content:flex-start;align-items:center;position:relative;width:100%;min-height:40px;gap:0;padding-left:var(--form-field-padding-x)}nv-fieldtime .input-container input.time-input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-field-line-height);width:100%}nv-fieldtime .input-container input.time-input:focus{outline:none}nv-fieldtime .input-container input.time-input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-low-emphasis);line-height:var(--form-field-line-height)}nv-fieldtime .input-container input.time-input{}nv-fieldtime .input-container input.time-input[type=password]::-ms-clear,nv-fieldtime .input-container input.time-input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fieldtime .input-container input.time-input{width:100%;min-width:24px;flex:0 0 24px;text-align:center;padding:0;margin:0}nv-fieldtime .input-container input.time-input::-webkit-inner-spin-button,nv-fieldtime .input-container input.time-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}nv-fieldtime .input-container span{width:100%;text-align:center;min-width:24px;flex:0 0 24px;padding:0 4px;color:var(--components-form-field-content-text)}nv-fieldtime .input-container>nv-iconbutton{border:0px;border-radius:0px}nv-fieldtime .input-container>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fieldtime .input-container>nv-iconbutton:last-of-type{border-top-right-radius:var(--form-field-radius);border-bottom-right-radius:var(--form-field-radius)}nv-fieldtime .input-container>nv-iconbutton{margin-left:auto}nv-fieldtime .input-container nv-icon.validation{color:var(--nv-field-border-default);position:absolute;right:50px;top:50%;transform:translateY(-50%)}nv-fieldtime .input-container:focus,nv-fieldtime .input-container:focus-within{border-color:var(--color-focus-brand);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--color-focus-brand)}nv-fieldtime .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldtime .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fieldtime hr{border:none;border-top:1px solid var(--dropdown-divider-color, #ccc);margin:0.5rem 0}nv-fieldtime .time-dropdown{width:100%}nv-fieldtime .time-dropdown .time-columns{display:flex;justify-content:flex-start;align-items:center}nv-fieldtime .time-dropdown .time-columns .time-column{flex:1;text-align:center}nv-fieldtime .time-dropdown .time-columns .time-column::-webkit-scrollbar{width:6px;height:6px}nv-fieldtime .time-dropdown .time-columns .time-column::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}nv-fieldtime .time-dropdown .time-columns .time-column::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}nv-fieldtime .time-dropdown .time-columns .time-column{max-height:200px;overflow-y:auto;scroll-behavior:smooth;scrollbar-gutter:stable both-edges;scrollbar-gutter:auto}nv-fieldtime .time-dropdown .time-columns .time-column:last-child{border-right:none}nv-fieldtime .time-dropdown .time-columns .time-column .time-option{padding:var(--calendar-padding);text-align:center;cursor:pointer;transition:background-color 0.2s;border-radius:var(--list-dropdown-item-radius);color:var(--components-calendar-cell-text);font-size:var(--font-size-sm);display:flex;justify-content:center;align-items:center}nv-fieldtime .time-dropdown .time-columns .time-column .time-option:hover{background-color:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}nv-fieldtime .time-dropdown .time-columns .time-column .time-option:focus,nv-fieldtime .time-dropdown .time-columns .time-column .time-option:focus-within{background-color:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}nv-fieldtime .time-dropdown .time-columns .time-column .time-option.selected{background-color:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected)}nv-fieldtime .time-dropdown .time-columns .time-column .time-option.highlighted{background-color:var(--components-calendar-cell-background-hover);color:var(--components-menu-contextual-item-content-hover)}";
|
|
245
|
-
|
|
246
|
-
const NvFieldtime$1 = /*@__PURE__*/ proxyCustomElement(class NvFieldtime extends H {
|
|
247
|
-
constructor(registerHost) {
|
|
248
|
-
super();
|
|
249
|
-
if (registerHost !== false) {
|
|
250
|
-
this.__registerHost();
|
|
251
|
-
}
|
|
252
|
-
this.valueChanged = createEvent(this, "valueChanged", 3);
|
|
253
|
-
// Input elements for hours, minutes, and seconds
|
|
254
|
-
this.inputElements = {};
|
|
255
|
-
this.inputZeroAdded = {};
|
|
256
|
-
this.typeFocused = TimeType.Hours;
|
|
257
|
-
/****************************************************************************/
|
|
258
|
-
//#region STATES
|
|
259
|
-
this.hours = '00';
|
|
260
|
-
this.minutes = '00';
|
|
261
|
-
this.seconds = '00';
|
|
262
|
-
/**
|
|
263
|
-
* Sets the ID for the input element and the for attribute of the associated
|
|
264
|
-
* label. If no ID is provided, a random one will be automatically generated
|
|
265
|
-
* to ensure unique identification, facilitating proper label association and
|
|
266
|
-
* accessibility.
|
|
267
|
-
*/
|
|
268
|
-
this.inputId = v4();
|
|
269
|
-
/**
|
|
270
|
-
* Display the input field's content without allowing users to change it.
|
|
271
|
-
* Users can still click on it, select, and copy the text, but they won't be
|
|
272
|
-
* able to type or delete anything.
|
|
273
|
-
*/
|
|
274
|
-
this.readonly = false;
|
|
275
|
-
/**
|
|
276
|
-
* The disabled prop lets you turn off the input field so that users can't
|
|
277
|
-
* interact with it. When disabled, the field is grayed out and won't respond to
|
|
278
|
-
* clicks or touches.
|
|
279
|
-
*/
|
|
280
|
-
this.disabled = false;
|
|
281
|
-
/**
|
|
282
|
-
* Marks the input field as required, ensuring that the user must fill it out
|
|
283
|
-
* before submitting the form.
|
|
284
|
-
* @note This uses the native HTML `required` attribute, which triggers browser validation.
|
|
285
|
-
*/
|
|
286
|
-
this.required = false;
|
|
287
|
-
/**
|
|
288
|
-
* Marks the input field as required for accessibility purposes without triggering
|
|
289
|
-
* native HTML validation. Use this when implementing custom validation logic.
|
|
290
|
-
* @note When set, this uses `aria-required` instead of the native `required` attribute.
|
|
291
|
-
* This allows developers to implement custom validation while maintaining accessibility.
|
|
292
|
-
* @note If this prop is not explicitly set, the component will check for the HTML attribute
|
|
293
|
-
* 'aria-required' directly to determine if it should be applied.
|
|
294
|
-
*/
|
|
295
|
-
this.ariaRequiredAttr = false;
|
|
296
|
-
/**
|
|
297
|
-
* Changes the input field’s appearance to indicate successful input or
|
|
298
|
-
* validation.
|
|
299
|
-
*/
|
|
300
|
-
this.success = false;
|
|
301
|
-
/**
|
|
302
|
-
* Alters the input field's appearance to indicate an error, helping users
|
|
303
|
-
* identify fields that need correction.
|
|
304
|
-
* @validator error
|
|
305
|
-
*/
|
|
306
|
-
this.error = false;
|
|
307
|
-
/**
|
|
308
|
-
* Specifies the time format to be used.
|
|
309
|
-
* Available formats:
|
|
310
|
-
* - HH: 24-hour format (00-23)
|
|
311
|
-
* - HH:mm: 24-hour format with minutes (00:00-23:59)
|
|
312
|
-
* - HH:mm:ss: 24-hour format with minutes and seconds (00:00:00-23:59:59)
|
|
313
|
-
* - hh: 12-hour format (01-12)
|
|
314
|
-
* - hh:mm: 12-hour format with minutes (01:00-12:59)
|
|
315
|
-
* - hh:mm:ss: 12-hour format with minutes and seconds (01:00:00-12:59:59)
|
|
316
|
-
*
|
|
317
|
-
* The component automatically shows only the relevant input fields based on the selected format.
|
|
318
|
-
* When the format changes dynamically, the component re-parses the current value and updates
|
|
319
|
-
* the visible fields accordingly.
|
|
320
|
-
*/
|
|
321
|
-
this.format = 'HH:mm:ss';
|
|
322
|
-
/**
|
|
323
|
-
* State of the time picker popover.
|
|
324
|
-
*/
|
|
325
|
-
this.open = false;
|
|
326
|
-
/**
|
|
327
|
-
* The step interval in milliseconds for time increments/decrements.
|
|
328
|
-
* This affects how the time changes when using arrow keys or spinners.
|
|
329
|
-
*/
|
|
330
|
-
this.step = 60000; // In secondes
|
|
331
|
-
/**
|
|
332
|
-
* Applies focus to the input field as soon as the component is mounted. This
|
|
333
|
-
* is equivalent to setting the native autofocus attribute on an <input>
|
|
334
|
-
* element.
|
|
335
|
-
*/
|
|
336
|
-
this.autofocus = false;
|
|
337
|
-
}
|
|
338
|
-
//#endregion EVENTS
|
|
339
|
-
/****************************************************************************/
|
|
340
|
-
//#region LISTENERS
|
|
341
|
-
handleKeyDown(event) {
|
|
342
|
-
if (!this.open) {
|
|
343
|
-
if (event.key === 'ArrowDown') {
|
|
344
|
-
this.open = true;
|
|
345
|
-
event.preventDefault();
|
|
346
|
-
return;
|
|
347
|
-
}
|
|
348
|
-
return;
|
|
349
|
-
}
|
|
350
|
-
// Verify if the popover element is defined
|
|
351
|
-
if (!this.popoverElement) {
|
|
352
|
-
console.warn('nv-fieldtime -> Popover element is not defined');
|
|
353
|
-
return;
|
|
354
|
-
}
|
|
355
|
-
const stringSelector = `.time-column.time-column-${this.typeFocused} div`;
|
|
356
|
-
const items = Array.from(this.el.querySelectorAll(stringSelector));
|
|
357
|
-
// Verify if there are items to navigate
|
|
358
|
-
if (items.length === 0) {
|
|
359
|
-
console.warn('nv-fieldtime -> No dropdown items found to navigate');
|
|
360
|
-
return;
|
|
361
|
-
}
|
|
362
|
-
let currentIndex = items.findIndex(item => item.classList.contains('highlighted'));
|
|
363
|
-
if (event.key === 'ArrowDown') {
|
|
364
|
-
event.preventDefault();
|
|
365
|
-
currentIndex = (currentIndex + 1) % items.length;
|
|
366
|
-
this.updateHighlightedItem(items, currentIndex);
|
|
367
|
-
}
|
|
368
|
-
else if (event.key === 'ArrowUp') {
|
|
369
|
-
event.preventDefault();
|
|
370
|
-
currentIndex = (currentIndex - 1 + items.length) % items.length;
|
|
371
|
-
this.updateHighlightedItem(items, currentIndex);
|
|
372
|
-
}
|
|
373
|
-
else if (event.key === 'Enter' && currentIndex >= 0) {
|
|
374
|
-
event.preventDefault();
|
|
375
|
-
items[currentIndex].click();
|
|
376
|
-
// Navigate to the next visible field
|
|
377
|
-
const visibleTypes = getVisibleTimeTypes(this.format);
|
|
378
|
-
const currentTypeIndex = visibleTypes.indexOf(this.typeFocused);
|
|
379
|
-
const nextTypeIndex = currentTypeIndex + 1;
|
|
380
|
-
if (nextTypeIndex < visibleTypes.length) {
|
|
381
|
-
const nextType = visibleTypes[nextTypeIndex];
|
|
382
|
-
this.inputElements[nextType]?.focus();
|
|
383
|
-
this.inputElements[nextType]?.select();
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
else if (event.key === 'Escape') {
|
|
387
|
-
event.preventDefault();
|
|
388
|
-
const visibleTypes = getVisibleTimeTypes(this.format);
|
|
389
|
-
const firstVisibleType = visibleTypes[0];
|
|
390
|
-
if (firstVisibleType && this.inputElements[firstVisibleType]) {
|
|
391
|
-
this.inputElements[firstVisibleType].blur();
|
|
392
|
-
}
|
|
393
|
-
this.open = false;
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
//#endregion LISTENERS
|
|
397
|
-
/****************************************************************************/
|
|
398
|
-
//#region WATCHERS
|
|
399
|
-
handleValueChange(newValue) {
|
|
400
|
-
// Parse the new value and ensure it's in the correct format
|
|
401
|
-
if (newValue) {
|
|
402
|
-
const components = parseValueByFormat(newValue, this.format);
|
|
403
|
-
const formattedValue = reconstructTimeByFormat(components, this.format);
|
|
404
|
-
// Only emit if the formatted value is different from what we received
|
|
405
|
-
// This prevents infinite loops while ensuring format consistency
|
|
406
|
-
if (formattedValue !== newValue) {
|
|
407
|
-
this.value = formattedValue;
|
|
408
|
-
return; // The watcher will be called again with the formatted value
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
|
-
// Emit the value in the correct format
|
|
412
|
-
this.valueChanged.emit(newValue);
|
|
413
|
-
}
|
|
414
|
-
handleOpenChange(newOpen) {
|
|
415
|
-
// React to external changes, e.g., highlight current time on open
|
|
416
|
-
if (newOpen) {
|
|
417
|
-
// Re-highlight columns based on current value
|
|
418
|
-
const hourSelector = `.time-column.time-column-${TimeType.Hours} div`;
|
|
419
|
-
this.updateColumnHighlight(hourSelector, this.hours);
|
|
420
|
-
const minutesSelector = `.time-column.time-column-${TimeType.Minutes} div`;
|
|
421
|
-
this.updateColumnHighlight(minutesSelector, this.minutes);
|
|
422
|
-
const secondsSelector = `.time-column.time-column-${TimeType.Seconds} div`;
|
|
423
|
-
this.updateColumnHighlight(secondsSelector, this.seconds);
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
handleFormatChange(newFormat, oldFormat) {
|
|
427
|
-
if (newFormat === oldFormat) {
|
|
428
|
-
return; // No change, nothing to do
|
|
429
|
-
}
|
|
430
|
-
// Re-parse the current value with the new format
|
|
431
|
-
const currentValue = this.value || this.reconstructTime();
|
|
432
|
-
// Parse the current value using the old format to get the time components
|
|
433
|
-
const components = parseValueByFormat(currentValue, oldFormat || 'HH:mm:ss');
|
|
434
|
-
// Update the component state with the parsed components
|
|
435
|
-
this.hours = components.hours;
|
|
436
|
-
this.minutes = components.minutes;
|
|
437
|
-
this.seconds = components.seconds;
|
|
438
|
-
// Reconstruct the time value in the new format
|
|
439
|
-
const newValue = reconstructTimeByFormat(components, newFormat);
|
|
440
|
-
// Update the value, which will trigger the value watcher and emit the event
|
|
441
|
-
this.value = newValue;
|
|
442
|
-
// Force a re-render to update the visible input fields
|
|
443
|
-
forceUpdate(this.el);
|
|
444
|
-
}
|
|
445
|
-
//#endregion WATCHERS
|
|
446
|
-
/****************************************************************************/
|
|
447
|
-
//#region METHODS
|
|
448
|
-
handleInputChange(e, type) {
|
|
449
|
-
const inputElement = e.target;
|
|
450
|
-
const inputValue = inputElement.value.replace(/[^0-9]/g, ''); // Only keep numeric input
|
|
451
|
-
// Check if this field is visible for the current format
|
|
452
|
-
const visibleTypes = getVisibleTimeTypes(this.format);
|
|
453
|
-
if (!visibleTypes.includes(type)) {
|
|
454
|
-
return; // Don't process input for non-visible fields
|
|
455
|
-
}
|
|
456
|
-
// Update the time value based on the type
|
|
457
|
-
switch (type) {
|
|
458
|
-
case TimeType.Hours:
|
|
459
|
-
this.handleHoursChange(inputValue, type);
|
|
460
|
-
break;
|
|
461
|
-
case TimeType.Minutes:
|
|
462
|
-
this.handleMinutesChange(inputValue, type);
|
|
463
|
-
break;
|
|
464
|
-
case TimeType.Seconds:
|
|
465
|
-
this.handleSecondsChange(inputValue, type);
|
|
466
|
-
break;
|
|
467
|
-
}
|
|
468
|
-
// Reconstruct time from inputs in the correct format
|
|
469
|
-
const reconstructedValue = this.reconstructTime();
|
|
470
|
-
// Update the value, which will trigger the watcher and emit the event
|
|
471
|
-
this.value = reconstructedValue;
|
|
472
|
-
}
|
|
473
|
-
handleHoursChange(inputValue, type) {
|
|
474
|
-
const isHHFormat = this.format.startsWith('HH');
|
|
475
|
-
const maxHours = isHHFormat ? 24 : 12;
|
|
476
|
-
// Handle empty input
|
|
477
|
-
if (inputValue.length === 0) {
|
|
478
|
-
this.hours = '00';
|
|
479
|
-
return;
|
|
480
|
-
}
|
|
481
|
-
if (inputValue.length === 1) {
|
|
482
|
-
this.inputZeroAdded[type] = true;
|
|
483
|
-
const newInputValue = inputValue.padStart(2, '0');
|
|
484
|
-
this.hours = newInputValue;
|
|
485
|
-
}
|
|
486
|
-
else if (this.inputZeroAdded[type]) {
|
|
487
|
-
this.inputZeroAdded[type] = false;
|
|
488
|
-
const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
|
|
489
|
-
const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
|
|
490
|
-
// Only apply format validation (not min/max constraints)
|
|
491
|
-
if (parsedNewInputValue >= maxHours) {
|
|
492
|
-
this.hours = '00';
|
|
493
|
-
}
|
|
494
|
-
else {
|
|
495
|
-
this.hours = newInputValue;
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
else if (inputValue.length > 2) {
|
|
499
|
-
if (inputValue.startsWith('00')) {
|
|
500
|
-
this.inputZeroAdded[type] = true;
|
|
501
|
-
const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
|
|
502
|
-
this.hours = newInputValue;
|
|
503
|
-
}
|
|
504
|
-
else {
|
|
505
|
-
const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
|
|
506
|
-
const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
|
|
507
|
-
// Only apply format validation (not min/max constraints)
|
|
508
|
-
if (parsedNewInputValue >= maxHours) {
|
|
509
|
-
this.hours = '00';
|
|
510
|
-
}
|
|
511
|
-
else {
|
|
512
|
-
this.hours = parsedNewInputValue.toString();
|
|
513
|
-
}
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
|
-
else {
|
|
517
|
-
const parsedNewInputValue = parseInt(inputValue, 10) || 0;
|
|
518
|
-
// Only apply format validation (not min/max constraints)
|
|
519
|
-
if (parsedNewInputValue >= maxHours) {
|
|
520
|
-
this.hours = '00';
|
|
521
|
-
}
|
|
522
|
-
else {
|
|
523
|
-
// For direct input, remove unnecessary leading zeros (e.g., '01' becomes '1')
|
|
524
|
-
this.hours = parsedNewInputValue.toString();
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
// Auto-navigation to next field when input is complete
|
|
528
|
-
if (this.hours.length >= 1 && !this.inputZeroAdded[type]) {
|
|
529
|
-
const visibleTypes = getVisibleTimeTypes(this.format);
|
|
530
|
-
const currentTypeIndex = visibleTypes.indexOf(TimeType.Hours);
|
|
531
|
-
const nextTypeIndex = currentTypeIndex + 1;
|
|
532
|
-
if (nextTypeIndex < visibleTypes.length) {
|
|
533
|
-
const nextType = visibleTypes[nextTypeIndex];
|
|
534
|
-
this.inputElements[nextType]?.focus();
|
|
535
|
-
this.inputElements[nextType]?.select();
|
|
536
|
-
}
|
|
537
|
-
}
|
|
538
|
-
}
|
|
539
|
-
handleMinutesChange(inputValue, type) {
|
|
540
|
-
const maxMinutes = 60;
|
|
541
|
-
// Handle empty input
|
|
542
|
-
if (inputValue.length === 0) {
|
|
543
|
-
this.minutes = '00';
|
|
544
|
-
return;
|
|
545
|
-
}
|
|
546
|
-
if (inputValue.length === 1) {
|
|
547
|
-
this.inputZeroAdded[type] = true;
|
|
548
|
-
const newInputValue = inputValue.padStart(2, '0');
|
|
549
|
-
this.minutes = newInputValue;
|
|
550
|
-
}
|
|
551
|
-
else if (this.inputZeroAdded[type]) {
|
|
552
|
-
this.inputZeroAdded[type] = false;
|
|
553
|
-
const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
|
|
554
|
-
const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
|
|
555
|
-
// Only apply format validation (not min/max constraints)
|
|
556
|
-
if (parsedNewInputValue >= maxMinutes) {
|
|
557
|
-
this.minutes = '00';
|
|
558
|
-
}
|
|
559
|
-
else {
|
|
560
|
-
this.minutes = newInputValue;
|
|
561
|
-
}
|
|
562
|
-
}
|
|
563
|
-
else if (inputValue.length > 2) {
|
|
564
|
-
if (inputValue.startsWith('00')) {
|
|
565
|
-
this.inputZeroAdded[type] = true;
|
|
566
|
-
const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
|
|
567
|
-
this.minutes = newInputValue;
|
|
568
|
-
}
|
|
569
|
-
else {
|
|
570
|
-
const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
|
|
571
|
-
const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
|
|
572
|
-
// Only apply format validation (not min/max constraints)
|
|
573
|
-
if (parsedNewInputValue >= maxMinutes) {
|
|
574
|
-
this.minutes = '00';
|
|
575
|
-
}
|
|
576
|
-
else {
|
|
577
|
-
this.minutes = parsedNewInputValue.toString();
|
|
578
|
-
}
|
|
579
|
-
}
|
|
580
|
-
}
|
|
581
|
-
else {
|
|
582
|
-
const parsedNewInputValue = parseInt(inputValue, 10) || 0;
|
|
583
|
-
// Only apply format validation (not min/max constraints)
|
|
584
|
-
if (parsedNewInputValue >= maxMinutes) {
|
|
585
|
-
this.minutes = '00';
|
|
586
|
-
}
|
|
587
|
-
else {
|
|
588
|
-
// For direct input, remove unnecessary leading zeros (e.g., '01' becomes '1')
|
|
589
|
-
this.minutes = parsedNewInputValue.toString();
|
|
590
|
-
}
|
|
591
|
-
}
|
|
592
|
-
// Auto-navigation to next field when input is complete
|
|
593
|
-
if (this.minutes.length >= 1 && !this.inputZeroAdded[type]) {
|
|
594
|
-
const visibleTypes = getVisibleTimeTypes(this.format);
|
|
595
|
-
const currentTypeIndex = visibleTypes.indexOf(TimeType.Minutes);
|
|
596
|
-
const nextTypeIndex = currentTypeIndex + 1;
|
|
597
|
-
if (nextTypeIndex < visibleTypes.length) {
|
|
598
|
-
const nextType = visibleTypes[nextTypeIndex];
|
|
599
|
-
this.inputElements[nextType]?.focus();
|
|
600
|
-
this.inputElements[nextType]?.select();
|
|
601
|
-
}
|
|
602
|
-
}
|
|
603
|
-
}
|
|
604
|
-
handleSecondsChange(inputValue, type) {
|
|
605
|
-
const maxSeconds = 60;
|
|
606
|
-
// Handle empty input
|
|
607
|
-
if (inputValue.length === 0) {
|
|
608
|
-
this.seconds = '00';
|
|
609
|
-
return;
|
|
610
|
-
}
|
|
611
|
-
if (inputValue.length === 1) {
|
|
612
|
-
this.inputZeroAdded[type] = true;
|
|
613
|
-
const newInputValue = inputValue.padStart(2, '0');
|
|
614
|
-
this.seconds = newInputValue;
|
|
615
|
-
}
|
|
616
|
-
else if (this.inputZeroAdded[type]) {
|
|
617
|
-
this.inputZeroAdded[type] = false;
|
|
618
|
-
const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
|
|
619
|
-
const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
|
|
620
|
-
// Only apply format validation (not min/max constraints)
|
|
621
|
-
if (parsedNewInputValue >= maxSeconds) {
|
|
622
|
-
this.seconds = '00';
|
|
623
|
-
}
|
|
624
|
-
else {
|
|
625
|
-
this.seconds = newInputValue;
|
|
626
|
-
}
|
|
627
|
-
}
|
|
628
|
-
else if (inputValue.length > 2) {
|
|
629
|
-
const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
|
|
630
|
-
const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
|
|
631
|
-
// Only apply format validation (not min/max constraints)
|
|
632
|
-
if (parsedNewInputValue >= maxSeconds) {
|
|
633
|
-
this.seconds = '00';
|
|
634
|
-
}
|
|
635
|
-
else {
|
|
636
|
-
this.seconds = parsedNewInputValue.toString();
|
|
637
|
-
}
|
|
638
|
-
}
|
|
639
|
-
else {
|
|
640
|
-
const parsedNewInputValue = parseInt(inputValue, 10) || 0;
|
|
641
|
-
// Only apply format validation (not min/max constraints)
|
|
642
|
-
if (parsedNewInputValue >= maxSeconds) {
|
|
643
|
-
this.seconds = '00';
|
|
644
|
-
}
|
|
645
|
-
else {
|
|
646
|
-
// For direct input, remove unnecessary leading zeros (e.g., '01' becomes '1')
|
|
647
|
-
this.seconds = parsedNewInputValue.toString();
|
|
648
|
-
}
|
|
649
|
-
}
|
|
650
|
-
// No auto-navigation for seconds field as it's typically the last field
|
|
651
|
-
}
|
|
652
|
-
// Parse a time string according to the current format
|
|
653
|
-
parseTime(timeString) {
|
|
654
|
-
if (!timeString) {
|
|
655
|
-
return;
|
|
656
|
-
}
|
|
657
|
-
// Use format-aware parsing without constraint application
|
|
658
|
-
const components = parseValueByFormat(timeString, this.format);
|
|
659
|
-
// Set the parsed values without applying min/max constraints
|
|
660
|
-
this.hours = components.hours;
|
|
661
|
-
this.minutes = components.minutes;
|
|
662
|
-
this.seconds = components.seconds;
|
|
663
|
-
}
|
|
664
|
-
reconstructTime() {
|
|
665
|
-
const components = {
|
|
666
|
-
hours: this.hours,
|
|
667
|
-
minutes: this.minutes,
|
|
668
|
-
seconds: this.seconds,
|
|
669
|
-
};
|
|
670
|
-
// Ensure the reconstructed time is in the correct format
|
|
671
|
-
const reconstructedTime = reconstructTimeByFormat(components, this.format);
|
|
672
|
-
// Validate that the reconstructed time matches the expected format
|
|
673
|
-
if (!isValidFormatValue(reconstructedTime, this.format)) {
|
|
674
|
-
// If invalid, return the default value for this format
|
|
675
|
-
const config = FORMAT_CONFIGS[this.format];
|
|
676
|
-
return config ? config.defaultValue : reconstructedTime;
|
|
677
|
-
}
|
|
678
|
-
return reconstructedTime;
|
|
679
|
-
}
|
|
680
|
-
handleFocus(type) {
|
|
681
|
-
if (this.readonly || this.disabled) {
|
|
682
|
-
return;
|
|
683
|
-
}
|
|
684
|
-
// Check if this field is visible for the current format
|
|
685
|
-
const visibleTypes = getVisibleTimeTypes(this.format);
|
|
686
|
-
if (!visibleTypes.includes(type)) {
|
|
687
|
-
return; // Don't handle focus for non-visible fields
|
|
688
|
-
}
|
|
689
|
-
if (!this.open) {
|
|
690
|
-
this.open = true; // Force the popover to open
|
|
691
|
-
}
|
|
692
|
-
// Refocus on the input if it loses focus and is empty
|
|
693
|
-
if (this.inputElements[type]?.value.length === 0 ||
|
|
694
|
-
this.inputElements[type]?.value === '00') {
|
|
695
|
-
this.inputElements[type]?.focus();
|
|
696
|
-
this.inputElements[type]?.select();
|
|
697
|
-
}
|
|
698
|
-
this.typeFocused = type;
|
|
699
|
-
}
|
|
700
|
-
HandleDropdownIconClick() {
|
|
701
|
-
if (this.disabled || this.readonly) {
|
|
702
|
-
return; // Do not toggle if disabled or read-only
|
|
703
|
-
}
|
|
704
|
-
const visibleTypes = getVisibleTimeTypes(this.format);
|
|
705
|
-
const firstVisibleType = visibleTypes[0];
|
|
706
|
-
if (this.open) {
|
|
707
|
-
this.open = false; // Close the popover if it is open
|
|
708
|
-
}
|
|
709
|
-
else if (!this.open &&
|
|
710
|
-
firstVisibleType &&
|
|
711
|
-
this.inputElements[firstVisibleType]) {
|
|
712
|
-
this.inputElements[firstVisibleType]?.focus(); // Focus will open the popover
|
|
713
|
-
this.inputElements[firstVisibleType]?.select();
|
|
714
|
-
}
|
|
715
|
-
else {
|
|
716
|
-
console.warn('nv-fieldtime -> No visible input elements found to focus');
|
|
717
|
-
}
|
|
718
|
-
}
|
|
719
|
-
updateHighlightedItem(items, index) {
|
|
720
|
-
items.forEach((item, i) => {
|
|
721
|
-
if (i === index) {
|
|
722
|
-
item.classList.add('highlighted');
|
|
723
|
-
item.setAttribute('tabindex', '0');
|
|
724
|
-
item.focus(); // Forcer le focus ici
|
|
725
|
-
item.scrollIntoView({ block: 'nearest' });
|
|
726
|
-
}
|
|
727
|
-
else {
|
|
728
|
-
item.classList.remove('highlighted');
|
|
729
|
-
item.setAttribute('tabindex', '-1');
|
|
730
|
-
}
|
|
731
|
-
});
|
|
732
|
-
}
|
|
733
|
-
handleTimeOptionClick(event, type) {
|
|
734
|
-
const option = parseInt(event.target.textContent || '0', 10);
|
|
735
|
-
// Update the time component directly without constraint validation
|
|
736
|
-
// Dropdown options are already filtered by constraints during generation
|
|
737
|
-
if (type === TimeType.Hours) {
|
|
738
|
-
this.hours = option.toString().padStart(2, '0');
|
|
739
|
-
}
|
|
740
|
-
else if (type === TimeType.Minutes) {
|
|
741
|
-
this.minutes = option.toString().padStart(2, '0');
|
|
742
|
-
}
|
|
743
|
-
else if (type === TimeType.Seconds) {
|
|
744
|
-
this.seconds = option.toString().padStart(2, '0');
|
|
745
|
-
}
|
|
746
|
-
// Reconstruct time in the correct format and update value
|
|
747
|
-
const reconstructedTime = this.reconstructTime();
|
|
748
|
-
this.value = reconstructedTime;
|
|
749
|
-
}
|
|
750
|
-
handleInputBlur() {
|
|
751
|
-
// Use a delay to check if the focus is still within the popover
|
|
752
|
-
setTimeout(() => {
|
|
753
|
-
if (!this.el.contains(document.activeElement)) {
|
|
754
|
-
if (this.open) {
|
|
755
|
-
this.open = false; // Close the popover if the focus is outside the component
|
|
756
|
-
}
|
|
757
|
-
}
|
|
758
|
-
}, 150);
|
|
759
|
-
}
|
|
760
|
-
handleClickOutside(event) {
|
|
761
|
-
const target = event.target;
|
|
762
|
-
// Check if the click is inside the component or any of the input elements
|
|
763
|
-
if (this.el.contains(target) ||
|
|
764
|
-
Object.values(this.inputElements).some(input => input.contains(target))) {
|
|
765
|
-
return;
|
|
766
|
-
}
|
|
767
|
-
if (this.open) {
|
|
768
|
-
this.open = false; // Close the popover if the click is outside
|
|
769
|
-
}
|
|
770
|
-
}
|
|
771
|
-
handleScroll(e, type) {
|
|
772
|
-
const target = e.target;
|
|
773
|
-
const scrollTop = target.scrollTop;
|
|
774
|
-
const containerHeight = target.clientHeight;
|
|
775
|
-
const scrollHeight = target.scrollHeight;
|
|
776
|
-
// Define the height of each item, this could be dynamic if the height varies
|
|
777
|
-
const itemHeight = 40; // Consider making this configurable or dynamic
|
|
778
|
-
const options = this.generateTimeOptions(type); // Generates the list of time options
|
|
779
|
-
const singleSetHeight = options.length * itemHeight;
|
|
780
|
-
// Check if the scroll is near the bottom or top and reset to the first set
|
|
781
|
-
if (scrollTop + containerHeight >= scrollHeight - itemHeight ||
|
|
782
|
-
scrollTop <= 0) {
|
|
783
|
-
target.scrollTop = singleSetHeight; // Reset to the first set from the bottom
|
|
784
|
-
}
|
|
785
|
-
}
|
|
786
|
-
generateTimeOptions(type) {
|
|
787
|
-
// Convert the step in seconds
|
|
788
|
-
const stepInSeconds = this.step / 1000;
|
|
789
|
-
// Handle edge case for zero step
|
|
790
|
-
if (stepInSeconds === 0) {
|
|
791
|
-
return ['00']; // Just return the default value
|
|
792
|
-
}
|
|
793
|
-
// Generate the time options based on the type
|
|
794
|
-
switch (type) {
|
|
795
|
-
case TimeType.Hours:
|
|
796
|
-
return this.generateHourOptions(stepInSeconds);
|
|
797
|
-
case TimeType.Minutes:
|
|
798
|
-
return this.generateMinuteOptions(stepInSeconds);
|
|
799
|
-
case TimeType.Seconds:
|
|
800
|
-
return this.generateSecondOptions(stepInSeconds);
|
|
801
|
-
default:
|
|
802
|
-
return [];
|
|
803
|
-
}
|
|
804
|
-
}
|
|
805
|
-
generateHourOptions(stepInSeconds) {
|
|
806
|
-
const hourStep = Math.max(1, Math.floor(stepInSeconds / 3600)); // Prevent step < 1
|
|
807
|
-
const is12HourFormat = this.format.startsWith('hh');
|
|
808
|
-
// Set proper hour ranges based on format
|
|
809
|
-
const defaultMaxHour = is12HourFormat ? 12 : 23;
|
|
810
|
-
const defaultMinHour = is12HourFormat ? 1 : 0;
|
|
811
|
-
const maxHour = this.parseHour(this.max, this.format);
|
|
812
|
-
const minHour = this.parseHour(this.min, this.format);
|
|
813
|
-
const maxHourValue = maxHour ? parseInt(maxHour, 10) : defaultMaxHour;
|
|
814
|
-
const minHourValue = minHour ? parseInt(minHour, 10) : defaultMinHour;
|
|
815
|
-
const values = [];
|
|
816
|
-
for (let i = minHourValue; i <= maxHourValue; i += hourStep) {
|
|
817
|
-
const hourStr = i.toString().padStart(2, '0');
|
|
818
|
-
values.push(hourStr);
|
|
819
|
-
}
|
|
820
|
-
return values;
|
|
821
|
-
}
|
|
822
|
-
/**
|
|
823
|
-
* Parse hour value from min/max constraint strings for dropdown generation only.
|
|
824
|
-
* This method is used exclusively for filtering dropdown options and should not
|
|
825
|
-
* affect input values or validation.
|
|
826
|
-
* @param {string} value - The time string to parse (e.g., "14:30" or "02:30")
|
|
827
|
-
* @param {string} format - The time format string (e.g., "HH:mm" or "hh:mm")
|
|
828
|
-
* @returns {string} The parsed hour string or null if invalid
|
|
829
|
-
*/
|
|
830
|
-
parseHour(value, format) {
|
|
831
|
-
if (!value)
|
|
832
|
-
return null;
|
|
833
|
-
const [hourStr] = value.split(':');
|
|
834
|
-
const hour = parseInt(hourStr, 10);
|
|
835
|
-
if (isNaN(hour))
|
|
836
|
-
return null;
|
|
837
|
-
if (format.startsWith('hh'))
|
|
838
|
-
return hour > 0 && hour <= 12 ? hourStr.padStart(2, '0') : null;
|
|
839
|
-
return hour >= 0 && hour <= 24 ? hourStr.padStart(2, '0') : null;
|
|
840
|
-
}
|
|
841
|
-
generateMinuteOptions(stepInSeconds) {
|
|
842
|
-
const minuteStep = Math.max(1, Math.floor((stepInSeconds % 3600) / 60)); // Ensure step >= 1
|
|
843
|
-
const minMinute = this.parseMinute(this.min) ?? 0;
|
|
844
|
-
const maxMinute = this.parseMinute(this.max) ?? 59;
|
|
845
|
-
if (minMinute === 0 && maxMinute === 0)
|
|
846
|
-
return ['00']; // Handle edge case for zero minutes
|
|
847
|
-
const values = [];
|
|
848
|
-
for (let i = minMinute; i <= maxMinute; i += minuteStep) {
|
|
849
|
-
const minuteStr = i.toString().padStart(2, '0');
|
|
850
|
-
values.push(minuteStr);
|
|
851
|
-
}
|
|
852
|
-
return values;
|
|
853
|
-
}
|
|
854
|
-
/**
|
|
855
|
-
* Parse minute value from min/max constraint strings for dropdown generation only.
|
|
856
|
-
* This method is used exclusively for filtering dropdown options and should not
|
|
857
|
-
* affect input values or validation.
|
|
858
|
-
* @param {string} value - The time string to parse (e.g., "14:30" or "02:30")
|
|
859
|
-
* @returns {number} The parsed minute number or null if invalid
|
|
860
|
-
*/
|
|
861
|
-
parseMinute(value) {
|
|
862
|
-
if (!value)
|
|
863
|
-
return null;
|
|
864
|
-
const parts = value.split(':');
|
|
865
|
-
if (parts.length < 2)
|
|
866
|
-
return null; // Expect at least "hh:mm"
|
|
867
|
-
const minute = parseInt(parts[1], 10);
|
|
868
|
-
return isNaN(minute) || minute < 0 || minute >= 60 ? null : minute;
|
|
869
|
-
}
|
|
870
|
-
generateSecondOptions(stepInSeconds) {
|
|
871
|
-
const secondStep = Math.max(1, stepInSeconds % 60); // Ensure step >= 1
|
|
872
|
-
const minSecond = this.parseSecond(this.min) ?? 0;
|
|
873
|
-
const maxSecond = this.parseSecond(this.max) ?? 59;
|
|
874
|
-
if (minSecond === 0 && maxSecond === 0)
|
|
875
|
-
return ['00']; // Handle edge case for zero seconds
|
|
876
|
-
const values = [];
|
|
877
|
-
for (let i = minSecond; i <= maxSecond; i += secondStep) {
|
|
878
|
-
const secondStr = i.toString().padStart(2, '0');
|
|
879
|
-
values.push(secondStr);
|
|
880
|
-
}
|
|
881
|
-
return values;
|
|
882
|
-
}
|
|
883
|
-
/**
|
|
884
|
-
* Parse second value from min/max constraint strings for dropdown generation only.
|
|
885
|
-
* This method is used exclusively for filtering dropdown options and should not
|
|
886
|
-
* affect input values or validation.
|
|
887
|
-
* @param {string} value - The time string to parse (e.g., "14:30:45" or "02:30:45")
|
|
888
|
-
* @returns {number} The parsed second number or null if invalid
|
|
889
|
-
*/
|
|
890
|
-
parseSecond(value) {
|
|
891
|
-
if (!value)
|
|
892
|
-
return null;
|
|
893
|
-
const parts = value.split(':');
|
|
894
|
-
if (parts.length < 3)
|
|
895
|
-
return null; // Expect "hh:mm:ss" or "HH:mm:ss"
|
|
896
|
-
const second = parseInt(parts[2], 10);
|
|
897
|
-
return isNaN(second) || second < 0 || second >= 60 ? null : second;
|
|
898
|
-
}
|
|
899
|
-
generateInfiniteTimeOptions(type) {
|
|
900
|
-
const options = this.generateTimeOptions(type);
|
|
901
|
-
const totalOptions = options.length;
|
|
902
|
-
// Dynamically calculate repetitions based on a target number of items (e.g., 300 items)
|
|
903
|
-
const repetitions = Math.ceil(300 / totalOptions);
|
|
904
|
-
return Array(repetitions).fill(options).flat();
|
|
905
|
-
}
|
|
906
|
-
updateColumnHighlight(selector, value) {
|
|
907
|
-
const items = Array.from(this.el.querySelectorAll(selector));
|
|
908
|
-
const index = items.findIndex(x => x.textContent === value);
|
|
909
|
-
this.updateHighlightedItem(items, index);
|
|
910
|
-
}
|
|
911
|
-
handleHostClick(event) {
|
|
912
|
-
if (this.disabled || this.readonly) {
|
|
913
|
-
return;
|
|
914
|
-
}
|
|
915
|
-
const targetElement = event.target;
|
|
916
|
-
// Check if the click target or its ancestors are inside an nv-iconbutton element
|
|
917
|
-
if (targetElement.closest('nv-iconbutton')) {
|
|
918
|
-
return; // Handle icon button click separately
|
|
919
|
-
}
|
|
920
|
-
if (!this.open) {
|
|
921
|
-
if (this.inputElements) {
|
|
922
|
-
// Focus on the first visible field based on format
|
|
923
|
-
const visibleTypes = getVisibleTimeTypes(this.format);
|
|
924
|
-
const firstVisibleType = visibleTypes[0];
|
|
925
|
-
if (firstVisibleType && this.inputElements[firstVisibleType]) {
|
|
926
|
-
this.inputElements[firstVisibleType]?.focus();
|
|
927
|
-
this.inputElements[firstVisibleType]?.select();
|
|
928
|
-
}
|
|
929
|
-
}
|
|
930
|
-
event.preventDefault();
|
|
931
|
-
}
|
|
932
|
-
}
|
|
933
|
-
handleOpenChanged(event) {
|
|
934
|
-
this.open = event.detail;
|
|
935
|
-
}
|
|
936
|
-
//#endregion METHODS
|
|
937
|
-
/****************************************************************************/
|
|
938
|
-
//#region LIFECYCLE
|
|
939
|
-
componentWillLoad() {
|
|
940
|
-
document.addEventListener('click', this.handleClickOutside.bind(this));
|
|
941
|
-
// Initialize component state based on format and value
|
|
942
|
-
if (this.value) {
|
|
943
|
-
// Parse the provided value using format-aware parsing without constraint application
|
|
944
|
-
this.parseTime(this.value);
|
|
945
|
-
}
|
|
946
|
-
else {
|
|
947
|
-
// Initialize with format-appropriate default values without any constraint application
|
|
948
|
-
// Use format-specific defaults: '01' for 12-hour formats, '00' for 24-hour formats
|
|
949
|
-
const defaultComponents = parseValueByFormat('', this.format);
|
|
950
|
-
// Set default values directly without any min/max constraint validation
|
|
951
|
-
this.hours = defaultComponents.hours;
|
|
952
|
-
this.minutes = defaultComponents.minutes;
|
|
953
|
-
this.seconds = defaultComponents.seconds;
|
|
954
|
-
// Set the initial value in the correct format without constraint validation
|
|
955
|
-
// This ensures the component has a proper initial state for the value watcher
|
|
956
|
-
const initialValue = reconstructTimeByFormat(defaultComponents, this.format);
|
|
957
|
-
this.value = initialValue;
|
|
958
|
-
}
|
|
959
|
-
}
|
|
960
|
-
connectedCallback() {
|
|
961
|
-
document.addEventListener('click', this.handleClickOutside.bind(this));
|
|
962
|
-
}
|
|
963
|
-
disconnectedCallback() {
|
|
964
|
-
document.removeEventListener('click', this.handleClickOutside.bind(this));
|
|
965
|
-
}
|
|
966
|
-
componentDidLoad() {
|
|
967
|
-
// Initialize dropdown highlighting based on current component state
|
|
968
|
-
// This ensures proper visual feedback without applying any constraints
|
|
969
|
-
// Update highlighted items for hours based on current state
|
|
970
|
-
const hourSelector = `.time-column.time-column-hours div`;
|
|
971
|
-
this.updateColumnHighlight(hourSelector, this.hours);
|
|
972
|
-
// Update highlighted items for minutes based on current state
|
|
973
|
-
const minuteSelector = `.time-column.time-column-minutes div`;
|
|
974
|
-
this.updateColumnHighlight(minuteSelector, this.minutes);
|
|
975
|
-
// Update highlighted items for seconds based on current state
|
|
976
|
-
const secondSelector = `.time-column.time-column-seconds div`;
|
|
977
|
-
this.updateColumnHighlight(secondSelector, this.seconds);
|
|
978
|
-
}
|
|
979
|
-
//#endregion LIFECYCLE
|
|
980
|
-
/****************************************************************************/
|
|
981
|
-
//#region RENDER
|
|
982
|
-
/**
|
|
983
|
-
* Calculates aria-required and native required values based on props and attributes
|
|
984
|
-
* @returns {object} Object with ariaRequiredValue and useNativeRequired
|
|
985
|
-
*/
|
|
986
|
-
getRequiredAttributes() {
|
|
987
|
-
// Check aria-required from multiple sources:
|
|
988
|
-
// 1. JavaScript prop (most reliable)
|
|
989
|
-
// 2. HTML attribute 'aria-required' (direct HTML)
|
|
990
|
-
// 3. HTML attribute 'aria-required-attr' (from JSX kebab-case conversion)
|
|
991
|
-
// Check aria-required from multiple sources:
|
|
992
|
-
// 1. HTML attribute 'aria-required' (direct HTML) - check if explicitly set
|
|
993
|
-
// 2. JavaScript prop (when prop is explicitly set via JavaScript)
|
|
994
|
-
// We use hasAttribute to determine if the attribute was explicitly set by the user,
|
|
995
|
-
// since the prop now defaults to false (to maintain Blazor compatibility)
|
|
996
|
-
const hasAriaRequiredAttr = this.el.hasAttribute('aria-required') ||
|
|
997
|
-
this.el.hasAttribute('aria-required-attr');
|
|
998
|
-
const ariaRequiredFromAttr = hasAriaRequiredAttr
|
|
999
|
-
? this.el.getAttribute('aria-required') ||
|
|
1000
|
-
this.el.getAttribute('aria-required-attr')
|
|
1001
|
-
: null;
|
|
1002
|
-
// Use aria-required if the attribute was explicitly set
|
|
1003
|
-
// With reflect: true, setting the prop will also set the attribute
|
|
1004
|
-
const useAriaRequired = hasAriaRequiredAttr;
|
|
1005
|
-
// Determine the value: use attribute if it exists (prop reflects to attribute via reflect: true)
|
|
1006
|
-
// If attribute doesn't exist, the prop was never set and we don't use aria-required
|
|
1007
|
-
const ariaRequiredAttrValue = hasAriaRequiredAttr
|
|
1008
|
-
? ariaRequiredFromAttr
|
|
1009
|
-
: null;
|
|
1010
|
-
// Determine which attributes to use
|
|
1011
|
-
// If aria-required HTML attribute is present, use it (convert string to boolean)
|
|
1012
|
-
// If required is set and aria-required is not "false", use native required
|
|
1013
|
-
// If aria-required is "false", don't use native required even if required is set
|
|
1014
|
-
const ariaRequiredValue = useAriaRequired
|
|
1015
|
-
? ariaRequiredAttrValue === 'true' || ariaRequiredAttrValue === ''
|
|
1016
|
-
: undefined;
|
|
1017
|
-
const useNativeRequired = this.required && (!useAriaRequired || ariaRequiredValue === true);
|
|
1018
|
-
return {
|
|
1019
|
-
ariaRequiredValue,
|
|
1020
|
-
useNativeRequired,
|
|
1021
|
-
};
|
|
1022
|
-
}
|
|
1023
|
-
/**
|
|
1024
|
-
* Renders input fields based on the current format
|
|
1025
|
-
* Only shows fields that are relevant to the selected format
|
|
1026
|
-
* @returns {HTMLElement[]} Array of HTML elements for time input fields
|
|
1027
|
-
*/
|
|
1028
|
-
renderTimeInputFields() {
|
|
1029
|
-
const visibleTypes = getVisibleTimeTypes(this.format);
|
|
1030
|
-
const elements = [];
|
|
1031
|
-
visibleTypes.forEach((type, index) => {
|
|
1032
|
-
// Add separator colon before minutes and seconds (but not before the first field)
|
|
1033
|
-
if (index > 0) {
|
|
1034
|
-
elements.push(h("span", null, ":"));
|
|
1035
|
-
}
|
|
1036
|
-
// Add the input field for this time type
|
|
1037
|
-
elements.push(this.renderTimeInputField(type));
|
|
1038
|
-
});
|
|
1039
|
-
return elements;
|
|
1040
|
-
}
|
|
1041
|
-
/**
|
|
1042
|
-
* Renders a single time input field for the specified type
|
|
1043
|
-
* @param {TimeType} type - The time type to render input for
|
|
1044
|
-
* @returns {HTMLInputElement} HTML input element for the specified time type
|
|
1045
|
-
*/
|
|
1046
|
-
renderTimeInputField(type) {
|
|
1047
|
-
const getValue = () => {
|
|
1048
|
-
switch (type) {
|
|
1049
|
-
case TimeType.Hours:
|
|
1050
|
-
return this.hours;
|
|
1051
|
-
case TimeType.Minutes:
|
|
1052
|
-
return this.minutes;
|
|
1053
|
-
case TimeType.Seconds:
|
|
1054
|
-
return this.seconds;
|
|
1055
|
-
default:
|
|
1056
|
-
return '00';
|
|
1057
|
-
}
|
|
1058
|
-
};
|
|
1059
|
-
const getPlaceholder = () => {
|
|
1060
|
-
switch (type) {
|
|
1061
|
-
case TimeType.Hours:
|
|
1062
|
-
return this.format.includes('hh') ? 'hh' : 'HH';
|
|
1063
|
-
case TimeType.Minutes:
|
|
1064
|
-
return 'mm';
|
|
1065
|
-
case TimeType.Seconds:
|
|
1066
|
-
return 'ss';
|
|
1067
|
-
default:
|
|
1068
|
-
return '';
|
|
1069
|
-
}
|
|
1070
|
-
};
|
|
1071
|
-
const getId = () => {
|
|
1072
|
-
switch (type) {
|
|
1073
|
-
case TimeType.Hours:
|
|
1074
|
-
return this.inputId;
|
|
1075
|
-
case TimeType.Minutes:
|
|
1076
|
-
return `${this.inputId}-minutes`;
|
|
1077
|
-
case TimeType.Seconds:
|
|
1078
|
-
return `${this.inputId}-seconds`;
|
|
1079
|
-
default:
|
|
1080
|
-
return this.inputId;
|
|
1081
|
-
}
|
|
1082
|
-
};
|
|
1083
|
-
// Remove min/max constraints from input elements to allow native stepper behavior
|
|
1084
|
-
// Constraints are only applied to dropdown options, not input steppers
|
|
1085
|
-
return (h("input", { ref: el => (this.inputElements[type] = el), type: "number", autofocus: this.autofocus && type === getVisibleTimeTypes(this.format)[0], class: "time-input", pattern: "[0-9]*", maxlength: "3", value: getValue(), onInput: e => this.handleInputChange(e, type), placeholder: getPlaceholder(), inputMode: "numeric", onFocus: () => this.handleFocus(type), name: this.name ? `${type}-${this.name}` : type, id: getId(), readonly: this.readonly, disabled: this.disabled, required: this.getRequiredAttributes().useNativeRequired
|
|
1086
|
-
? this.required
|
|
1087
|
-
: undefined, ...(this.getRequiredAttributes().ariaRequiredValue !== undefined && {
|
|
1088
|
-
'aria-required': String(this.getRequiredAttributes().ariaRequiredValue),
|
|
1089
|
-
}), onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleInputBlur() }));
|
|
1090
|
-
}
|
|
1091
|
-
/**
|
|
1092
|
-
* Renders dropdown columns based on the current format
|
|
1093
|
-
* Only shows columns that are relevant to the selected format
|
|
1094
|
-
* @returns {HTMLElement[]} Array of HTML elements for time dropdown columns
|
|
1095
|
-
*/
|
|
1096
|
-
renderTimeDropdownColumns() {
|
|
1097
|
-
const visibleTypes = getVisibleTimeTypes(this.format);
|
|
1098
|
-
return visibleTypes.map(type => this.RenderTimeOptionsColumn(type));
|
|
1099
|
-
}
|
|
1100
|
-
RenderTimeOptionsColumn(type) {
|
|
1101
|
-
return (h("div", { class: `time-column time-column-${type}`, onScroll: e => this.handleScroll(e, type) }, this.generateInfiniteTimeOptions(type).map((option, index) => (h("div", { class: {
|
|
1102
|
-
'time-option': true,
|
|
1103
|
-
'selected': (type === TimeType.Hours && option === this.hours) ||
|
|
1104
|
-
(type === TimeType.Minutes && option === this.minutes) ||
|
|
1105
|
-
(type === TimeType.Seconds && option === this.seconds),
|
|
1106
|
-
}, key: `${option}-${index}`, onClick: e => this.handleTimeOptionClick(e, type) }, option)))));
|
|
1107
|
-
}
|
|
1108
|
-
render() {
|
|
1109
|
-
return (h(Host, { key: 'a6edfc1d50527225c9a275de73e497f6cd9652aa', onclick: (e) => this.handleHostClick(e), "aria-expanded": this.open ? 'true' : 'false' }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: 'a82749db001869fb2246bef7126348c585e14a1a', htmlFor: this.inputId }, h("slot", { key: '8a96f4fad4f32b6793bee53ca94eec983c1ff09f', name: "label" }, this.label))), h("nv-popover", { key: 'de931598921043b8e6b44035964a5026e040afb1', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open, onOpenChanged: this.handleOpenChanged }, h("div", { key: 'b7e654cdb7ce4e270ebba03d20ebe47b37063fce', class: "input-wrapper", slot: "trigger" }, h("slot", { key: '1cde39106fad880cdd27ed96574f8cf320fc334a', name: "before-input" }), h("div", { key: 'eb7d8edd89d951eff5e00eb994dd85504b44801f', class: "input-container" }, h("slot", { key: '48212e52a925cdfb9d897201ca8ee50b037ba573', name: "leading-input" }), this.renderTimeInputFields(), h("nv-iconbutton", { key: 'eb541ae9faaefb95c146f8ee9d32d533099162fc', name: 'clock', size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide time picker' : 'Show time picker', onClick: () => this.HandleDropdownIconClick() }), this.error && (h("nv-icon", { key: 'c25d25f96b786c96ead487dc8af2b200e372ef79', name: "alert-circle", class: "validation", size: "sm" })), this.success && (h("nv-icon", { key: '2c08c7caa21771c697ed191589c836f58be4e761', name: "circle-check", class: "validation", size: "sm" }))), h("slot", { key: '77e91dd93225a61730ea7b892c50a7517a25af71', name: "after-input" })), h("div", { key: '9e8abc574dd8024dc479b2fe57891b022793291b', class: "time-dropdown", slot: "content" }, h("div", { key: 'f232d3e7a0b43f08b801ff76f4cdbf863bfc7a4a', class: "time-columns" }, this.renderTimeDropdownColumns()))), (this.description ||
|
|
1110
|
-
this.el.querySelector('[slot="description"]')) && (h("div", { key: 'ab21ffb708f50a1b38a7d21d02d5f0b920aceca8', class: "description" }, h("slot", { key: '56790e4cc2c6d5f57e45ef7507aee8c1a8ea5a13', name: "description" }, this.description))), (this.errorDescription ||
|
|
1111
|
-
this.el.querySelector('[slot="error-description"]')) && (h("div", { key: '392a563b5eccd2120263bd72c883ccefe66d0c02', hidden: !this.error, class: "error-description" }, h("slot", { key: '8e6df58e39a9de7fdf05edb0611178c62ff9e79e', name: "error-description" }, this.errorDescription)))));
|
|
1112
|
-
}
|
|
1113
|
-
static get formAssociated() { return true; }
|
|
1114
|
-
get el() { return this; }
|
|
1115
|
-
static get watchers() { return {
|
|
1116
|
-
"value": ["handleValueChange"],
|
|
1117
|
-
"open": ["handleOpenChange"],
|
|
1118
|
-
"format": ["handleFormatChange"]
|
|
1119
|
-
}; }
|
|
1120
|
-
static get style() { return nvFieldtimeCss; }
|
|
1121
|
-
}, [324, "nv-fieldtime", {
|
|
1122
|
-
"value": [1537],
|
|
1123
|
-
"label": [513],
|
|
1124
|
-
"inputId": [513, "input-id"],
|
|
1125
|
-
"readonly": [516],
|
|
1126
|
-
"disabled": [516],
|
|
1127
|
-
"required": [516],
|
|
1128
|
-
"ariaRequiredAttr": [516, "aria-required"],
|
|
1129
|
-
"name": [513],
|
|
1130
|
-
"success": [516],
|
|
1131
|
-
"error": [516],
|
|
1132
|
-
"errorDescription": [513, "error-description"],
|
|
1133
|
-
"format": [513],
|
|
1134
|
-
"description": [513],
|
|
1135
|
-
"open": [1540],
|
|
1136
|
-
"step": [514],
|
|
1137
|
-
"max": [513],
|
|
1138
|
-
"min": [513],
|
|
1139
|
-
"autofocus": [516],
|
|
1140
|
-
"hours": [32],
|
|
1141
|
-
"minutes": [32],
|
|
1142
|
-
"seconds": [32]
|
|
1143
|
-
}, [[0, "keydown", "handleKeyDown"]], {
|
|
1144
|
-
"value": ["handleValueChange"],
|
|
1145
|
-
"open": ["handleOpenChange"],
|
|
1146
|
-
"format": ["handleFormatChange"]
|
|
1147
|
-
}]);
|
|
1148
|
-
function defineCustomElement$1() {
|
|
1149
|
-
if (typeof customElements === "undefined") {
|
|
1150
|
-
return;
|
|
1151
|
-
}
|
|
1152
|
-
const components = ["nv-fieldtime", "nv-icon", "nv-iconbutton", "nv-loader", "nv-popover"];
|
|
1153
|
-
components.forEach(tagName => { switch (tagName) {
|
|
1154
|
-
case "nv-fieldtime":
|
|
1155
|
-
if (!customElements.get(tagName)) {
|
|
1156
|
-
customElements.define(tagName, NvFieldtime$1);
|
|
1157
|
-
}
|
|
1158
|
-
break;
|
|
1159
|
-
case "nv-icon":
|
|
1160
|
-
if (!customElements.get(tagName)) {
|
|
1161
|
-
defineCustomElement$5();
|
|
1162
|
-
}
|
|
1163
|
-
break;
|
|
1164
|
-
case "nv-iconbutton":
|
|
1165
|
-
if (!customElements.get(tagName)) {
|
|
1166
|
-
defineCustomElement$4();
|
|
1167
|
-
}
|
|
1168
|
-
break;
|
|
1169
|
-
case "nv-loader":
|
|
1170
|
-
if (!customElements.get(tagName)) {
|
|
1171
|
-
defineCustomElement$3();
|
|
1172
|
-
}
|
|
1173
|
-
break;
|
|
1174
|
-
case "nv-popover":
|
|
1175
|
-
if (!customElements.get(tagName)) {
|
|
1176
|
-
defineCustomElement$2();
|
|
1177
|
-
}
|
|
1178
|
-
break;
|
|
1179
|
-
} });
|
|
1180
|
-
}
|
|
1181
|
-
defineCustomElement$1();
|
|
1182
|
-
|
|
1183
|
-
const NvFieldtime = NvFieldtime$1;
|
|
1184
|
-
const defineCustomElement = defineCustomElement$1;
|
|
1185
|
-
|
|
1186
|
-
export { NvFieldtime, defineCustomElement };
|
|
1187
|
-
//# sourceMappingURL=nv-fieldtime.js.map
|
|
1188
|
-
|
|
1189
|
-
//# sourceMappingURL=nv-fieldtime.js.map
|
|
1
|
+
import{t as e,p as t,H as i,c as n,f as r,h as o,d as s}from"./p-iXsbKJzR.js";import{g as a}from"./p-BReL3Lsa.js";import{d as l}from"./p-jZF_Ggmx.js";import{d}from"./p-DDqZBSGn.js";import{d as c}from"./p-CAKTe96z.js";import{d as f}from"./p-DHNSuxz-.js";import{v as h}from"./p-BdYh22OP.js";const u={HH:{pattern:/^([0-1]?[0-9]|2[0-3])$/,parts:[a.Hours],defaultValue:"00",maxLength:2},"HH:mm":{pattern:/^([0-1]?[0-9]|2[0-3]):([0-5]?[0-9])$/,parts:[a.Hours,a.Minutes],defaultValue:"00:00",maxLength:5},"HH:mm:ss":{pattern:/^([0-1]?[0-9]|2[0-3]):([0-5]?[0-9]):([0-5]?[0-9])$/,parts:[a.Hours,a.Minutes,a.Seconds],defaultValue:"00:00:00",maxLength:8},hh:{pattern:/^(0?[1-9]|1[0-2])$/,parts:[a.Hours],defaultValue:"01",maxLength:2},"hh:mm":{pattern:/^(0?[1-9]|1[0-2]):([0-5]?[0-9])$/,parts:[a.Hours,a.Minutes],defaultValue:"01:00",maxLength:5},"hh:mm:ss":{pattern:/^(0?[1-9]|1[0-2]):([0-5]?[0-9]):([0-5]?[0-9])$/,parts:[a.Hours,a.Minutes,a.Seconds],defaultValue:"01:00:00",maxLength:8}};function m(e){const t=u[e];return t?t.parts:[a.Hours,a.Minutes,a.Seconds]}function p(e,t){const i=u[t],n={hours:t.startsWith("hh")?"01":"00",minutes:"00",seconds:"00"};if(!e||!i)return n;const r=e.replace(/[^0-9:]/g,""),o=r.match(i.pattern);if(o)return v(o,t);const s=r.match(/^([0-1]?[0-9]|2[0-3]):([0-5]?[0-9]):([0-5]?[0-9])$/);if(s)return function(e,t){const i=u[t],n={hours:t.startsWith("hh")?"01":"00",minutes:"00",seconds:"00"};if(i.parts.includes(a.Hours)){const i=parseInt(e.hours,10);t.startsWith("hh")?i>=1&&i<=12&&(n.hours=e.hours):i>=0&&i<=23&&(n.hours=e.hours)}return i.parts.includes(a.Minutes)&&(n.minutes=e.minutes),i.parts.includes(a.Seconds)&&(n.seconds=e.seconds),n}(v(s,"HH:mm:ss"),t);const l=r.split(":"),d={...n};if(l.length>=1&&l[0]){const e=parseInt(l[0],10);isNaN(e)||(d.hours=t.startsWith("hh")?e>=1&&e<=12?(""+e).padStart(2,"0"):n.hours:e>=0&&e<=23?(""+e).padStart(2,"0"):n.hours)}if(l.length>=2&&l[1]&&i.parts.includes(a.Minutes)){const e=parseInt(l[1],10);!isNaN(e)&&e>=0&&e<=59&&(d.minutes=(""+e).padStart(2,"0"))}if(l.length>=3&&l[2]&&i.parts.includes(a.Seconds)){const e=parseInt(l[2],10);!isNaN(e)&&e>=0&&e<=59&&(d.seconds=(""+e).padStart(2,"0"))}return d}function v(e,t){const i={hours:t.startsWith("hh")?"01":"00",minutes:"00",seconds:"00"};return e[1]&&(i.hours=(""+parseInt(e[1],10)).padStart(2,"0")),e[2]&&(i.minutes=(""+parseInt(e[2],10)).padStart(2,"0")),e[3]&&(i.seconds=(""+parseInt(e[3],10)).padStart(2,"0")),i}function b(e,t){if(!u[t])return`${e.hours}:${e.minutes}:${e.seconds}`;switch(t){case"HH":case"hh":return e.hours;case"HH:mm":case"hh:mm":return`${e.hours}:${e.minutes}`;default:return`${e.hours}:${e.minutes}:${e.seconds}`}}const g=t(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.valueChanged=n(this,"valueChanged",3),this.inputElements={},this.inputZeroAdded={},this.typeFocused=a.Hours,this.hours="00",this.minutes="00",this.seconds="00",this.inputId=h(),this.readonly=!1,this.disabled=!1,this.required=!1,this.ariaRequiredAttr=!1,this.success=!1,this.error=!1,this.format="HH:mm:ss",this.open=!1,this.step=6e4,this.autofocus=!1}handleKeyDown(e){if(!this.open)return"ArrowDown"===e.key?(this.open=!0,void e.preventDefault()):void 0;if(!this.popoverElement)return void console.warn("nv-fieldtime -> Popover element is not defined");const t=Array.from(this.el.querySelectorAll(`.time-column.time-column-${this.typeFocused} div`));if(0===t.length)return void console.warn("nv-fieldtime -> No dropdown items found to navigate");let i=t.findIndex((e=>e.classList.contains("highlighted")));if("ArrowDown"===e.key)e.preventDefault(),i=(i+1)%t.length,this.updateHighlightedItem(t,i);else if("ArrowUp"===e.key)e.preventDefault(),i=(i-1+t.length)%t.length,this.updateHighlightedItem(t,i);else if("Enter"===e.key&&i>=0){e.preventDefault(),t[i].click();const n=m(this.format),r=n.indexOf(this.typeFocused)+1;if(r<n.length){const e=n[r];this.inputElements[e]?.focus(),this.inputElements[e]?.select()}}else if("Escape"===e.key){e.preventDefault();const t=m(this.format)[0];t&&this.inputElements[t]&&this.inputElements[t].blur(),this.open=!1}}handleValueChange(e){if(e){const t=b(p(e,this.format),this.format);if(t!==e)return void(this.value=t)}this.valueChanged.emit(e)}handleOpenChange(e){e&&(this.updateColumnHighlight(`.time-column.time-column-${a.Hours} div`,this.hours),this.updateColumnHighlight(`.time-column.time-column-${a.Minutes} div`,this.minutes),this.updateColumnHighlight(`.time-column.time-column-${a.Seconds} div`,this.seconds))}handleFormatChange(e,t){if(e===t)return;const i=p(this.value||this.reconstructTime(),t||"HH:mm:ss");this.hours=i.hours,this.minutes=i.minutes,this.seconds=i.seconds;const n=b(i,e);this.value=n,r(this.el)}handleInputChange(e,t){const i=e.target.value.replace(/[^0-9]/g,"");if(!m(this.format).includes(t))return;switch(t){case a.Hours:this.handleHoursChange(i,t);break;case a.Minutes:this.handleMinutesChange(i,t);break;case a.Seconds:this.handleSecondsChange(i,t)}const n=this.reconstructTime();this.value=n}handleHoursChange(e,t){const i=this.format.startsWith("HH")?24:12;if(0!==e.length){if(1===e.length){this.inputZeroAdded[t]=!0;const i=e.padStart(2,"0");this.hours=i}else if(this.inputZeroAdded[t]){this.inputZeroAdded[t]=!1;const n=e.slice(1,3).padStart(2,"0");this.hours=(parseInt(n,10)||0)>=i?"00":n}else if(e.length>2)if(e.startsWith("00")){this.inputZeroAdded[t]=!0;const i=e.slice(1,3).padStart(2,"0");this.hours=i}else{const t=e.slice(1,3).padStart(2,"0"),n=parseInt(t,10)||0;this.hours=n>=i?"00":""+n}else{const t=parseInt(e,10)||0;this.hours=t>=i?"00":""+t}if(this.hours.length>=1&&!this.inputZeroAdded[t]){const e=m(this.format),t=e.indexOf(a.Hours)+1;if(t<e.length){const i=e[t];this.inputElements[i]?.focus(),this.inputElements[i]?.select()}}}else this.hours="00"}handleMinutesChange(e,t){if(0!==e.length){if(1===e.length){this.inputZeroAdded[t]=!0;const i=e.padStart(2,"0");this.minutes=i}else if(this.inputZeroAdded[t]){this.inputZeroAdded[t]=!1;const i=e.slice(1,3).padStart(2,"0");this.minutes=(parseInt(i,10)||0)>=60?"00":i}else if(e.length>2)if(e.startsWith("00")){this.inputZeroAdded[t]=!0;const i=e.slice(1,3).padStart(2,"0");this.minutes=i}else{const t=e.slice(1,3).padStart(2,"0"),i=parseInt(t,10)||0;this.minutes=i>=60?"00":""+i}else{const t=parseInt(e,10)||0;this.minutes=t>=60?"00":""+t}if(this.minutes.length>=1&&!this.inputZeroAdded[t]){const e=m(this.format),t=e.indexOf(a.Minutes)+1;if(t<e.length){const i=e[t];this.inputElements[i]?.focus(),this.inputElements[i]?.select()}}}else this.minutes="00"}handleSecondsChange(e,t){if(0!==e.length)if(1===e.length){this.inputZeroAdded[t]=!0;const i=e.padStart(2,"0");this.seconds=i}else if(this.inputZeroAdded[t]){this.inputZeroAdded[t]=!1;const i=e.slice(1,3).padStart(2,"0");this.seconds=(parseInt(i,10)||0)>=60?"00":i}else if(e.length>2){const t=e.slice(1,3).padStart(2,"0"),i=parseInt(t,10)||0;this.seconds=i>=60?"00":""+i}else{const t=parseInt(e,10)||0;this.seconds=t>=60?"00":""+t}else this.seconds="00"}parseTime(e){if(!e)return;const t=p(e,this.format);this.hours=t.hours,this.minutes=t.minutes,this.seconds=t.seconds}reconstructTime(){const e=b({hours:this.hours,minutes:this.minutes,seconds:this.seconds},this.format);if(!function(e,t){if(!e||!t)return!1;const i=u[t];return!!i&&i.pattern.test(e)}(e,this.format)){const t=u[this.format];return t?t.defaultValue:e}return e}handleFocus(e){this.readonly||this.disabled||m(this.format).includes(e)&&(this.open||(this.open=!0),0!==this.inputElements[e]?.value.length&&"00"!==this.inputElements[e]?.value||(this.inputElements[e]?.focus(),this.inputElements[e]?.select()),this.typeFocused=e)}HandleDropdownIconClick(){if(this.disabled||this.readonly)return;const e=m(this.format)[0];this.open?this.open=!1:!this.open&&e&&this.inputElements[e]?(this.inputElements[e]?.focus(),this.inputElements[e]?.select()):console.warn("nv-fieldtime -> No visible input elements found to focus")}updateHighlightedItem(e,t){e.forEach(((e,i)=>{i===t?(e.classList.add("highlighted"),e.setAttribute("tabindex","0"),e.focus(),e.scrollIntoView({block:"nearest"})):(e.classList.remove("highlighted"),e.setAttribute("tabindex","-1"))}))}handleTimeOptionClick(e,t){const i=parseInt(e.target.textContent||"0",10);t===a.Hours?this.hours=(""+i).padStart(2,"0"):t===a.Minutes?this.minutes=(""+i).padStart(2,"0"):t===a.Seconds&&(this.seconds=(""+i).padStart(2,"0"));const n=this.reconstructTime();this.value=n}handleInputBlur(){setTimeout((()=>{this.el.contains(document.activeElement)||this.open&&(this.open=!1)}),150)}handleClickOutside(e){const t=e.target;this.el.contains(t)||Object.values(this.inputElements).some((e=>e.contains(t)))||this.open&&(this.open=!1)}handleScroll(e,t){const i=e.target,n=i.scrollTop,r=i.clientHeight,o=i.scrollHeight,s=this.generateTimeOptions(t);(n+r>=o-40||n<=0)&&(i.scrollTop=40*s.length)}generateTimeOptions(e){const t=this.step/1e3;if(0===t)return["00"];switch(e){case a.Hours:return this.generateHourOptions(t);case a.Minutes:return this.generateMinuteOptions(t);case a.Seconds:return this.generateSecondOptions(t);default:return[]}}generateHourOptions(e){const t=Math.max(1,Math.floor(e/3600)),i=this.format.startsWith("hh"),n=i?12:23,r=i?1:0,o=this.parseHour(this.max,this.format),s=this.parseHour(this.min,this.format),a=o?parseInt(o,10):n,l=[];for(let e=s?parseInt(s,10):r;e<=a;e+=t)l.push((""+e).padStart(2,"0"));return l}parseHour(e,t){if(!e)return null;const[i]=e.split(":"),n=parseInt(i,10);return isNaN(n)?null:t.startsWith("hh")?n>0&&n<=12?i.padStart(2,"0"):null:n>=0&&n<=24?i.padStart(2,"0"):null}generateMinuteOptions(e){const t=Math.max(1,Math.floor(e%3600/60)),i=this.parseMinute(this.min)??0,n=this.parseMinute(this.max)??59;if(0===i&&0===n)return["00"];const r=[];for(let e=i;e<=n;e+=t)r.push((""+e).padStart(2,"0"));return r}parseMinute(e){if(!e)return null;const t=e.split(":");if(t.length<2)return null;const i=parseInt(t[1],10);return isNaN(i)||i<0||i>=60?null:i}generateSecondOptions(e){const t=Math.max(1,e%60),i=this.parseSecond(this.min)??0,n=this.parseSecond(this.max)??59;if(0===i&&0===n)return["00"];const r=[];for(let e=i;e<=n;e+=t)r.push((""+e).padStart(2,"0"));return r}parseSecond(e){if(!e)return null;const t=e.split(":");if(t.length<3)return null;const i=parseInt(t[2],10);return isNaN(i)||i<0||i>=60?null:i}generateInfiniteTimeOptions(e){const t=this.generateTimeOptions(e);return Array(Math.ceil(300/t.length)).fill(t).flat()}updateColumnHighlight(e,t){const i=Array.from(this.el.querySelectorAll(e)),n=i.findIndex((e=>e.textContent===t));this.updateHighlightedItem(i,n)}handleHostClick(e){if(!(this.disabled||this.readonly||e.target.closest("nv-iconbutton")||this.open)){if(this.inputElements){const e=m(this.format)[0];e&&this.inputElements[e]&&(this.inputElements[e]?.focus(),this.inputElements[e]?.select())}e.preventDefault()}}handleOpenChanged(e){this.open=e.detail}componentWillLoad(){if(document.addEventListener("click",this.handleClickOutside.bind(this)),this.value)this.parseTime(this.value);else{const e=p("",this.format);this.hours=e.hours,this.minutes=e.minutes,this.seconds=e.seconds;const t=b(e,this.format);this.value=t}}connectedCallback(){document.addEventListener("click",this.handleClickOutside.bind(this))}disconnectedCallback(){document.removeEventListener("click",this.handleClickOutside.bind(this))}componentDidLoad(){this.updateColumnHighlight(".time-column.time-column-hours div",this.hours),this.updateColumnHighlight(".time-column.time-column-minutes div",this.minutes),this.updateColumnHighlight(".time-column.time-column-seconds div",this.seconds)}getRequiredAttributes(){const e=this.el.hasAttribute("aria-required")||this.el.hasAttribute("aria-required-attr"),t=e?this.el.getAttribute("aria-required")||this.el.getAttribute("aria-required-attr"):null,i=e?t:null,n=e?"true"===i||""===i:void 0;return{ariaRequiredValue:n,useNativeRequired:this.required&&(!e||!0===n)}}renderTimeInputFields(){const e=m(this.format),t=[];return e.forEach(((e,i)=>{i>0&&t.push(o("span",null,":")),t.push(this.renderTimeInputField(e))})),t}renderTimeInputField(e){return o("input",{ref:t=>this.inputElements[e]=t,type:"number",autofocus:this.autofocus&&e===m(this.format)[0],class:"time-input",pattern:"[0-9]*",maxlength:"3",value:(()=>{switch(e){case a.Hours:return this.hours;case a.Minutes:return this.minutes;case a.Seconds:return this.seconds;default:return"00"}})(),onInput:t=>this.handleInputChange(t,e),placeholder:(()=>{switch(e){case a.Hours:return this.format.includes("hh")?"hh":"HH";case a.Minutes:return"mm";case a.Seconds:return"ss";default:return""}})(),inputMode:"numeric",onFocus:()=>this.handleFocus(e),name:this.name?`${e}-${this.name}`:e,id:(()=>{switch(e){case a.Hours:return this.inputId;case a.Minutes:return this.inputId+"-minutes";case a.Seconds:return this.inputId+"-seconds";default:return this.inputId}})(),readonly:this.readonly,disabled:this.disabled,required:this.getRequiredAttributes().useNativeRequired?this.required:void 0,...void 0!==this.getRequiredAttributes().ariaRequiredValue&&{"aria-required":this.getRequiredAttributes().ariaRequiredValue+""},onKeyDown:e=>this.handleKeyDown(e),onBlur:()=>this.handleInputBlur()})}renderTimeDropdownColumns(){return m(this.format).map((e=>this.RenderTimeOptionsColumn(e)))}RenderTimeOptionsColumn(e){return o("div",{class:"time-column time-column-"+e,onScroll:t=>this.handleScroll(t,e)},this.generateInfiniteTimeOptions(e).map(((t,i)=>o("div",{class:{"time-option":!0,selected:e===a.Hours&&t===this.hours||e===a.Minutes&&t===this.minutes||e===a.Seconds&&t===this.seconds},key:`${t}-${i}`,onClick:t=>this.handleTimeOptionClick(t,e)},t))))}render(){return o(s,{key:"a02fbea3aa9b46d22978cececd750548c16c79cf",onclick:e=>this.handleHostClick(e),"aria-expanded":this.open?"true":"false"},(this.label||this.el.querySelector('[slot="label"]'))&&o("label",{key:"0ec36fbb4e2e810455e35537277496b600b8bd72",htmlFor:this.inputId},o("slot",{key:"5ab4bca171c9d68fbb592c378b0db30139e23642",name:"label"},this.label)),o("nv-popover",{key:"962705b7347af233d00ad7c33ea8777403e32534",ref:e=>this.popoverElement=e,triggerMode:"controlled",placement:"bottom-start",open:this.open,onOpenChanged:this.handleOpenChanged},o("div",{key:"16e06fbf7003cfdf29e019cd4dfcd33c3b4a12e4",class:"input-wrapper",slot:"trigger"},o("slot",{key:"64c31ef85a92430ac348e9ff06405f682ceb7a98",name:"before-input"}),o("div",{key:"291130925798643a0c034719fc46a5ee391ec487",class:"input-container"},o("slot",{key:"823f17b06aeb798216a46631655513bef79f7508",name:"leading-input"}),this.renderTimeInputFields(),o("nv-iconbutton",{key:"4e87bc2c19494f43cb4ac7dfb3b370eac6edab0b",name:"clock",size:"md",emphasis:"lower","aria-label":this.open?"Hide time picker":"Show time picker",onClick:()=>this.HandleDropdownIconClick()}),this.error&&o("nv-icon",{key:"a5c97446025ee0b571f3fe2223dfd759ed69f9ca",name:"alert-circle",class:"validation",size:"sm"}),this.success&&o("nv-icon",{key:"475f240e74459e16e5a9dd3bea0df21f32949e18",name:"circle-check",class:"validation",size:"sm"})),o("slot",{key:"696be862dee53acc18c311fe2ea26f4ec099c62e",name:"after-input"})),o("div",{key:"75e7e8ad1c1bc7be602d633946b3845007a3b1c5",class:"time-dropdown",slot:"content"},o("div",{key:"89898000bb7005ef687372d1016b5b93f02a43bc",class:"time-columns"},this.renderTimeDropdownColumns()))),(this.description||this.el.querySelector('[slot="description"]'))&&o("div",{key:"a0bddd8851b21c57637fbe8f9d8a83d62ff43bdf",class:"description"},o("slot",{key:"133c39ce0065b8f95a932d12c5150af595eab460",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&o("div",{key:"de3a537dd418c1c218eceb8062fd925c0ea06bba",hidden:!this.error,class:"error-description"},o("slot",{key:"97e2865ce647f2e4e32697acf5154fc94be9eab7",name:"error-description"},this.errorDescription)))}static get formAssociated(){return!0}get el(){return this}static get watchers(){return{value:[{handleValueChange:0}],open:[{handleOpenChange:0}],format:[{handleFormatChange:0}]}}static get style(){return'nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldtime{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fieldtime[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fieldtime[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fieldtime[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fieldtime[required]:not([required=false]) label::after,nv-fieldtime[aria-required=true] label::after{content:"*";color:var(--components-form-text-required);font-weight:var(--font-weight-high-emphasis)}nv-fieldtime label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-label-line-height)}nv-fieldtime nv-popover{width:100%;display:block}nv-fieldtime nv-popover [data-scope=popover]{padding:var(--list-dropdown-padding);background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border);width:100%}nv-fieldtime nv-popover{z-index:9999}nv-fieldtime .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;width:100%}nv-fieldtime .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldtime .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtime .input-container:focus-within,nv-fieldtime .input-container:focus-within:hover,nv-fieldtime .input-container:focus,nv-fieldtime .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldtime .input-container:has(input:read-only){background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldtime .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtime .input-container{display:flex;justify-content:flex-start;align-items:center;position:relative;width:100%;min-height:40px;gap:0;padding-left:var(--form-field-padding-x)}nv-fieldtime .input-container input.time-input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-field-line-height);width:100%}nv-fieldtime .input-container input.time-input:focus{outline:none}nv-fieldtime .input-container input.time-input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-low-emphasis);line-height:var(--form-field-line-height)}nv-fieldtime .input-container input.time-input{}nv-fieldtime .input-container input.time-input[type=password]::-ms-clear,nv-fieldtime .input-container input.time-input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fieldtime .input-container input.time-input{width:100%;min-width:24px;flex:0 0 24px;text-align:center;padding:0;margin:0}nv-fieldtime .input-container input.time-input::-webkit-inner-spin-button,nv-fieldtime .input-container input.time-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}nv-fieldtime .input-container span{width:100%;text-align:center;min-width:24px;flex:0 0 24px;padding:0 4px;color:var(--components-form-field-content-text)}nv-fieldtime .input-container>nv-iconbutton{border:0px;border-radius:0px}nv-fieldtime .input-container>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fieldtime .input-container>nv-iconbutton:last-of-type{border-top-right-radius:var(--form-field-radius);border-bottom-right-radius:var(--form-field-radius)}nv-fieldtime .input-container>nv-iconbutton{margin-left:auto}nv-fieldtime .input-container nv-icon.validation{color:var(--nv-field-border-default);position:absolute;right:50px;top:50%;transform:translateY(-50%)}nv-fieldtime .input-container:focus,nv-fieldtime .input-container:focus-within{border-color:var(--color-focus-brand);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--color-focus-brand)}nv-fieldtime .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldtime .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fieldtime hr{border:none;border-top:1px solid var(--dropdown-divider-color, #ccc);margin:0.5rem 0}nv-fieldtime .time-dropdown{width:100%}nv-fieldtime .time-dropdown .time-columns{display:flex;justify-content:flex-start;align-items:center}nv-fieldtime .time-dropdown .time-columns .time-column{flex:1;text-align:center}nv-fieldtime .time-dropdown .time-columns .time-column::-webkit-scrollbar{width:6px;height:6px}nv-fieldtime .time-dropdown .time-columns .time-column::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}nv-fieldtime .time-dropdown .time-columns .time-column::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}nv-fieldtime .time-dropdown .time-columns .time-column{max-height:200px;overflow-y:auto;scroll-behavior:smooth;scrollbar-gutter:stable both-edges;scrollbar-gutter:auto}nv-fieldtime .time-dropdown .time-columns .time-column:last-child{border-right:none}nv-fieldtime .time-dropdown .time-columns .time-column .time-option{padding:var(--calendar-padding);text-align:center;cursor:pointer;transition:background-color 0.2s;border-radius:var(--list-dropdown-item-radius);color:var(--components-calendar-cell-text);font-size:var(--font-size-sm);display:flex;justify-content:center;align-items:center}nv-fieldtime .time-dropdown .time-columns .time-column .time-option:hover{background-color:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}nv-fieldtime .time-dropdown .time-columns .time-column .time-option:focus,nv-fieldtime .time-dropdown .time-columns .time-column .time-option:focus-within{background-color:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}nv-fieldtime .time-dropdown .time-columns .time-column .time-option.selected{background-color:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected)}nv-fieldtime .time-dropdown .time-columns .time-column .time-option.highlighted{background-color:var(--components-calendar-cell-background-hover);color:var(--components-menu-contextual-item-content-hover)}'}},[324,"nv-fieldtime",{value:[1537],label:[513],inputId:[513,"input-id"],readonly:[516],disabled:[516],required:[516],ariaRequiredAttr:[516,"aria-required"],name:[513],success:[516],error:[516],errorDescription:[513,"error-description"],format:[513],description:[513],open:[1540],step:[514],max:[513],min:[513],autofocus:[516],hours:[32],minutes:[32],seconds:[32]},[[0,"keydown","handleKeyDown"]],{value:[{handleValueChange:0}],open:[{handleOpenChange:0}],format:[{handleFormatChange:0}]}]);function k(){"undefined"!=typeof customElements&&["nv-fieldtime","nv-icon","nv-iconbutton","nv-loader","nv-popover"].forEach((t=>{switch(t){case"nv-fieldtime":customElements.get(e(t))||customElements.define(e(t),g);break;case"nv-icon":customElements.get(e(t))||l();break;case"nv-iconbutton":customElements.get(e(t))||d();break;case"nv-loader":customElements.get(e(t))||c();break;case"nv-popover":customElements.get(e(t))||f()}}))}k();const w=g,x=k;export{w as NvFieldtime,x as defineCustomElement}
|