@nova-design-system/nova-webcomponents 3.0.0 → 3.1.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/{constants-bcd6b2e2.js → constants-8fb8ccc0.js} +14 -1
- package/dist/cjs/constants-8fb8ccc0.js.map +1 -0
- package/dist/cjs/index-9bda5507.js +4 -4
- package/dist/cjs/index.cjs.js +4 -471
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/native.cjs.js +1 -1
- package/dist/cjs/nv-alert.cjs.entry.js +5 -5
- package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
- package/dist/cjs/nv-badge_2.cjs.entry.js +17 -8
- package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-button.cjs.entry.js +1 -1
- package/dist/cjs/nv-calendar.cjs.entry.js +841 -842
- package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-datagrid.cjs.entry.js +376 -39
- package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-dialog.cjs.entry.js +18 -12
- package/dist/cjs/nv-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +1 -1
- package/dist/cjs/nv-fielddate.cjs.entry.js +8 -17
- package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddaterange.cjs.entry.js +26 -28
- package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +12 -5
- package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +10 -4
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +8 -4
- package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldpassword.cjs.entry.js +8 -4
- package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldselect.cjs.entry.js +10 -6
- package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtext.cjs.entry.js +8 -4
- package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +8 -4
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtime.cjs.entry.js +15 -12
- package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-icon.cjs.entry.js +3 -3
- package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
- package/dist/cjs/nv-menu.cjs.entry.js +3 -1
- package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
- package/dist/cjs/nv-popover.cjs.entry.js +1 -1
- package/dist/cjs/nv-row.cjs.entry.js +1 -1
- package/dist/cjs/nv-stack.cjs.entry.js +1 -1
- package/dist/cjs/nv-table.cjs.entry.js +2 -2
- package/dist/cjs/nv-table.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
- package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
- package/dist/collection/components/nv-alert/nv-alert.css +3 -0
- package/dist/collection/components/nv-alert/nv-alert.js +6 -11
- package/dist/collection/components/nv-alert/nv-alert.js.map +1 -1
- package/dist/collection/components/nv-badge/nv-badge.css +181 -1
- package/dist/collection/components/nv-badge/nv-badge.docs.js +20 -1
- package/dist/collection/components/nv-badge/nv-badge.docs.js.map +1 -1
- package/dist/collection/components/nv-badge/nv-badge.js +39 -15
- package/dist/collection/components/nv-badge/nv-badge.js.map +1 -1
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js +0 -1
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.css +19 -0
- package/dist/collection/components/nv-calendar/nv-calendar.docs.js +33 -38
- package/dist/collection/components/nv-calendar/nv-calendar.docs.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.js +680 -897
- package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.utils.js +202 -0
- package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +1 -0
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js +667 -0
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js.map +1 -0
- package/dist/collection/components/nv-datagrid/nv-datagrid.css +98 -0
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +103 -5
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.js +391 -56
- package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
- package/dist/collection/components/nv-dialog/nv-dialog.css +29 -5
- package/dist/collection/components/nv-dialog/nv-dialog.docs.js +0 -1
- package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +1 -1
- package/dist/collection/components/nv-dialog/nv-dialog.js +16 -10
- package/dist/collection/components/nv-dialog/nv-dialog.js.map +1 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js +16 -8
- package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js.map +1 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.js +48 -39
- package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
- package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +7 -0
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js +12 -15
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js.map +1 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +75 -64
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
- package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +13 -11
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +8 -0
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +31 -4
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +5 -0
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.css +24 -0
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +8 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +29 -3
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +5 -0
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +8 -0
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +27 -3
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +5 -0
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +8 -0
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +27 -3
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -1
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +5 -0
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +8 -0
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +29 -5
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +5 -0
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +8 -0
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +27 -3
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +23 -0
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js +8 -0
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +27 -3
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -1
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +13 -10
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -1
- package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +19 -2
- package/dist/collection/components/nv-icon/nv-icon.js +1 -1
- package/dist/collection/components/nv-icon/nv-icons.js +3 -470
- package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
- package/dist/collection/components/nv-loader/nv-loader.js +1 -1
- package/dist/collection/components/nv-menu/nv-menu.js +3 -1
- package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
- package/dist/collection/components/nv-menuitem/nv-menuitem.js +2 -2
- package/dist/collection/components/nv-popover/nv-popover.js +1 -1
- package/dist/collection/components/nv-row/nv-row.js +1 -1
- package/dist/collection/components/nv-stack/nv-stack.js +1 -1
- package/dist/collection/components/nv-table/nv-table.js +8 -11
- package/dist/collection/components/nv-table/nv-table.js.map +1 -1
- package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
- package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/templates/navigation.docs.js +0 -1
- package/dist/collection/templates/navigation.docs.js.map +1 -1
- package/dist/collection/utils/constants.js +11 -0
- package/dist/collection/utils/constants.js.map +1 -1
- package/dist/components/index.js +4 -471
- package/dist/components/index.js.map +1 -1
- package/dist/components/nv-alert.js +6 -6
- package/dist/components/nv-alert.js.map +1 -1
- package/dist/components/nv-avatar.js +2 -2
- package/dist/components/nv-badge.js +1 -1
- package/dist/components/nv-breadcrumb.js +2 -2
- package/dist/components/nv-button.js +1 -1
- package/dist/components/nv-calendar.js +1 -1
- package/dist/components/nv-datagrid.js +400 -43
- package/dist/components/nv-datagrid.js.map +1 -1
- package/dist/components/nv-dialog.js +22 -16
- package/dist/components/nv-dialog.js.map +1 -1
- package/dist/components/nv-dialogfooter.js +1 -1
- package/dist/components/nv-fielddate.js +18 -26
- package/dist/components/nv-fielddate.js.map +1 -1
- package/dist/components/nv-fielddaterange.js +37 -38
- package/dist/components/nv-fielddaterange.js.map +1 -1
- package/dist/components/nv-fielddropdown.js +18 -10
- package/dist/components/nv-fielddropdown.js.map +1 -1
- package/dist/components/nv-fielddropdownitem.js +1 -1
- package/dist/components/nv-fielddropdownitemcheck.js +1 -1
- package/dist/components/nv-fieldmultiselect.js +17 -10
- package/dist/components/nv-fieldmultiselect.js.map +1 -1
- package/dist/components/nv-fieldnumber.js +13 -8
- package/dist/components/nv-fieldnumber.js.map +1 -1
- package/dist/components/nv-fieldpassword.js +12 -7
- package/dist/components/nv-fieldpassword.js.map +1 -1
- package/dist/components/nv-fieldradio.js +3 -3
- package/dist/components/nv-fieldselect.js +14 -9
- package/dist/components/nv-fieldselect.js.map +1 -1
- package/dist/components/nv-fieldtext.js +1 -158
- package/dist/components/nv-fieldtext.js.map +1 -1
- package/dist/components/nv-fieldtextarea.js +10 -5
- package/dist/components/nv-fieldtextarea.js.map +1 -1
- package/dist/components/nv-fieldtime.js +19 -16
- package/dist/components/nv-fieldtime.js.map +1 -1
- package/dist/components/nv-icon.js +1 -1
- package/dist/components/nv-iconbutton.js +1 -1
- package/dist/components/nv-loader.js +1 -1
- package/dist/components/nv-menu.js +6 -4
- package/dist/components/nv-menu.js.map +1 -1
- package/dist/components/nv-menuitem.js +1 -1
- package/dist/components/nv-popover.js +1 -1
- package/dist/components/nv-row.js +1 -1
- package/dist/components/nv-stack.js +1 -1
- package/dist/components/nv-table.js +2 -2
- package/dist/components/nv-table.js.map +1 -1
- package/dist/components/nv-toggle.js +2 -2
- package/dist/components/nv-tooltip.js +1 -1
- package/dist/components/p-0a0f6daf.js +187 -0
- package/dist/components/p-0a0f6daf.js.map +1 -0
- package/dist/components/{p-b7b78e64.js → p-10b37876.js} +2 -2
- package/dist/components/{p-b7b78e64.js.map → p-10b37876.js.map} +1 -1
- package/dist/components/{p-dc3faba3.js → p-10faa938.js} +4 -4
- package/dist/components/{p-dc3faba3.js.map → p-10faa938.js.map} +1 -1
- package/dist/{esm/constants-98e2dcc2.js → components/p-1f505531.js} +15 -2
- package/dist/components/p-1f505531.js.map +1 -0
- package/dist/components/{p-2012b8ba.js → p-35a70c5e.js} +2 -2
- package/dist/components/{p-2012b8ba.js.map → p-35a70c5e.js.map} +1 -1
- package/dist/components/{p-6c364a23.js → p-41c56ddc.js} +5 -5
- package/dist/components/{p-6c364a23.js.map → p-41c56ddc.js.map} +1 -1
- package/dist/components/{p-a30b55fc.js → p-608eb9da.js} +2 -2
- package/dist/components/{p-a30b55fc.js.map → p-608eb9da.js.map} +1 -1
- package/dist/components/p-76646ce9.js +88 -0
- package/dist/components/p-76646ce9.js.map +1 -0
- package/dist/components/p-854c32dc.js +1132 -0
- package/dist/components/p-854c32dc.js.map +1 -0
- package/dist/components/p-9decffb6.js +167 -0
- package/dist/components/p-9decffb6.js.map +1 -0
- package/dist/components/{p-2d9ba7d3.js → p-a2527411.js} +3 -3
- package/dist/components/{p-2d9ba7d3.js.map → p-a2527411.js.map} +1 -1
- package/dist/components/{p-f4d86795.js → p-b48d5a94.js} +3 -3
- package/dist/components/{p-f4d86795.js.map → p-b48d5a94.js.map} +1 -1
- package/dist/components/{p-4d3ec142.js → p-eb632278.js} +3 -3
- package/dist/components/{p-4d3ec142.js.map → p-eb632278.js.map} +1 -1
- package/dist/components/{p-150daf68.js → p-f5cb0a63.js} +2 -2
- package/dist/components/{p-150daf68.js.map → p-f5cb0a63.js.map} +1 -1
- package/dist/components/{p-c14f6b8e.js → p-f76bb0c3.js} +3 -3
- package/dist/components/{p-c14f6b8e.js.map → p-f76bb0c3.js.map} +1 -1
- package/dist/{components/p-8348db09.js → esm/constants-b97e736d.js} +15 -2
- package/dist/esm/constants-b97e736d.js.map +1 -0
- package/dist/esm/index-1fb7a9a6.js +4 -4
- package/dist/esm/index.js +4 -471
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/native.js +1 -1
- package/dist/esm/nv-alert.entry.js +5 -5
- package/dist/esm/nv-alert.entry.js.map +1 -1
- package/dist/esm/nv-avatar.entry.js +1 -1
- package/dist/esm/nv-badge_2.entry.js +17 -8
- package/dist/esm/nv-badge_2.entry.js.map +1 -1
- package/dist/esm/nv-button.entry.js +1 -1
- package/dist/esm/nv-calendar.entry.js +841 -842
- package/dist/esm/nv-calendar.entry.js.map +1 -1
- package/dist/esm/nv-datagrid.entry.js +376 -39
- package/dist/esm/nv-datagrid.entry.js.map +1 -1
- package/dist/esm/nv-dialog.entry.js +18 -12
- package/dist/esm/nv-dialog.entry.js.map +1 -1
- package/dist/esm/nv-dialogfooter_2.entry.js +1 -1
- package/dist/esm/nv-fielddate.entry.js +8 -17
- package/dist/esm/nv-fielddate.entry.js.map +1 -1
- package/dist/esm/nv-fielddaterange.entry.js +26 -28
- package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdown.entry.js +12 -5
- package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
- package/dist/esm/nv-fieldmultiselect.entry.js +10 -4
- package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldnumber.entry.js +8 -4
- package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
- package/dist/esm/nv-fieldpassword.entry.js +8 -4
- package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
- package/dist/esm/nv-fieldradio.entry.js +3 -3
- package/dist/esm/nv-fieldselect.entry.js +10 -6
- package/dist/esm/nv-fieldselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldtext.entry.js +8 -4
- package/dist/esm/nv-fieldtext.entry.js.map +1 -1
- package/dist/esm/nv-fieldtextarea.entry.js +8 -4
- package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
- package/dist/esm/nv-fieldtime.entry.js +15 -12
- package/dist/esm/nv-fieldtime.entry.js.map +1 -1
- package/dist/esm/nv-icon.entry.js +3 -3
- package/dist/esm/nv-icon.entry.js.map +1 -1
- package/dist/esm/nv-iconbutton_2.entry.js +2 -2
- package/dist/esm/nv-menu.entry.js +3 -1
- package/dist/esm/nv-menu.entry.js.map +1 -1
- package/dist/esm/nv-menuitem.entry.js +1 -1
- package/dist/esm/nv-popover.entry.js +1 -1
- package/dist/esm/nv-row.entry.js +1 -1
- package/dist/esm/nv-stack.entry.js +1 -1
- package/dist/esm/nv-table.entry.js +2 -2
- package/dist/esm/nv-table.entry.js.map +1 -1
- package/dist/esm/nv-toggle.entry.js +2 -2
- package/dist/esm/nv-tooltip.entry.js +1 -1
- package/dist/native/index.esm.js +1 -1
- package/dist/native/index.esm.js.map +1 -1
- package/dist/native/native.css +1 -1
- package/dist/native/native.esm.js +1 -1
- package/dist/native/native.esm.js.map +1 -1
- package/dist/native/{p-b094296d.entry.js → p-08a75cfa.entry.js} +2 -2
- package/dist/native/{p-d5cbf5c8.entry.js → p-14c07207.entry.js} +2 -2
- package/dist/native/p-1da72182.entry.js +2 -0
- package/dist/native/p-1da72182.entry.js.map +1 -0
- package/dist/native/p-2523eead.entry.js +2 -0
- package/dist/native/p-2523eead.entry.js.map +1 -0
- package/dist/native/p-3953464e.entry.js +7 -0
- package/dist/native/p-3953464e.entry.js.map +1 -0
- package/dist/native/{p-701b5557.entry.js → p-3b7ef609.entry.js} +2 -2
- package/dist/native/{p-63e6aed3.entry.js → p-3cd77d82.entry.js} +2 -2
- package/dist/native/p-3cd77d82.entry.js.map +1 -0
- package/dist/native/p-470588c2.entry.js +13 -0
- package/dist/native/p-470588c2.entry.js.map +1 -0
- package/dist/native/p-49cac014.entry.js +2 -0
- package/dist/native/p-49cac014.entry.js.map +1 -0
- package/dist/native/p-4d164ed6.entry.js +2 -0
- package/dist/native/p-4d164ed6.entry.js.map +1 -0
- package/dist/native/p-4e635fa7.entry.js +2 -0
- package/dist/native/p-4e635fa7.entry.js.map +1 -0
- package/dist/native/p-5d21532a.entry.js +2 -0
- package/dist/native/p-5d21532a.entry.js.map +1 -0
- package/dist/native/{p-39bb95ff.entry.js → p-615947e7.entry.js} +2 -2
- package/dist/native/{p-bad11367.entry.js → p-656c56f0.entry.js} +2 -2
- package/dist/native/p-656c56f0.entry.js.map +1 -0
- package/dist/native/{p-fa77a591.entry.js → p-7042ba8a.entry.js} +2 -2
- package/dist/native/p-7e154bfd.entry.js +2 -0
- package/dist/native/p-7e154bfd.entry.js.map +1 -0
- package/dist/native/p-7eba904e.entry.js +2 -0
- package/dist/native/p-7eba904e.entry.js.map +1 -0
- package/dist/native/{p-6b348684.entry.js → p-7fd4d13d.entry.js} +2 -2
- package/dist/native/{p-fb5bddba.entry.js → p-90e6d9dd.entry.js} +2 -2
- package/dist/native/p-ae7ab110.entry.js +2 -0
- package/dist/native/p-ae7ab110.entry.js.map +1 -0
- package/dist/native/{p-f85aca27.entry.js → p-b8b6875d.entry.js} +2 -2
- package/dist/native/p-b94d9f0b.entry.js +2 -0
- package/dist/native/p-b94d9f0b.entry.js.map +1 -0
- package/dist/native/p-c0f79bac.entry.js +2 -0
- package/dist/native/p-c0f79bac.entry.js.map +1 -0
- package/dist/native/{p-6ff228da.entry.js → p-c67186f8.entry.js} +2 -2
- package/dist/native/{p-eee01062.entry.js → p-c71c6f23.entry.js} +2 -2
- package/dist/native/p-d9a52884.entry.js +2 -0
- package/dist/native/p-d9a52884.entry.js.map +1 -0
- package/dist/native/{p-d7a76400.entry.js → p-efe6a46c.entry.js} +2 -2
- package/dist/native/p-f2ef6771.entry.js +2 -0
- package/dist/native/p-f5f68992.entry.js +2 -0
- package/dist/native/p-f5f68992.entry.js.map +1 -0
- package/dist/native/{p-59768ee5.js → p-f85c08f1.js} +2 -2
- package/dist/native/p-f85c08f1.js.map +1 -0
- package/dist/native/p-fc97f071.entry.js +2 -0
- package/dist/native/p-fc97f071.entry.js.map +1 -0
- package/dist/types/components/nv-alert/nv-alert.d.ts +1 -1
- package/dist/types/components/nv-badge/nv-badge.d.ts +11 -3
- package/dist/types/components/nv-calendar/nv-calendar.d.ts +69 -107
- package/dist/types/components/nv-calendar/nv-calendar.utils.d.ts +60 -0
- package/dist/types/components/nv-calendar/test/nv-calendar.utils.test.d.ts +1 -0
- package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +47 -10
- package/dist/types/components/nv-dialog/nv-dialog.d.ts +4 -0
- package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +6 -7
- package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +13 -12
- package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +4 -0
- package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +4 -0
- package/dist/types/components/nv-fieldnumber/nv-fieldnumber.d.ts +4 -0
- package/dist/types/components/nv-fieldpassword/nv-fieldpassword.d.ts +4 -0
- package/dist/types/components/nv-fieldselect/nv-fieldselect.d.ts +4 -0
- package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +4 -0
- package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +4 -0
- package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
- package/dist/types/components/nv-table/nv-table.d.ts +13 -2
- package/dist/types/components.d.ts +269 -116
- package/dist/types/index.d.ts +0 -2
- package/dist/types/utils/constants.d.ts +9 -0
- package/dist/vscode-data.json +221 -1587
- package/hydrate/index.js +1466 -1063
- package/hydrate/index.mjs +1466 -1063
- package/package.json +1 -1
- package/dist/cjs/constants-bcd6b2e2.js.map +0 -1
- package/dist/collection/interfaces/actionEvent.js +0 -2
- package/dist/collection/interfaces/actionEvent.js.map +0 -1
- package/dist/collection/interfaces/calendarShortcut.js +0 -2
- package/dist/collection/interfaces/calendarShortcut.js.map +0 -1
- package/dist/collection/interfaces/dateRange.js +0 -2
- package/dist/collection/interfaces/dateRange.js.map +0 -1
- package/dist/components/p-373926aa.js +0 -177
- package/dist/components/p-373926aa.js.map +0 -1
- package/dist/components/p-591730e7.js +0 -88
- package/dist/components/p-591730e7.js.map +0 -1
- package/dist/components/p-8348db09.js.map +0 -1
- package/dist/components/p-f331117c.js +0 -1133
- package/dist/components/p-f331117c.js.map +0 -1
- package/dist/esm/constants-98e2dcc2.js.map +0 -1
- package/dist/native/p-0ee428d5.entry.js +0 -2
- package/dist/native/p-0ee428d5.entry.js.map +0 -1
- package/dist/native/p-2691e02d.entry.js +0 -2
- package/dist/native/p-37f0210e.entry.js +0 -2
- package/dist/native/p-37f0210e.entry.js.map +0 -1
- package/dist/native/p-4a440970.entry.js +0 -2
- package/dist/native/p-4a440970.entry.js.map +0 -1
- package/dist/native/p-4ae26462.entry.js +0 -7
- package/dist/native/p-4ae26462.entry.js.map +0 -1
- package/dist/native/p-4d9c4618.entry.js +0 -2
- package/dist/native/p-4d9c4618.entry.js.map +0 -1
- package/dist/native/p-59768ee5.js.map +0 -1
- package/dist/native/p-59e0bd2b.entry.js +0 -2
- package/dist/native/p-59e0bd2b.entry.js.map +0 -1
- package/dist/native/p-5c00f092.entry.js +0 -2
- package/dist/native/p-5c00f092.entry.js.map +0 -1
- package/dist/native/p-63e6aed3.entry.js.map +0 -1
- package/dist/native/p-7f5eb2ac.entry.js +0 -2
- package/dist/native/p-7f5eb2ac.entry.js.map +0 -1
- package/dist/native/p-84a73e2a.entry.js +0 -2
- package/dist/native/p-84a73e2a.entry.js.map +0 -1
- package/dist/native/p-93dc2f47.entry.js +0 -2
- package/dist/native/p-93dc2f47.entry.js.map +0 -1
- package/dist/native/p-9a267f16.entry.js +0 -13
- package/dist/native/p-9a267f16.entry.js.map +0 -1
- package/dist/native/p-9d6431c7.entry.js +0 -2
- package/dist/native/p-9d6431c7.entry.js.map +0 -1
- package/dist/native/p-b2ce83ad.entry.js +0 -2
- package/dist/native/p-b2ce83ad.entry.js.map +0 -1
- package/dist/native/p-bad11367.entry.js.map +0 -1
- package/dist/native/p-e1a4f776.entry.js +0 -2
- package/dist/native/p-e1a4f776.entry.js.map +0 -1
- package/dist/native/p-e49bbd02.entry.js +0 -2
- package/dist/native/p-e49bbd02.entry.js.map +0 -1
- package/dist/native/p-f6bdc270.entry.js +0 -2
- package/dist/native/p-f6bdc270.entry.js.map +0 -1
- package/dist/types/interfaces/actionEvent.d.ts +0 -13
- package/dist/types/interfaces/calendarShortcut.d.ts +0 -17
- package/dist/types/interfaces/dateRange.d.ts +0 -13
- /package/dist/native/{p-b094296d.entry.js.map → p-08a75cfa.entry.js.map} +0 -0
- /package/dist/native/{p-d5cbf5c8.entry.js.map → p-14c07207.entry.js.map} +0 -0
- /package/dist/native/{p-701b5557.entry.js.map → p-3b7ef609.entry.js.map} +0 -0
- /package/dist/native/{p-39bb95ff.entry.js.map → p-615947e7.entry.js.map} +0 -0
- /package/dist/native/{p-fa77a591.entry.js.map → p-7042ba8a.entry.js.map} +0 -0
- /package/dist/native/{p-6b348684.entry.js.map → p-7fd4d13d.entry.js.map} +0 -0
- /package/dist/native/{p-fb5bddba.entry.js.map → p-90e6d9dd.entry.js.map} +0 -0
- /package/dist/native/{p-f85aca27.entry.js.map → p-b8b6875d.entry.js.map} +0 -0
- /package/dist/native/{p-6ff228da.entry.js.map → p-c67186f8.entry.js.map} +0 -0
- /package/dist/native/{p-eee01062.entry.js.map → p-c71c6f23.entry.js.map} +0 -0
- /package/dist/native/{p-d7a76400.entry.js.map → p-efe6a46c.entry.js.map} +0 -0
- /package/dist/native/{p-2691e02d.entry.js.map → p-f2ef6771.entry.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["nvFielddropdownCss","NvFielddropdownStyle0","NvFielddropdown","constructor","hostRef","this","inputId","uuidv4","open","autocomplete","required","error","readonly","disabled","emptyResult","filterable","autofocus","fluid","filterText","selectedValues","Set","handleInputContainerClick","event","target","tagName","inputContainer","el","querySelector","classList","add","removeFocusWithin","remove","popoverElement","addEventListener","handleInput","input","value","toLowerCase","filterItems","handleInputFocus","togglePopover","getSelectedLabel","_a","options","length","matchingItem","find","option","_c","_b","label","items","Array","from","querySelectorAll","item","selectedLabel","_f","_d","_e","textContent","trim","clearFilter","inputElement","focus","handleDropdownItemSelected","forEach","removeAttribute","setAttribute","detail","handleOpenChanged","stopPropagation","watchValueHandler","newValue","valueChanged","emit","handleOptionsChange","defaultValue","selected","updateSelectedItem","handleBlur","relatedTarget","Node","contains","setTimeout","handleKeyDown","key","preventDefault","currentIndex","findIndex","updateHighlightedItem","getFilterText","existingEmptyItem","hasVisibleItems","shouldShow","includes","emptyItem","document","createElement","appendChild","resetFilter","style","display","index","i","scrollIntoView","block","itemLabel","getAttribute","itemValue","itemText","componentWillLoad","componentDidLoad","render","h","Host","role","toString","htmlFor","name","ref","triggerMode","placement","class","slot","onClick","id","type","e","placeholder","readOnly","onInput","onFocus","onKeyDown","tabIndex","size","emphasis","map","description","errorDescription","hidden"],"sources":["src/components/nv-fielddropdown/styles/nv-fielddropdown.scss?tag=nv-fielddropdown","src/components/nv-fielddropdown/nv-fielddropdown.tsx"],"sourcesContent":["@use \"./mixins\" as *;\n@import '../../../styles/form-field';\n\nnv-fielddropdown {\n @include form-field-variables();\n @include form-field-root();\n\n &[fluid]:not([fluid=\"false\"]) {\n @include form-field-fluid();\n }\n\n &[readonly]:not([readonly='false']) {\n @include form-field-readonly-variables();\n }\n\n &[error]:not([error='false']) {\n @include form-field-error-variables();\n }\n\n &[required]:not([required='false']) label {\n @include form-field-label-required();\n }\n\n &[hidden]:not([hidden='false']) label {\n display: none;\n }\n\n label {\n @include form-field-label();\n }\n\n nv-popover {\n @include form-field-popover();\n }\n\n .input-wrapper {\n @include form-field-input-wrapper();\n @include input-wrapper-styles();\n }\n\n .input-container {\n @include form-field-input-container();\n @include input-container-styles();\n\n input[type=\"search\"]::-webkit-search-decoration,\n input[type=\"search\"]::-webkit-search-cancel-button,\n input[type=\"search\"]::-webkit-search-results-button,\n input[type=\"search\"]::-webkit-search-results-decoration {\n -webkit-appearance:none;\n }\n\n input,\n p.non-filterable-text {\n @include form-field-input();\n }\n\n > nv-iconbutton {\n @include form-field-action();\n }\n\n nv-icon.validation {\n @include form-field-icon();\n }\n }\n\n .non-filterable-text {\n @include non-filterable-text-styles();\n }\n\n .description {\n @include form-field-description();\n }\n\n .error-description {\n @include form-field-error-description();\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n State,\n Listen,\n Event,\n EventEmitter,\n Watch,\n Method,\n} from '@stencil/core';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { TextInputAutocomplete } from '../../utils/constants';\n\n/**\n * @slot content - Use a <ul></ul> tag for the slot, and place <nv-dropdownitem> elements inside.\n * @slot leading-input - Content to be placed before the input text, within the input container.\n * @slot before-input - Content to be placed before the input text, outside the input container.\n * @slot after-input - Content to be placed after the input text, outside the input container.\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n@Component({\n tag: 'nv-fielddropdown',\n styleUrl: 'styles/nv-fielddropdown.scss',\n shadow: false,\n formAssociated: true,\n})\nexport class NvFielddropdown {\n @Element() el: HTMLNvFielddropdownElement;\n private inputElement: HTMLInputElement;\n private popoverElement!: HTMLNvPopoverElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated\n * to ensure unique identification, facilitating proper label association and\n * accessibility.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * Lets you define the text that explains what users should enter in the text\n * input field. It's a crucial element for making forms clear and\n * user-friendly.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Add helpful hints or extra information under the text input field. This is\n * where you can clarify what users should enter or provide additional\n * instructions, making the form easier to fill out correctly.\n */\n @Prop({ reflect: true })\n readonly description: string;\n\n /**\n * Display temporary text inside the input field to give users a hint about\n * what to type. It's a great way to provide examples or suggestions directly\n * in the field before they start typing.\n * The placeholder is displayed only when the filterable option is enabled.\n */\n @Prop({ reflect: true })\n readonly placeholder: string;\n\n /**\n * Defines the name attribute of the input field, which is crucial for form\n * submission. This value is used as the key in the key-value pair sent to\n * the server, representing the input's data in form submissions. It should be\n * unique within the form to avoid conflicts.\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * State of the dropdown popover.\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /**\n * The autocomplete prop helps users fill out the input field faster by\n * suggesting entries they've used before, like their email or address.\n * You can turn it on to make forms more convenient or off to ensure users\n * always type in fresh data.\n */\n @Prop({ reflect: true })\n readonly autocomplete: `${TextInputAutocomplete}` = 'off';\n\n /**\n * Specifies the value of the input field, which determines the text displayed\n * within the field. This prop is typically used in controlled components\n * where the input's value is managed by the component's state.\n */\n @Prop({ reflect: true, mutable: true })\n value: string;\n\n /**\n * Marks the input field as required, ensuring that the user must fill it out\n * before submitting the form.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Alters the input field's appearance to indicate an error, helping users\n * identify fields that need correction.\n * @validator error\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * A description that appears when there is an error related to the dropdown\n * field.\n * @validator message\n */\n @Prop({ reflect: true })\n readonly errorDescription: string;\n\n /**\n * Display the input field's content without allowing users to change it.\n * Users can still click on it, select, and copy the text, but they won't be\n * able to type or delete anything.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * The disabled prop lets you turn off the input field so that users can't\n * type in it. When disabled, the field is grayed out and won't respond to\n * clicks or touches.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * The text to display when no items match the filter.\n */\n @Prop({ reflect: true })\n readonly emptyResult: string = 'No results found';\n\n /**\n * Enables or disables the filtering feature for the dropdown items.\n */\n @Prop({ reflect: true })\n readonly filterable: boolean = false;\n\n /**\n * List of options used to automatically generate dropdown items. This\n * provides an alternative to using the slot manually.\n *\n * @example\n * options=[{\n * \"label\": \"Option 1\",\n * \"value\": \"option1\",\n * \"selected\": true,\n * },\n * {\n * \"label\": \"Option 2\",\n * \"value\": \"option2\",\n * }]\n */\n @Prop({ reflect: false })\n readonly options?: {\n /** Label to display for the option */\n label: string;\n /** Value associated with the option */\n value: string;\n /** Whether this option is disabled */\n disabled?: boolean;\n /** Whether this option is pre-selected */\n selected?: boolean;\n }[];\n\n /**\n * Applies focus to the input field as soon as the component is mounted. This\n * is equivalent to setting the native autofocus attribute on an <input>\n * element.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n /**\n * Allows the field to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region STATE\n\n /** The text entered by the user for filtering dropdown items. */\n @State()\n filterText: string = '';\n\n @State()\n selectedValues: Set<string> = new Set();\n\n //#endregion STATE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the input value changes.\n * @bind value\n */\n @Event()\n valueChanged: EventEmitter<string>;\n\n /**\n * Event emitted when an item is clicked.\n */\n @Event()\n dropdownItemSelected: EventEmitter<\n HTMLNvFielddropdownitemElementEventMap['dropdownItemSelected']\n >;\n\n @Listen('dropdownItemSelected')\n handleDropdownItemSelected(\n event: CustomEvent<\n HTMLNvFielddropdownitemElementEventMap['dropdownItemSelected']\n >,\n ) {\n if (this.disabled || this.readonly) return;\n\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[];\n\n items.forEach(item => {\n if (item !== event.target) {\n item.removeAttribute('selected');\n } else {\n item.setAttribute('selected', 'true');\n }\n });\n\n this.clearFilter();\n this.value = event.detail.value;\n this.open = false;\n }\n\n @Listen('openChanged')\n handleOpenChanged(event: CustomEvent<boolean>) {\n // Stop propagation to prevent the event from affecting parent components like dialogs\n event.stopPropagation();\n\n // Update `open` based on the popover state\n this.open = event.detail;\n }\n\n @Watch('value')\n watchValueHandler(newValue: typeof this.value) {\n this.valueChanged.emit(newValue);\n }\n\n @Watch('options')\n handleOptionsChange(newValue: typeof this.options) {\n if (!newValue) return;\n if (!this.value) {\n const defaultValue = newValue.find(option => option.selected);\n this.value = defaultValue?.value ?? '';\n this.updateSelectedItem(this.value);\n }\n }\n\n @Listen('blur', { capture: true })\n handleBlur(event: FocusEvent) {\n const target = event.relatedTarget;\n if (!(target instanceof Node) || !this.el.contains(target)) {\n this.open = false;\n\n if (this.inputElement) {\n this.filterText = '';\n this.inputElement.value = this.getSelectedLabel();\n setTimeout(() => {\n this.filterItems();\n }, 200);\n }\n }\n }\n\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (!this.el) return;\n if (!this.open) {\n if (event.key === 'ArrowDown') {\n this.open = true;\n\n event.preventDefault();\n return;\n }\n return;\n }\n\n const items = Array.from(\n this.el.querySelectorAll(\n 'nv-fielddropdownitem:not([disabled]):not([hidden])',\n ),\n ) as HTMLNvFielddropdownitemElement[];\n\n let currentIndex = items.findIndex(item =>\n item.classList.contains('highlighted'),\n );\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n currentIndex = (currentIndex + 1) % items.length;\n this.updateHighlightedItem(items, currentIndex);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n currentIndex = (currentIndex - 1 + items.length) % items.length;\n this.updateHighlightedItem(items, currentIndex);\n } else if (event.key === 'Escape') {\n event.preventDefault();\n this.open = false;\n }\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Retrieves the current filter text entered by the user.\n * @returns {string} The filter text.\n */\n @Method()\n async getFilterText(): Promise<string> {\n return this.filterText;\n }\n\n private handleInputContainerClick = (event: MouseEvent) => {\n if (this.disabled || this.readonly) {\n return;\n }\n\n const target = event.target as HTMLElement;\n\n if (target.tagName === 'P' || target.tagName === 'SPAN') {\n this.open = true;\n\n // Simulate focus to trigger \"focus-within\" style\n const inputContainer = this.el.querySelector(\n '.input-container',\n ) as HTMLElement;\n if (inputContainer) {\n inputContainer.classList.add('focus-within');\n\n // Remove the \"focus-within\" class after a delay or when the popover is closed\n const removeFocusWithin = () => {\n inputContainer.classList.remove('focus-within');\n };\n\n // Or remove the class when the popover is closed\n this.popoverElement.addEventListener('hide', removeFocusWithin);\n }\n }\n };\n\n private handleInput = (event: Event) => {\n if (!this.filterable) return;\n if (this.disabled || this.readonly) {\n return;\n }\n\n const input = event.target as HTMLInputElement;\n this.open = true;\n this.filterText = input.value.toLowerCase();\n this.filterItems();\n };\n\n /**\n * Filter dropdown items based on the text entered by the user.\n * If no items are found, display a message indicating no results.\n */\n private filterItems() {\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[];\n\n // Remove the \"no results found\" item if it exists\n const existingEmptyItem = this.el.querySelector(\n 'nv-fielddropdownitem[data-empty]',\n );\n if (existingEmptyItem) {\n existingEmptyItem.remove();\n }\n\n let hasVisibleItems = false;\n\n // Iterate over all items and adjust their visibility\n items.forEach(item => {\n const textContent = item.textContent?.toLowerCase() || ''; // Get the textual content of the slot\n const value = item.value?.toLowerCase() || ''; // Get the value of the `value` attribute\n\n // Check if the filtered text is present either in the value or in the textual content\n const shouldShow =\n value.includes(this.filterText) ||\n textContent.includes(this.filterText);\n\n if (shouldShow) item.removeAttribute('hidden');\n else item.setAttribute('hidden', '');\n\n if (shouldShow) {\n hasVisibleItems = true;\n }\n });\n\n // If no items are visible, add the \"no results found\" item\n if (!hasVisibleItems) {\n const emptyItem = document.createElement('nv-fielddropdownitem');\n emptyItem.setAttribute('data-empty', 'true');\n emptyItem.setAttribute('disabled', 'true');\n emptyItem.textContent = this.emptyResult;\n this.el.querySelector('ul[slot=\"content\"]')?.appendChild(emptyItem);\n }\n }\n\n /** Reset the filter and make all items visible. */\n private resetFilter() {\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[];\n\n items.forEach(item => {\n item.style.display = '';\n });\n }\n\n private handleInputFocus = () => {\n if (this.disabled || this.readonly) return;\n this.open = true;\n };\n\n private togglePopover = () => {\n if (this.disabled || this.readonly) return;\n this.open = !this.open;\n };\n\n private updateHighlightedItem(\n items: HTMLNvFielddropdownitemElement[],\n index: number,\n ) {\n items.forEach((item, i) => {\n if (i === index) {\n item.classList.add('highlighted');\n item.focus();\n item.scrollIntoView({ block: 'nearest' });\n } else {\n item.classList.remove('highlighted');\n }\n });\n }\n\n private getSelectedLabel = (): string => {\n if (!this.value) return '';\n\n if (this.options?.length > 1) {\n const matchingItem = this.options.find(\n option => option.value === this.value,\n );\n return matchingItem?.label ?? matchingItem?.value ?? this.value;\n }\n\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[];\n\n const matchingItem = items.find(item => item.value === this.value);\n\n const selectedLabel = matchingItem\n ? matchingItem.label ??\n matchingItem.textContent?.trim() ??\n matchingItem.value\n : '';\n\n return selectedLabel;\n };\n\n private clearFilter = () => {\n if (!this.filterable) return;\n\n this.filterText = '';\n this.inputElement.value = this.getSelectedLabel();\n this.inputElement.focus();\n this.filterItems();\n };\n\n private updateSelectedItem(value: string) {\n if (!value) return;\n\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[];\n\n const matchingItem = items.find(item => {\n const itemLabel = item.getAttribute('label');\n const itemValue = item.getAttribute('value');\n const itemText = item.textContent?.trim();\n return itemLabel === value || itemValue === value || itemText === value;\n });\n\n items.forEach(item => {\n if (item === matchingItem) {\n item.setAttribute('selected', '');\n } else {\n item.removeAttribute('selected');\n }\n });\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.resetFilter();\n\n if (this.filterable && this.filterText) {\n this.filterItems();\n }\n if (this.options) {\n this.handleOptionsChange(this.options);\n }\n }\n\n componentDidLoad() {\n if (this.value) {\n this.updateSelectedItem(this.value);\n }\n if (this.inputElement) {\n this.inputElement.value = this.getSelectedLabel();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n role=\"combobox\"\n aria-expanded={this.open.toString()}\n aria-haspopup=\"listbox\"\n aria-label={this.label}\n >\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.inputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n <nv-popover\n ref={el => (this.popoverElement = el as HTMLNvPopoverElement)}\n triggerMode=\"controlled\"\n placement=\"bottom-start\"\n open={this.open}\n >\n <div class=\"input-wrapper\" slot=\"trigger\">\n <slot name=\"before-input\"></slot>\n\n <div\n class=\"input-container\"\n onClick={this.handleInputContainerClick}\n >\n <slot name=\"leading-input\"></slot>\n\n {this.filterable || this.disabled || this.readonly ? (\n <input\n data-scope=\"focusable\"\n id={this.inputId}\n type=\"search\"\n ref={e => (this.inputElement = e)}\n autofocus={this.autofocus}\n autocomplete={this.autocomplete}\n placeholder={this.placeholder}\n name={this.name}\n value={this.getSelectedLabel()}\n required={this.required}\n disabled={this.disabled}\n readOnly={this.readonly}\n onInput={this.handleInput}\n onFocus={this.handleInputFocus}\n onClick={this.handleInputFocus}\n onKeyDown={this.handleKeyDown}\n />\n ) : (\n <p\n data-scope=\"focusable\"\n id={this.inputId}\n class=\"non-filterable-text\"\n onClick={this.handleInputContainerClick}\n tabIndex={this.disabled ? -1 : 0}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleInputFocus}\n >\n {this.getSelectedLabel() || this.value || this.placeholder}\n </p>\n )}\n\n {this.filterable && this.filterText && this.open && (\n <nv-iconbutton\n name=\"x\"\n size=\"md\"\n emphasis=\"lower\"\n class=\"clear-button\"\n onClick={this.clearFilter}\n aria-label=\"Clear input\"\n />\n )}\n\n {this.error && (\n <nv-icon name=\"alert-circle\" class=\"validation\" size=\"md\" />\n )}\n\n <nv-iconbutton\n data-scope=\"toggle-dropdown\"\n name={this.open ? 'chevron-top' : 'chevron-down'}\n size=\"md\"\n emphasis=\"lower\"\n aria-label={this.open ? 'Hide dropdown' : 'Show dropdown'}\n aria-pressed={this.open.toString()}\n onClick={this.togglePopover}\n tabIndex={this.disabled ? -1 : 0}\n />\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n <div slot=\"content\">\n {this.options?.length > 0 ? (\n <ul>\n {this.options.map(option => (\n <nv-fielddropdownitem\n label={option.label}\n value={option.value}\n disabled={option.disabled}\n selected={option.value === this.value}\n />\n ))}\n </ul>\n ) : (\n <slot name=\"content\"></slot>\n )}\n </div>\n </nv-popover>\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n <slot name=\"error-description\">{this.errorDescription}</slot>\n </div>\n )}\n </Host>\n );\n }\n //#endregion RENDER\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e;(function(e){e["Information"]="information";e["Warning"]="warning";e["Success"]="success";e["Error"]="error";e["Neutral"]="neutral"})(e||(e={}));var n;(function(e){e["Neutral"]="neutral";e["Primary"]="primary";e["Secondary"]="secondary";e["Success"]="success";e["Error"]="error"})(n||(n={}));var a;(function(e){e["ExtraSmall"]="xs";e["Small"]="sm";e["Medium"]="md";e["Large"]="lg";e["ExtraLarge"]="xl"})(a||(a={}));var r;(function(e){e["ExtraSmall"]="xs";e["Small"]="sm";e["Medium"]="md";e["Large"]="lg"})(r||(r={}));var t;(function(e){e["High"]="high";e["Medium"]="medium";e["Low"]="low";e["Lower"]="lower"})(t||(t={}));var o;(function(e){e["Submit"]="submit";e["Reset"]="reset";e["Button"]="button"})(o||(o={}));var
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
var e;(function(e){e["Information"]="information";e["Warning"]="warning";e["Success"]="success";e["Error"]="error";e["Neutral"]="neutral"})(e||(e={}));var n;(function(e){e["Neutral"]="neutral";e["Primary"]="primary";e["Secondary"]="secondary";e["Success"]="success";e["Error"]="error"})(n||(n={}));var a;(function(e){e["ExtraSmall"]="xs";e["Small"]="sm";e["Medium"]="md";e["Large"]="lg";e["ExtraLarge"]="xl"})(a||(a={}));var r;(function(e){e["ExtraSmall"]="xs";e["Small"]="sm";e["Medium"]="md";e["Large"]="lg"})(r||(r={}));var t;(function(e){e["High"]="high";e["Medium"]="medium";e["Low"]="low";e["Lower"]="lower"})(t||(t={}));var o;(function(e){e["Submit"]="submit";e["Reset"]="reset";e["Button"]="button"})(o||(o={}));var c;(function(e){e["Square"]="square";e["Rounded"]="rounded"})(c||(c={}));var u;(function(e){e["High"]="brand";e["Low"]="white"})(u||(u={}));var i;(function(e){e["Before"]="before";e["After"]="after"})(i||(i={}));var s;(function(e){e["On"]="on";e["Off"]="off";e["Section"]="section-*";e["Shipping"]="shipping";e["Billing"]="billing";e["Home"]="home";e["Work"]="work";e["Mobile"]="mobile";e["Fax"]="fax";e["Pager"]="pager";e["Tel"]="tel";e["TelCountryCode"]="tel-country-code";e["TelNational"]="tel-national";e["TelAreaCode"]="tel-area-code";e["TelLocal"]="tel-local";e["TelLocalPrefix"]="tel-local-prefix";e["TelLocalSuffix"]="tel-local-suffix";e["TelExtension"]="tel-extension";e["Email"]="email";e["IMProtocol"]="impp";e["Name"]="name";e["HonorificPrefix"]="honorific-prefix";e["GivenName"]="given-name";e["AdditionalName"]="additional-name";e["FamilyName"]="family-name";e["HonorificSuffix"]="honorific-suffix";e["Nickname"]="nickname";e["Username"]="username";e["NewPassword"]="new-password";e["CurrentPassword"]="current-password";e["OneTimeCode"]="one-time-code";e["OrganizationTitle"]="organization-title";e["Organization"]="organization";e["StreetAddress"]="street-address";e["AddressLine1"]="address-line1";e["AddressLine2"]="address-line2";e["AddressLine3"]="address-line3";e["AddressLevel4"]="address-level4";e["AddressLevel3"]="address-level3";e["AddressLevel2"]="address-level2";e["AddressLevel1"]="address-level1";e["Country"]="country";e["CountryName"]="country-name";e["PostalCode"]="postal-code";e["CCName"]="cc-name";e["CCGivenName"]="cc-given-name";e["CCAdditionalName"]="cc-additional-name";e["CCFamilyName"]="cc-family-name";e["CCNumber"]="cc-number";e["CCExp"]="cc-exp";e["CCExpMonth"]="cc-exp-month";e["CCExpYear"]="cc-exp-year";e["CCCSC"]="cc-csc";e["CCType"]="cc-type";e["TransactionCurrency"]="transaction-currency";e["TransactionAmount"]="transaction-amount";e["Language"]="language";e["Bday"]="bday";e["BdayDay"]="bday-day";e["BdayMonth"]="bday-month";e["BdayYear"]="bday-year";e["Sex"]="sex";e["Url"]="url";e["Photo"]="photo"})(s||(s={}));var l;(function(e){e["Hours"]="hours";e["Minutes"]="minutes";e["Seconds"]="seconds"})(l||(l={}));var d;(function(e){e["End"]="end";e["Start"]="start";e["Center"]="center"})(d||(d={}));var m;(function(e){e["Asc"]="asc";e["Desc"]="desc"})(m||(m={}));const p={"fr-FR":"Sem","fr-BE":"Sem","nl-BE":"W","en-BE":"W","en-US":"W","en-GB":"W","es-ES":"Sem","de-DE":"KW","it-IT":"Set","pt-PT":"Sem","nl-NL":"W","pl-PL":"Tyd","ru-RU":"Нед","ja-JP":"週","zh-CN":"周","ko-KR":"주"};const S={"fr-BE":["Lu","Ma","Me","Je","Ve","Sa","Di"],"nl-BE":["Ma","Di","Wo","Do","Vr","Za","Zo"],"de-DE":["Mo","Di","Mi","Do","Fr","Sa","So"],"en-BE":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],"en-US":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],"en-GB":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]};const f={"fr-BE":["Jan","Fev","Mar","Avr","Mai","Jun","Jul","Aou","Sep","Oct","Nov","Dec"],"nl-BE":["Jan","Feb","Maa","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],"de-DE":["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],"en-BE":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"en-US":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"en-GB":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]};const g=Object.freeze({__proto__:null,get FeedbackColors(){return e},get DeprecatedSemanticColors(){return n},get SemanticSizes(){return a},get ButtonSize(){return r},get ButtonEmphasis(){return t},get ButtonType(){return o},get IconButtonShape(){return c},get LoaderColors(){return u},get LabelPlacement(){return i},get TextInputAutocomplete(){return s},get TimeType(){return l},get GlobalFilterPosition(){return d},get SortingPossibility(){return m},WEEK_ABBREVIATIONS:p,CUSTOM_DAY_NAMES:S,CUSTOM_MONTH_NAMES:f});export{o as B,S as C,e as F,a as S,l as T,p as W,m as a,f as b,g as c,r as d};
|
|
2
|
+
//# sourceMappingURL=p-f85c08f1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FeedbackColors","DeprecatedSemanticColors","SemanticSizes","ButtonSize","ButtonEmphasis","ButtonType","IconButtonShape","LoaderColors","LabelPlacement","TextInputAutocomplete","TimeType","GlobalFilterPosition","SortingPossibility","WEEK_ABBREVIATIONS","CUSTOM_DAY_NAMES","CUSTOM_MONTH_NAMES"],"sources":["src/utils/constants.ts"],"sourcesContent":["import { WeekAbbreviations } from '../interfaces/localization';\n\nexport enum FeedbackColors {\n Information = 'information',\n Warning = 'warning',\n Success = 'success',\n Error = 'error',\n Neutral = 'neutral',\n}\nexport enum DeprecatedSemanticColors {\n Neutral = 'neutral',\n Primary = 'primary',\n Secondary = 'secondary',\n Success = 'success',\n Error = 'error',\n}\nexport enum SemanticSizes {\n ExtraSmall = 'xs',\n Small = 'sm',\n Medium = 'md',\n Large = 'lg',\n ExtraLarge = 'xl',\n}\nexport enum ButtonSize {\n ExtraSmall = 'xs',\n Small = 'sm',\n Medium = 'md',\n Large = 'lg',\n}\nexport enum ButtonEmphasis {\n High = 'high',\n Medium = 'medium',\n Low = 'low',\n Lower = 'lower',\n}\nexport enum ButtonType {\n Submit = 'submit',\n Reset = 'reset',\n Button = 'button',\n}\nexport enum IconButtonShape {\n Square = 'square',\n Rounded = 'rounded',\n}\nexport enum LoaderColors {\n High = 'brand',\n Low = 'white',\n}\nexport enum LabelPlacement {\n Before = 'before',\n After = 'after',\n}\n\nexport enum TextInputAutocomplete {\n On = 'on',\n Off = 'off',\n Section = 'section-*',\n Shipping = 'shipping',\n Billing = 'billing',\n Home = 'home',\n Work = 'work',\n Mobile = 'mobile',\n Fax = 'fax',\n Pager = 'pager',\n Tel = 'tel',\n TelCountryCode = 'tel-country-code',\n TelNational = 'tel-national',\n TelAreaCode = 'tel-area-code',\n TelLocal = 'tel-local',\n TelLocalPrefix = 'tel-local-prefix',\n TelLocalSuffix = 'tel-local-suffix',\n TelExtension = 'tel-extension',\n Email = 'email',\n IMProtocol = 'impp',\n Name = 'name',\n HonorificPrefix = 'honorific-prefix',\n GivenName = 'given-name',\n AdditionalName = 'additional-name',\n FamilyName = 'family-name',\n HonorificSuffix = 'honorific-suffix',\n Nickname = 'nickname',\n Username = 'username',\n NewPassword = 'new-password',\n CurrentPassword = 'current-password',\n OneTimeCode = 'one-time-code',\n OrganizationTitle = 'organization-title',\n Organization = 'organization',\n StreetAddress = 'street-address',\n AddressLine1 = 'address-line1',\n AddressLine2 = 'address-line2',\n AddressLine3 = 'address-line3',\n AddressLevel4 = 'address-level4',\n AddressLevel3 = 'address-level3',\n AddressLevel2 = 'address-level2',\n AddressLevel1 = 'address-level1',\n Country = 'country',\n CountryName = 'country-name',\n PostalCode = 'postal-code',\n CCName = 'cc-name',\n CCGivenName = 'cc-given-name',\n CCAdditionalName = 'cc-additional-name',\n CCFamilyName = 'cc-family-name',\n CCNumber = 'cc-number',\n CCExp = 'cc-exp',\n CCExpMonth = 'cc-exp-month',\n CCExpYear = 'cc-exp-year',\n CCCSC = 'cc-csc',\n CCType = 'cc-type',\n TransactionCurrency = 'transaction-currency',\n TransactionAmount = 'transaction-amount',\n Language = 'language',\n Bday = 'bday',\n BdayDay = 'bday-day',\n BdayMonth = 'bday-month',\n BdayYear = 'bday-year',\n Sex = 'sex',\n Url = 'url',\n Photo = 'photo',\n}\n\nexport enum TimeType {\n Hours = 'hours',\n Minutes = 'minutes',\n Seconds = 'seconds',\n}\n\nexport enum GlobalFilterPosition {\n End = 'end',\n Start = 'start',\n Center = 'center',\n}\nexport enum SortingPossibility {\n Asc = 'asc',\n Desc = 'desc',\n}\n\nexport const WEEK_ABBREVIATIONS: WeekAbbreviations = {\n 'fr-FR': 'Sem', // Semaine\n 'fr-BE': 'Sem', // Semaine\n 'nl-BE': 'W', // Week\n 'en-BE': 'W', // Week\n 'en-US': 'W', // Week\n 'en-GB': 'W', // Week\n 'es-ES': 'Sem', // Semana\n 'de-DE': 'KW', // Kalenderwoche\n 'it-IT': 'Set', // Settimana\n 'pt-PT': 'Sem', // Semana\n 'nl-NL': 'W', // Week\n 'pl-PL': 'Tyd', // Tydzień\n 'ru-RU': 'Нед', // Неделя\n 'ja-JP': '週', // Shū\n 'zh-CN': '周', // Zhōu\n 'ko-KR': '주', // Ju\n};\n\nexport const CUSTOM_DAY_NAMES: { [key: string]: string[] } = {\n 'fr-BE': ['Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa', 'Di'],\n 'nl-BE': ['Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za', 'Zo'],\n 'de-DE': ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'],\n 'en-BE': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n 'en-US': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n 'en-GB': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n};\n\nexport const CUSTOM_MONTH_NAMES: { [key: string]: string[] } = {\n 'fr-BE': [\n 'Jan',\n 'Fev',\n 'Mar',\n 'Avr',\n 'Mai',\n 'Jun',\n 'Jul',\n 'Aou',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n ],\n 'nl-BE': [\n 'Jan',\n 'Feb',\n 'Maa',\n 'Apr',\n 'Mei',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Okt',\n 'Nov',\n 'Dec',\n ],\n 'de-DE': [\n 'Jan',\n 'Feb',\n 'Mär',\n 'Apr',\n 'Mai',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Okt',\n 'Nov',\n 'Dez',\n ],\n 'en-BE': [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n ],\n 'en-US': [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n ],\n 'en-GB': [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n ],\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,c as r,h as a,a as t,g as o}from"./p-ab002252.js";import{c as i}from"./p-8a1a6e56.js";import{v as n}from"./p-f5ff676c.js";const l='nv-fieldtextarea{--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-fieldtextarea[fluid]:not([fluid=false]){max-width:unset}nv-fieldtextarea[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-fieldtextarea[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)}nv-fieldtextarea[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-fieldtextarea[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fieldtextarea label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fieldtextarea .textarea-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch}nv-fieldtextarea .textarea-wrapper .textarea-container{display:flex;flex-grow:1;padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);justify-content:center;align-items:center;gap:var(--form-field-gap);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);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldtextarea .textarea-wrapper .textarea-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtextarea .textarea-wrapper .textarea-container:focus-within{border-color:var(--nv-field-border-focus);box-shadow:0 0 0 var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldtextarea .textarea-wrapper .textarea-container:has(textarea:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldtextarea .textarea-wrapper .textarea-container:has(textarea:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtextarea .textarea-wrapper .textarea-container textarea{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);text-overflow:ellipsis;font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height)}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::-webkit-scrollbar{width:6px;height:6px}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}nv-fieldtextarea .textarea-wrapper .textarea-container textarea:focus{outline:none}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:"TT Norms Pro", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fieldtextarea .textarea-wrapper .textarea-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldtextarea .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldtextarea .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", 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)}';const d=l;const s=class{constructor(a){e(this,a);this.valueChanged=r(this,"valueChanged",7);this.inputId=n();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.rows=3;this.resize="vertical";this.autosize=false;this.autofocus=false;this.fluid=false;this.handleTextarea=e=>{const r=e.target;this.value=r.value;this.valueChanged.emit(r.value)};this.handleTextareaContainerClick=()=>{this.textareaElement.focus()}}rowsChanged(){if(this.autosize){this.adjustTextareaHeight()}}autosizeChanged(){var e;if(this.autosize){this.adjustTextareaHeight()}else{(e=this.textareaElement)===null||e===void 0?void 0:e.style.removeProperty("height")}}handleValueChange(){if(this.autosize){this.adjustTextareaHeight()}}adjustTextareaHeight(){if(this.textareaElement&&this.autosize){requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.textareaElement.style.height="auto";const e=window.getComputedStyle(this.textareaElement);const r=parseFloat(e.lineHeight);const a=parseFloat(e.paddingTop);const t=parseFloat(e.paddingBottom);const o=parseFloat(e.borderTopWidth);const i=parseFloat(e.borderBottomWidth);const n=r*this.rows+a+t+o+i;this.textareaElement.style.minHeight=`${n}px`;this.textareaElement.style.height=this.textareaElement.scrollHeight+"px"}))}))}}componentWillRender(){if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}componentDidLoad(){if(this.autosize){this.adjustTextareaHeight()}}render(){return a(t,{key:"26197bbab1a4b4571fdb55c8191e6b7879d58504"},(this.label||this.el.querySelector('[slot="label"]'))&&a("label",{key:"f3f9465b6917b669cd2f8a363bbe719259bda4c4",htmlFor:this.inputId},a("slot",{key:"81cda2c75f3dbaeace4c0a713083ba1d71738334",name:"label"},this.label)),a("div",{key:"7c8ce38e9ae3b5524205017add5470ba46cecc20",class:"textarea-wrapper"},a("div",{key:"c32da51694a84c55c092838a62801b4e57ab12ac",class:"textarea-container",onClick:this.handleTextareaContainerClick},a("textarea",{key:"1b3d130b68595c7f49097494e98848e5523ba34d",id:this.inputId,ref:e=>this.textareaElement=e,placeholder:this.placeholder,autofocus:this.autofocus,name:this.name,disabled:this.disabled,readOnly:this.readonly,required:this.required,maxlength:this.maxlength,minlength:this.minlength,autocomplete:"off",value:this.value,onInput:this.handleTextarea,rows:this.rows,class:i(this.resize==="none"&&"resize-none",this.resize==="vertical"&&"resize-y",this.resize==="horizontal"&&"resize-x",this.resize==="both"&&"resize")}))),(this.description||this.el.querySelector('[slot="description"]'))&&a("div",{key:"ed32145e5c6eb3b5c481835e578c264f24e7a576",class:"description"},a("slot",{key:"9ca5a874ff2bb5deb377ce8d5fb91235ec754ab0",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&a("div",{key:"e858235ef7f47e0849757a718617ebc2877f4ac7",hidden:!this.error,class:"error-description"},a("slot",{key:"91e053ef76274532046acad6db63e40787a3059f",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{rows:["rowsChanged"],autosize:["autosizeChanged"],value:["handleValueChange"]}}};s.style=d;export{s as nv_fieldtextarea};
|
|
2
|
+
//# sourceMappingURL=p-fc97f071.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["nvFieldtextareaCss","NvFieldtextareaStyle0","NvFieldtextarea","constructor","hostRef","this","inputId","uuidv4","disabled","readonly","required","error","success","rows","resize","autosize","autofocus","fluid","handleTextarea","event","textarea","target","value","valueChanged","emit","handleTextareaContainerClick","textareaElement","focus","rowsChanged","adjustTextareaHeight","autosizeChanged","_a","style","removeProperty","handleValueChange","requestAnimationFrame","height","computedStyle","window","getComputedStyle","lineHeight","parseFloat","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth","minHeight","scrollHeight","componentWillRender","message","description","validation","errorDescription","componentDidLoad","render","h","Host","key","label","el","querySelector","htmlFor","name","class","onClick","id","ref","e","placeholder","readOnly","maxlength","minlength","autocomplete","onInput","clsx","hidden"],"sources":["src/components/nv-fieldtextarea/nv-fieldtextarea.scss?tag=nv-fieldtextarea","src/components/nv-fieldtextarea/nv-fieldtextarea.tsx"],"sourcesContent":["@import \"../../styles/form-field\";\n@import \"../../styles/scrollbar\";\n\n@mixin form-field-textarea-wrapper() {\n display: flex;\n flex-wrap: wrap;\n gap: var(--form-gap-x);\n align-items: stretch;\n align-self: stretch;\n}\n\n@mixin form-field-textarea-container() {\n display: flex;\n flex-grow: 1;\n padding: calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);\n justify-content: center;\n align-items: center;\n gap: var(--form-field-gap);\n align-self: stretch;\n border-radius: var(--form-field-radius);\n border-width: 1px;\n border-style: solid;\n border-color: var(--nv-field-border-default);\n opacity: var(--components-form-opacity-default);\n background: var(--nv-field-background);\n transition: all 150ms ease-out;\n\n &:hover {\n border-color: var(--nv-field-border-hover);\n }\n\n &:focus-within {\n border-color: var(--nv-field-border-focus);\n box-shadow: 0 0 0 var(--focus-field-stroke) var(--nv-field-focus-box-shadow);\n }\n // Keep ReadOnly before Disabled\n &:has(textarea:read-only) {\n // opacity: var(--components-form-opacity-readonly, 0.5); broken token generation, is 50px instead of 0.5\n opacity: 0.5;\n background-color: var(--components-form-field-background-readonly);\n border-color: var(--nv-field-border-readonly);\n }\n\n &:has(textarea:disabled) {\n // opacity: var(--components-form-opacity-disabled, 0.5); broken token generation, is 50px instead of 0.5\n opacity: 0.5;\n background-color: var(--components-form-field-background-disabled);\n border-color: var(--nv-field-border-disabled);\n }\n}\n\n@mixin form-field-textarea() {\n @include scrollbar();\n display: flex;\n align-items: center;\n flex: 1 0 0;\n overflow: hidden;\n background-color: transparent;\n color: var(--components-form-field-content-text);\n text-overflow: ellipsis;\n font-size: var(--form-field-font-size);\n font-style: normal;\n font-weight: 500;\n line-height: var(--form-field-line-height);\n\n &:focus {\n outline: none;\n }\n\n &::placeholder {\n overflow: hidden;\n color: var(--components-form-field-content-placeholder);\n text-overflow: ellipsis;\n font-family: \"TT Norms Pro\", sans-serif;\n font-size: var(--form-field-font-size);\n font-style: normal;\n font-weight: 400;\n line-height: var(--form-field-line-height);\n }\n}\n\nnv-fieldtextarea {\n @include form-field-variables();\n @include form-field-root();\n\n &[fluid]:not([fluid=\"false\"]) {\n @include form-field-fluid();\n }\n\n &[readonly]:not([readonly=\"false\"]) {\n @include form-field-readonly-variables();\n }\n\n &[error]:not([error=\"false\"]) {\n @include form-field-error-variables();\n }\n\n &[success]:not([success=\"false\"]) {\n @include form-field-success-variables();\n }\n\n &[required]:not([required=\"false\"]) label {\n @include form-field-label-required();\n }\n\n label {\n @include form-field-label();\n }\n\n .textarea-wrapper {\n @include form-field-textarea-wrapper();\n\n .textarea-container {\n @include form-field-textarea-container();\n\n textarea {\n @include form-field-textarea();\n }\n\n nv-icon.validation {\n @include form-field-icon();\n }\n }\n }\n\n .description {\n @include form-field-description();\n }\n\n .error-description {\n @include form-field-error-description();\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element,\n Watch,\n} from '@stencil/core';\nimport { v4 as uuidv4 } from 'uuid';\nimport clsx from 'clsx';\n\n/**\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n@Component({\n tag: 'nv-fieldtextarea',\n shadow: false,\n formAssociated: true,\n styleUrl: 'nv-fieldtextarea.scss',\n})\nexport class NvFieldtextarea {\n @Element() el: HTMLNvFieldtextareaElement;\n private textareaElement!: HTMLTextAreaElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Message defines a 'hint ' message for the Text Field.\n * @deprecated Use `description` instead.\n */\n @Prop({ reflect: true })\n readonly message: string;\n\n /**\n * Add the message to the validation state.\n * @deprecated Use `errorDescription` and set the error prop instead.\n */\n @Prop({ reflect: true })\n readonly validation: string;\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated\n * to ensure unique identification, facilitating proper label association and\n * accessibility.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * Lets you define the text that explains what users should enter in the text\n * textarea field. It’s a crucial element for making forms clear and\n * user-friendly.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Add helpful hints or extra information under the text textarea field. This is\n * where you can clarify what users should enter or provide additional\n * instructions, making the form easier to fill out correctly.\n */\n @Prop({ reflect: true, mutable: true })\n description: string;\n\n /**\n * Display temporary text inside the textarea field to give users a hint about\n * what to type. It’s a great way to provide examples or suggestions directly\n * in the field before they start typing.\n */\n @Prop({ reflect: true })\n readonly placeholder: string;\n\n /**\n * Defines the name attribute of the textarea field, which is crucial for form\n * submission. This value is used as the key in the key-value pair sent to\n * the server, representing the textarea’s data in form submissions. It should be\n * unique within the form to avoid conflicts\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * Specifies the value of the textarea field, which determines the text displayed\n * within the field. This prop is typically used in controlled components\n * where the textarea’s value is managed by the component’s state.\n */\n @Prop({ reflect: true, mutable: true })\n value: string;\n\n /**\n * The disabled prop lets you turn off the textarea field so that users can’t\n * type in it. When disabled, the field is grayed out and won’t respond to#\n * clicks or touches.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Display the textarea field’s content without allowing users to change it.\n * Users can still click on it, select, and copy the text, but they won’t be\n * able to type or delete anything.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Marks the textarea field as required, ensuring that the user must fill it out\n * before submitting the form.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Alters the textarea field’s appearance to indicate an error, helping users\n * identify fields that need correction.\n * @validator error\n */\n @Prop({ reflect: true, mutable: true })\n error: boolean = false;\n\n /**\n * Show a helpful message under the textarea field when there’s a problem. It\n * explains what’s wrong and how users can fix it, making the error easier to\n * understand and resolve.\n * @validator message\n */\n @Prop({ reflect: true, mutable: true })\n errorDescription: string;\n\n /**\n * Changes the textarea field’s appearance to indicate successful textarea or\n * validation.\n */\n @Prop({ reflect: true })\n readonly success: boolean = false;\n\n /**\n * Limits how many characters users can type into the textarea field. It’s\n * helpful for making sure users don’t enter too much information, keeping\n * their textarea within the allowed limit.\n */\n @Prop({ reflect: true })\n readonly maxlength: number;\n\n /**\n * Ensures that users type at least a certain number of characters into the\n * textarea field. It’s a way to make sure users provide enough information\n * before moving on.\n */\n @Prop({ reflect: true })\n readonly minlength: number;\n\n /**\n * The number of visible text lines for the control. The default is 3. This\n * can be useful when you want to limit the size of the textarea field or when\n * you want to make the textarea field smaller to fit a specific layout. The\n * textarea field will expand vertically to fit the text as the user types.\n */\n @Prop({ reflect: true })\n readonly rows: number = 3;\n\n /**\n * Controls the resize property of a textarea. It can be set to none, both,\n * horizontal, or vertical. The default is vertical.\n */\n @Prop({ reflect: true })\n readonly resize: 'none' | 'both' | 'horizontal' | 'vertical' = 'vertical';\n\n /**\n * Enable this to make the textarea automatically resize as the user types,\n * adjusting the height to fit the content. For the best experience, avoid\n * vertical resizing, as it’s controlled by this feature. Horizontal resizing\n * can still be allowed if desired.\n */\n @Prop({ reflect: true })\n readonly autosize: boolean = false;\n\n /**\n * Applies focus to the input field as soon as the component is mounted. This\n * is equivalent to setting the native autofocus attribute on a <textarea>\n * element.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n /**\n * Allows the field to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the textarea value changes.\n * @bind value\n */\n @Event()\n valueChanged: EventEmitter<string>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * If autosize is true, we need to make sure to update the min-height when\n * the rows change.\n */\n @Watch('rows')\n rowsChanged() {\n if (this.autosize) {\n this.adjustTextareaHeight();\n }\n }\n\n /**\n * If autosize is true, we need to make sure to update the height and\n * min-height, if false, we need to remove the height property.\n */\n @Watch('autosize')\n autosizeChanged() {\n if (this.autosize) {\n this.adjustTextareaHeight();\n } else {\n this.textareaElement?.style.removeProperty('height');\n }\n }\n\n /**\n * Make sure to adjust the height of the textarea when the value changes\n * programmatically or by typing when autosize is on.\n */\n @Watch('value')\n handleValueChange() {\n if (this.autosize) {\n this.adjustTextareaHeight();\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region METHODS\n\n private handleTextarea = (event: Event) => {\n const textarea = event.target as HTMLTextAreaElement;\n this.value = textarea.value;\n this.valueChanged.emit(textarea.value);\n };\n\n private handleTextareaContainerClick = () => {\n this.textareaElement.focus();\n };\n\n private adjustTextareaHeight() {\n if (this.textareaElement && this.autosize) {\n /**\n * The first requestAnimationFrame ensures that the DOM has applied any\n * pending changes (e.g., value updates or attribute changes) before\n * proceeding to the next frame.\n */\n requestAnimationFrame(() => {\n /**\n * The second requestAnimationFrame ensures that the browser has fully\n * recalculated layout and styles based on the updated DOM, such as\n * recalculating scrollHeight for the textarea after the new value is\n * rendered.\n */\n requestAnimationFrame(() => {\n this.textareaElement.style.height = 'auto';\n\n const computedStyle = window.getComputedStyle(this.textareaElement);\n const lineHeight = parseFloat(computedStyle.lineHeight);\n const paddingTop = parseFloat(computedStyle.paddingTop);\n const paddingBottom = parseFloat(computedStyle.paddingBottom);\n const borderTopWidth = parseFloat(computedStyle.borderTopWidth);\n const borderBottomWidth = parseFloat(computedStyle.borderBottomWidth);\n\n // Calculate min-height based on rows\n const minHeight =\n lineHeight * this.rows +\n paddingTop +\n paddingBottom +\n borderTopWidth +\n borderBottomWidth;\n\n this.textareaElement.style.minHeight = `${minHeight}px`;\n this.textareaElement.style.height =\n this.textareaElement.scrollHeight + 'px';\n });\n });\n }\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillRender() {\n if (this.message) {\n this.description = this.message;\n }\n\n if (this.validation) {\n this.errorDescription = this.validation;\n this.error = true;\n }\n }\n\n componentDidLoad() {\n if (this.autosize) {\n this.adjustTextareaHeight();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.inputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <div class=\"textarea-wrapper\">\n <div\n class=\"textarea-container\"\n onClick={this.handleTextareaContainerClick}\n >\n <textarea\n id={this.inputId}\n ref={e => (this.textareaElement = e)}\n placeholder={this.placeholder}\n autofocus={this.autofocus}\n name={this.name}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n maxlength={this.maxlength}\n minlength={this.minlength}\n autocomplete=\"off\"\n value={this.value}\n onInput={this.handleTextarea}\n rows={this.rows}\n class={clsx(\n this.resize === 'none' && 'resize-none',\n this.resize === 'vertical' && 'resize-y',\n this.resize === 'horizontal' && 'resize-x',\n this.resize === 'both' && 'resize',\n )}\n />\n </div>\n </div>\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n <slot name=\"error-description\">{this.errorDescription}</slot>\n </div>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -62,7 +62,7 @@ export declare class NvAlert {
|
|
|
62
62
|
/**
|
|
63
63
|
* Emitted when the close button is clicked.
|
|
64
64
|
*/
|
|
65
|
-
closeClicked: EventEmitter<
|
|
65
|
+
closeClicked: EventEmitter<void>;
|
|
66
66
|
/****************************************************************************/
|
|
67
67
|
/**
|
|
68
68
|
* Used for 2 way binding with the hidden property.
|
|
@@ -23,7 +23,11 @@ export declare class NvBadge {
|
|
|
23
23
|
readonly iconLocation: 'left' | 'right';
|
|
24
24
|
/****************************************************************************/
|
|
25
25
|
/**
|
|
26
|
-
* The color of the badge.
|
|
26
|
+
* The color of the badge.
|
|
27
|
+
* deprecated Use status values or named colors instead.
|
|
28
|
+
* Use a string between 1 to 10
|
|
29
|
+
* or one of the status values: error, information, neutral, success, warning
|
|
30
|
+
* or one of the color names: amber, orange, turquoise, crimson, lime
|
|
27
31
|
*/
|
|
28
32
|
readonly color?: string;
|
|
29
33
|
/**
|
|
@@ -48,11 +52,16 @@ export declare class NvBadge {
|
|
|
48
52
|
* Useful for externally controlled component behavior.
|
|
49
53
|
*/
|
|
50
54
|
readonly preventAutoClose: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* When true, the badge will only display an icon without label.
|
|
57
|
+
* The label will be visually hidden but still accessible for screen readers.
|
|
58
|
+
*/
|
|
59
|
+
readonly isIconOnly?: boolean;
|
|
51
60
|
/****************************************************************************/
|
|
52
61
|
/**
|
|
53
62
|
* Emitted when the badge is dismissed.
|
|
54
63
|
*/
|
|
55
|
-
closeClicked: EventEmitter<
|
|
64
|
+
closeClicked: EventEmitter<void>;
|
|
56
65
|
/**
|
|
57
66
|
* Emits when the 'hidden' prop changes, reflecting a change in visibility.
|
|
58
67
|
* Passes hidden value to the detail.
|
|
@@ -86,7 +95,6 @@ export declare class NvBadge {
|
|
|
86
95
|
/****************************************************************************/
|
|
87
96
|
/**
|
|
88
97
|
* Handles the close button click.
|
|
89
|
-
* @param {MouseEvent} originalEvent - The original event.
|
|
90
98
|
*/
|
|
91
99
|
private readonly handleClose;
|
|
92
100
|
/****************************************************************************/
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
-
import { DateRange } from '../../interfaces/dateRange';
|
|
3
2
|
/**
|
|
4
3
|
* @slot default - Child content of the component.
|
|
5
4
|
* @slot actions - Child content of the component.
|
|
@@ -27,7 +26,12 @@ export declare class NvCalendar {
|
|
|
27
26
|
* format: { start: ISO string, end: ISO string }
|
|
28
27
|
* ex: { start: "2025-03-15", end: "2025-03-20" }
|
|
29
28
|
*/
|
|
30
|
-
rangeValue:
|
|
29
|
+
rangeValue: {
|
|
30
|
+
/** ISO string for start date */
|
|
31
|
+
start: string;
|
|
32
|
+
/** ISO string for end date */
|
|
33
|
+
end: string;
|
|
34
|
+
};
|
|
31
35
|
/**
|
|
32
36
|
* Minimum date for selection (ISO string format, ex: "2025-01-01")
|
|
33
37
|
*/
|
|
@@ -36,15 +40,17 @@ export declare class NvCalendar {
|
|
|
36
40
|
* Maximum date for selection (ISO string format, ex: "2025-12-31")
|
|
37
41
|
*/
|
|
38
42
|
readonly max?: string;
|
|
39
|
-
/**
|
|
40
|
-
*
|
|
43
|
+
/**
|
|
44
|
+
* Disabled dates (ISO string array)
|
|
41
45
|
*/
|
|
42
|
-
readonly disabledDates: string
|
|
43
|
-
/**
|
|
46
|
+
readonly disabledDates: Array<string>;
|
|
47
|
+
/**
|
|
48
|
+
* Locale for date formatting
|
|
44
49
|
* @default 'en-BE'
|
|
45
50
|
*/
|
|
46
51
|
readonly locale: string;
|
|
47
|
-
/**
|
|
52
|
+
/**
|
|
53
|
+
* Date format (ex: 'YYYY-MM-DD', 'DD-MM-YYYY', etc.)
|
|
48
54
|
* @default 'YYYY-MM-DD'
|
|
49
55
|
* @note If the date format is in UTC mode, the date will be displayed in UTC time.
|
|
50
56
|
* @note If the date format is not in UTC mode, the date will be displayed in the local time.
|
|
@@ -62,32 +68,29 @@ export declare class NvCalendar {
|
|
|
62
68
|
readonly selectionType: 'single' | 'range';
|
|
63
69
|
/**
|
|
64
70
|
* Show action buttons
|
|
65
|
-
* @default false
|
|
66
71
|
*/
|
|
67
72
|
readonly showActions: boolean;
|
|
68
73
|
/**
|
|
69
74
|
* Custom actions to display in the footer
|
|
70
|
-
* JSON array of objects with the following properties:
|
|
71
|
-
* - label: string
|
|
72
|
-
* - onClick: function
|
|
73
|
-
* @default '[]'
|
|
74
75
|
*/
|
|
75
|
-
readonly shortcuts:
|
|
76
|
+
readonly shortcuts: {
|
|
77
|
+
/** Label of the shortcut */
|
|
78
|
+
label: string;
|
|
79
|
+
/** Selected date value for single selection mode */
|
|
80
|
+
singleValue?: string;
|
|
81
|
+
/** Date range values for range selection mode */
|
|
82
|
+
rangeValue?: HTMLNvCalendarElement['rangeValue'];
|
|
83
|
+
}[];
|
|
76
84
|
/**
|
|
77
85
|
* Show week numbers
|
|
78
|
-
* @default true
|
|
79
86
|
*/
|
|
80
87
|
readonly showWeekNumbers: boolean;
|
|
81
88
|
/** Cache for parsed disabled dates */
|
|
82
89
|
private parsedDisabledDates;
|
|
83
90
|
/****************************************************************************/
|
|
84
|
-
|
|
85
|
-
currentDate: Date;
|
|
86
|
-
/** Selected date */
|
|
91
|
+
currentDate: Date | null;
|
|
87
92
|
selectedDate: Date | null;
|
|
88
|
-
/** Start date */
|
|
89
93
|
startDate: Date | null;
|
|
90
|
-
/** End date */
|
|
91
94
|
endDate: Date | null;
|
|
92
95
|
/** List of formatted months for the selector */
|
|
93
96
|
private months;
|
|
@@ -99,10 +102,56 @@ export declare class NvCalendar {
|
|
|
99
102
|
/**
|
|
100
103
|
* Emitted when a date range is selected
|
|
101
104
|
*/
|
|
102
|
-
rangeDateChange: EventEmitter<
|
|
105
|
+
rangeDateChange: EventEmitter<HTMLNvCalendarElement['rangeValue']>;
|
|
106
|
+
/****************************************************************************/
|
|
107
|
+
/**
|
|
108
|
+
* Watches the changes of the number of calendars
|
|
109
|
+
* @param {number} newValue - New number of calendars
|
|
110
|
+
*/
|
|
111
|
+
validateNumberOfCalendars(newValue: number): void;
|
|
112
|
+
/**
|
|
113
|
+
* Watches the changes of the selected date range
|
|
114
|
+
* @param {Object} newValue - New rangeValue value
|
|
115
|
+
* @param {string} newValue.start - Start date
|
|
116
|
+
* @param {string} newValue.end - End date
|
|
117
|
+
*/
|
|
118
|
+
onRangeValueChange(newValue: typeof this.rangeValue): void;
|
|
119
|
+
/**
|
|
120
|
+
* Watches the changes of the disabled dates
|
|
121
|
+
* @description Watches the changes of the disabled dates
|
|
122
|
+
*/
|
|
123
|
+
handleDisabledDatesChange(): void;
|
|
124
|
+
/**
|
|
125
|
+
* Watches the changes of the single value
|
|
126
|
+
* @param {string} newValue - New single value
|
|
127
|
+
* @param {string} oldValue - Old single value
|
|
128
|
+
*/
|
|
129
|
+
onSingleValueChange(newValue: string, oldValue: string): void;
|
|
103
130
|
/****************************************************************************/
|
|
104
131
|
componentWillLoad(): void;
|
|
105
132
|
/****************************************************************************/
|
|
133
|
+
/**
|
|
134
|
+
* Checks if shortcuts are visible
|
|
135
|
+
* @returns {boolean} true if shortcuts are visible
|
|
136
|
+
*/
|
|
137
|
+
private get hasShortcuts();
|
|
138
|
+
/**
|
|
139
|
+
* Checks if actions are visible
|
|
140
|
+
* @returns {boolean} true if actions are visible
|
|
141
|
+
*/
|
|
142
|
+
private get hasActions();
|
|
143
|
+
/**
|
|
144
|
+
* Checks if the date format is in UTC mode
|
|
145
|
+
* @returns {boolean} true if the date format is in UTC mode
|
|
146
|
+
*/
|
|
147
|
+
private get isUTCMode();
|
|
148
|
+
/**
|
|
149
|
+
* Validates and processes a date range, warning if start is after end
|
|
150
|
+
* @param {string} startDateStr - Start date in ISO string format
|
|
151
|
+
* @param {string} endDateStr - End date in ISO string format
|
|
152
|
+
* @returns {object} Object containing the validated start and end dates
|
|
153
|
+
*/
|
|
154
|
+
private validateDateRange;
|
|
106
155
|
/**
|
|
107
156
|
* Change the displayed month
|
|
108
157
|
* @param {number} offset - Month offset (-1 for previous, 1 for next)
|
|
@@ -123,12 +172,6 @@ export declare class NvCalendar {
|
|
|
123
172
|
* @param {Date} date - Selected date
|
|
124
173
|
*/
|
|
125
174
|
private handleRangeSelection;
|
|
126
|
-
/**
|
|
127
|
-
* Calculates the ISO week number
|
|
128
|
-
* @param {Date} date - Date to calculate
|
|
129
|
-
* @returns {number} Week number
|
|
130
|
-
*/
|
|
131
|
-
private getWeekNumber;
|
|
132
175
|
/**
|
|
133
176
|
* Checks if a date is disabled.
|
|
134
177
|
* Disabled if:
|
|
@@ -188,81 +231,11 @@ export declare class NvCalendar {
|
|
|
188
231
|
* @returns {boolean} true if the date is today
|
|
189
232
|
*/
|
|
190
233
|
private isToday;
|
|
191
|
-
/**
|
|
192
|
-
* Watches the changes of the number of calendars
|
|
193
|
-
* @watch numberOfCalendars
|
|
194
|
-
* @param {number} newValue - New number of calendars
|
|
195
|
-
*/
|
|
196
|
-
validateNumberOfCalendars(newValue: number): void;
|
|
197
|
-
/**
|
|
198
|
-
* Watches the changes of the selected date range
|
|
199
|
-
* @watch rangeValue
|
|
200
|
-
* @param {Object} newValue - New rangeValue value
|
|
201
|
-
* @param {string} newValue.start - Start date
|
|
202
|
-
* @param {string} newValue.end - End date
|
|
203
|
-
*/
|
|
204
|
-
onRangeValueChange(newValue: string): void;
|
|
205
|
-
/**
|
|
206
|
-
* Watches the changes of the disabled dates
|
|
207
|
-
* @watch disabledDates
|
|
208
|
-
* @description Watches the changes of the disabled dates
|
|
209
|
-
*/
|
|
210
|
-
handleDisabledDatesChange(): void;
|
|
211
|
-
/**
|
|
212
|
-
* Watches the changes of the single value
|
|
213
|
-
* @watch singleValue
|
|
214
|
-
* @param {string} newValue - New single value
|
|
215
|
-
* @param {string} oldValue - Old single value
|
|
216
|
-
*/
|
|
217
|
-
onSingleValueChange(newValue: string, oldValue: string): void;
|
|
218
|
-
/**
|
|
219
|
-
* Convert a date string/Date to a Date without timezone offset
|
|
220
|
-
* @param {string | Date} dateInput - Date under string or Date object form
|
|
221
|
-
* @returns {Date} Date in Date form without timezone offset
|
|
222
|
-
*/
|
|
223
|
-
private parseDate;
|
|
224
|
-
/**
|
|
225
|
-
* Checks if the date format is in UTC mode
|
|
226
|
-
* @returns {boolean} true if the date format is in UTC mode
|
|
227
|
-
*/
|
|
228
|
-
private get isUTCMode();
|
|
229
|
-
/**
|
|
230
|
-
* Checks if the date format is ISO 8601
|
|
231
|
-
* @returns {boolean} true if the format is ISO 8601
|
|
232
|
-
*/
|
|
233
|
-
private get isISO8601Format();
|
|
234
|
-
/**
|
|
235
|
-
* Formats a date to a string according to the format
|
|
236
|
-
* @param {Date} date - Date to format
|
|
237
|
-
* @returns {string} Formatted date
|
|
238
|
-
*/
|
|
239
|
-
private formatDate;
|
|
240
234
|
/**
|
|
241
235
|
* Parse and cache the disabled dates
|
|
242
236
|
* @description Parse and cache the disabled dates
|
|
243
237
|
*/
|
|
244
238
|
private parseDisabledDates;
|
|
245
|
-
/**
|
|
246
|
-
* Checks if two dates are identical
|
|
247
|
-
* @param {Date | null} date1 - First date
|
|
248
|
-
* @param {Date | null} date2 - Second date
|
|
249
|
-
* @returns {boolean} true if the dates are identical
|
|
250
|
-
*/
|
|
251
|
-
private isSameDate;
|
|
252
|
-
/**
|
|
253
|
-
* Checks if a date is identical or after another date
|
|
254
|
-
* @param {Date} date - Date to check
|
|
255
|
-
* @param {Date} compareDate - Reference date
|
|
256
|
-
* @returns {boolean} true if `date` >= `compareDate`
|
|
257
|
-
*/
|
|
258
|
-
private isSameOrAfter;
|
|
259
|
-
/**
|
|
260
|
-
* Checks if a date is identical or before another date
|
|
261
|
-
* @param {Date} date - Date to check
|
|
262
|
-
* @param {Date} compareDate - Reference date
|
|
263
|
-
* @returns {boolean} true if `date` <= `compareDate`
|
|
264
|
-
*/
|
|
265
|
-
private isSameOrBefore;
|
|
266
239
|
/**
|
|
267
240
|
* Applies a shortcut selection
|
|
268
241
|
* @param {Object} shortcut - Shortcut to apply
|
|
@@ -325,17 +298,6 @@ export declare class NvCalendar {
|
|
|
325
298
|
* @returns {Function} Week selection handler
|
|
326
299
|
*/
|
|
327
300
|
private getWeekSelectionHandler;
|
|
328
|
-
private parsedShortcuts;
|
|
329
|
-
/**
|
|
330
|
-
* Checks if shortcuts are visible
|
|
331
|
-
* @returns {boolean} true if shortcuts are visible
|
|
332
|
-
*/
|
|
333
|
-
private get hasShortcuts();
|
|
334
|
-
/**
|
|
335
|
-
* Checks if actions are visible
|
|
336
|
-
* @returns {boolean} true if actions are visible
|
|
337
|
-
*/
|
|
338
|
-
private get hasActions();
|
|
339
301
|
/**
|
|
340
302
|
* Resets the current selection
|
|
341
303
|
*/
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formats a date to a string according to the format
|
|
3
|
+
* @param {Date} date - Date to format
|
|
4
|
+
* @returns {string} Formatted date
|
|
5
|
+
* @param {Object} options - Additional options
|
|
6
|
+
* @param {string} options.dateFormat - Date format (ex: 'YYYY-MM-DD', 'DD-MM-YYYY', etc.)
|
|
7
|
+
*/
|
|
8
|
+
export declare function formatDate(date: Date, options: {
|
|
9
|
+
/** Date format (ex: 'YYYY-MM-DD', 'DD-MM-YYYY', etc.) */
|
|
10
|
+
dateFormat: string;
|
|
11
|
+
}): string;
|
|
12
|
+
/**
|
|
13
|
+
* Checks if two dates are identical
|
|
14
|
+
* @param {Date | null} date - First date
|
|
15
|
+
* @param {Date | null} compareDate - Second date
|
|
16
|
+
* @param {Object} options - Additional options
|
|
17
|
+
* @param {boolean} options.isUTCMode - Whether the dates are in UTC mode
|
|
18
|
+
* @returns {boolean} true if the dates are identical
|
|
19
|
+
*/
|
|
20
|
+
export declare function isSameDate(date: Date | null, compareDate: Date | null, options: {
|
|
21
|
+
/** Whether the dates are in UTC mode */
|
|
22
|
+
isUTCMode: boolean;
|
|
23
|
+
}): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Checks if a date is identical or before another date
|
|
26
|
+
* @param {Date} date - Date to check
|
|
27
|
+
* @param {Date} compareDate - Reference date
|
|
28
|
+
* @param {Object} options - Additional options
|
|
29
|
+
* @param {boolean} options.isUTCMode - Whether the dates are in UTC mode
|
|
30
|
+
* @returns {boolean} true if `date` <= `compareDate`
|
|
31
|
+
*/
|
|
32
|
+
export declare function isSameOrBefore(date: Date, compareDate: Date, options: {
|
|
33
|
+
/** Whether the dates are in UTC mode */
|
|
34
|
+
isUTCMode: boolean;
|
|
35
|
+
}): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Checks if a date is identical or after another date
|
|
38
|
+
* @param {Date} date - Date to check
|
|
39
|
+
* @param {Date} compareDate - Reference date
|
|
40
|
+
* @param {Object} options - Additional options
|
|
41
|
+
* @param {boolean} options.isUTCMode - Whether the dates are in UTC mode
|
|
42
|
+
* @returns {boolean} true if `date` >= `compareDate`
|
|
43
|
+
*/
|
|
44
|
+
export declare function isSameOrAfter(date: Date, compareDate: Date, options: {
|
|
45
|
+
/** Whether the dates are in UTC mode */
|
|
46
|
+
isUTCMode: boolean;
|
|
47
|
+
}): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Calculates the ISO week number
|
|
50
|
+
* @param {Date} date - Date to calculate
|
|
51
|
+
* @returns {number} Week number
|
|
52
|
+
*/
|
|
53
|
+
export declare function getWeekNumber(date: Date): number;
|
|
54
|
+
/**
|
|
55
|
+
* Convert a date string/Date to a Date without timezone offset
|
|
56
|
+
* @param {string | Date} dateInput - Date under string or Date object form
|
|
57
|
+
* @param {string} dateFormat - Date format (ex: 'YYYY-MM-DD', 'DD-MM-YYYY', etc.)
|
|
58
|
+
* @returns {Date} Date in Date form without timezone offset
|
|
59
|
+
*/
|
|
60
|
+
export declare function parseDate(dateInput: string | Date, dateFormat: string): Date | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|