@nova-design-system/nova-webcomponents 3.6.0 → 3.8.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/index.cjs.js +5 -1
- 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-accordion-item.cjs.entry.js +2 -2
- package/dist/cjs/nv-accordion-item.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-accordion.cjs.entry.js +16 -43
- package/dist/cjs/nv-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-badge_2.cjs.entry.js +1 -1
- package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-calendar.cjs.entry.js +96 -75
- package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +4 -4
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddate.cjs.entry.js +26 -5
- package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddaterange.cjs.entry.js +32 -4
- package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +3 -3
- package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +14 -6
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldpassword.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldselect.cjs.entry.js +5 -5
- package/dist/cjs/nv-fieldslider.cjs.entry.js +15 -4
- package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtext.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldtime.cjs.entry.js +10 -10
- package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-icon.cjs.entry.js +2 -2
- 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 +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-toggle.cjs.entry.js +2 -2
- package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
- package/dist/collection/components/nv-accordion/nv-accordion.docs.js +17 -10
- package/dist/collection/components/nv-accordion/nv-accordion.docs.js.map +1 -1
- package/dist/collection/components/nv-accordion/nv-accordion.js +23 -55
- package/dist/collection/components/nv-accordion/nv-accordion.js.map +1 -1
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.js +5 -5
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.css +5 -0
- package/dist/collection/components/nv-calendar/nv-calendar.js +113 -74
- package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
- package/dist/collection/components/nv-calendar/partials/calendar-grid.js +3 -0
- package/dist/collection/components/nv-calendar/partials/calendar-grid.js.map +1 -1
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +6 -4
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.js +51 -5
- package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +61 -4
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +3 -3
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +7 -1
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +8 -8
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +14 -6
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +18 -7
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +1 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -1
- package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +11 -13
- package/dist/collection/components/nv-icon/nv-icon.js +1 -1
- package/dist/collection/components/nv-icon/nv-icons.js +5 -1
- 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 +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 +2 -2
- package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
- package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
- package/dist/components/index.js +5 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/nv-accordion-item.js +1 -1
- package/dist/components/nv-accordion.js +22 -52
- package/dist/components/nv-accordion.js.map +1 -1
- package/dist/components/nv-alert.js +1 -1
- package/dist/components/nv-avatar.js +1 -1
- 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 +2 -2
- package/dist/components/nv-dialog.js +4 -4
- package/dist/components/nv-dialogfooter.js +1 -1
- package/dist/components/nv-fieldcheckbox.js +1 -1
- package/dist/components/nv-fielddate.js +34 -12
- package/dist/components/nv-fielddate.js.map +1 -1
- package/dist/components/nv-fielddaterange.js +40 -11
- package/dist/components/nv-fielddaterange.js.map +1 -1
- package/dist/components/nv-fielddropdown.js +8 -8
- package/dist/components/nv-fielddropdownitem.js +1 -1
- package/dist/components/nv-fielddropdownitemcheck.js +1 -1
- package/dist/components/nv-fieldmultiselect.js +21 -13
- package/dist/components/nv-fieldmultiselect.js.map +1 -1
- package/dist/components/nv-fieldnumber.js +1 -1
- package/dist/components/nv-fieldpassword.js +6 -6
- package/dist/components/nv-fieldradio.js +3 -3
- package/dist/components/nv-fieldselect.js +8 -8
- package/dist/components/nv-fieldslider.js +19 -8
- package/dist/components/nv-fieldslider.js.map +1 -1
- package/dist/components/nv-fieldtext.js +1 -1
- package/dist/components/nv-fieldtextarea.js +3 -3
- package/dist/components/nv-fieldtime.js +14 -14
- 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 +4 -4
- 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-toggle.js +2 -2
- package/dist/components/nv-tooltip.js +1 -1
- package/dist/components/{p-9ed7a440.js → p-0143cee0.js} +5 -5
- package/dist/components/p-0143cee0.js.map +1 -0
- package/dist/components/{p-8a5b0f74.js → p-5d5668f0.js} +2 -2
- package/dist/components/{p-8a5b0f74.js.map → p-5d5668f0.js.map} +1 -1
- package/dist/components/{p-316ae8e3.js → p-6e2f91ae.js} +4 -4
- package/dist/components/{p-316ae8e3.js.map → p-6e2f91ae.js.map} +1 -1
- package/dist/components/{p-5e89eb9d.js → p-7bc65e46.js} +7 -7
- package/dist/components/{p-5e89eb9d.js.map → p-7bc65e46.js.map} +1 -1
- package/dist/components/{p-618ae85a.js → p-8067d283.js} +2 -2
- package/dist/components/{p-618ae85a.js.map → p-8067d283.js.map} +1 -1
- package/dist/components/{p-d2b4441a.js → p-865725bf.js} +3 -3
- package/dist/components/{p-d2b4441a.js.map → p-865725bf.js.map} +1 -1
- package/dist/components/{p-9cff2fd1.js → p-91a558eb.js} +2 -2
- package/dist/components/{p-9cff2fd1.js.map → p-91a558eb.js.map} +1 -1
- package/dist/components/p-9232d306.js +88 -0
- package/dist/components/p-9232d306.js.map +1 -0
- package/dist/components/{p-f266b533.js → p-9a209ac7.js} +5 -5
- package/dist/components/{p-f266b533.js.map → p-9a209ac7.js.map} +1 -1
- package/dist/components/{p-ac76a11c.js → p-abb8f5ae.js} +4 -4
- package/dist/components/{p-ac76a11c.js.map → p-abb8f5ae.js.map} +1 -1
- package/dist/components/{p-436a0f99.js → p-ba87d9d5.js} +3 -3
- package/dist/components/{p-436a0f99.js.map → p-ba87d9d5.js.map} +1 -1
- package/dist/components/{p-840858ed.js → p-d32b75ac.js} +99 -77
- package/dist/components/p-d32b75ac.js.map +1 -0
- package/dist/components/{p-4864a690.js → p-dfd2d4f0.js} +2 -2
- package/dist/components/{p-4864a690.js.map → p-dfd2d4f0.js.map} +1 -1
- package/dist/components/{p-190c8f60.js → p-e104c58a.js} +4 -4
- package/dist/components/p-e104c58a.js.map +1 -0
- package/dist/components/{p-4069966e.js → p-f0371d98.js} +2 -2
- package/dist/components/{p-4069966e.js.map → p-f0371d98.js.map} +1 -1
- package/dist/components/{p-230ad6c5.js → p-f927f771.js} +7 -7
- package/dist/components/p-f927f771.js.map +1 -0
- package/dist/components/{p-79b38dfb.js → p-fa1988d9.js} +3 -3
- package/dist/components/{p-79b38dfb.js.map → p-fa1988d9.js.map} +1 -1
- package/dist/esm/index.js +5 -1
- 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-accordion-item.entry.js +2 -2
- package/dist/esm/nv-accordion-item.entry.js.map +1 -1
- package/dist/esm/nv-accordion.entry.js +16 -43
- package/dist/esm/nv-accordion.entry.js.map +1 -1
- package/dist/esm/nv-badge_2.entry.js +1 -1
- package/dist/esm/nv-badge_2.entry.js.map +1 -1
- package/dist/esm/nv-calendar.entry.js +96 -75
- package/dist/esm/nv-calendar.entry.js.map +1 -1
- package/dist/esm/nv-fieldcheckbox.entry.js +4 -4
- package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
- package/dist/esm/nv-fielddate.entry.js +26 -5
- package/dist/esm/nv-fielddate.entry.js.map +1 -1
- package/dist/esm/nv-fielddaterange.entry.js +32 -4
- package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdown.entry.js +3 -3
- package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
- package/dist/esm/nv-fieldmultiselect.entry.js +14 -6
- package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldnumber.entry.js +3 -3
- package/dist/esm/nv-fieldpassword.entry.js +3 -3
- package/dist/esm/nv-fieldradio.entry.js +3 -3
- package/dist/esm/nv-fieldselect.entry.js +5 -5
- package/dist/esm/nv-fieldslider.entry.js +15 -4
- package/dist/esm/nv-fieldslider.entry.js.map +1 -1
- package/dist/esm/nv-fieldtext.entry.js +3 -3
- package/dist/esm/nv-fieldtextarea.entry.js +3 -3
- package/dist/esm/nv-fieldtime.entry.js +10 -10
- package/dist/esm/nv-fieldtime.entry.js.map +1 -1
- package/dist/esm/nv-icon.entry.js +2 -2
- 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 +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-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-051db87c.entry.js +2 -0
- package/dist/native/p-051db87c.entry.js.map +1 -0
- package/dist/native/{p-c9cde996.entry.js → p-0e005d95.entry.js} +2 -2
- package/dist/native/{p-33e5037d.entry.js → p-10ce53ea.entry.js} +2 -2
- package/dist/native/{p-cf468c67.entry.js → p-12039da4.entry.js} +2 -2
- package/dist/native/{p-b829383a.entry.js → p-16ef7dd4.entry.js} +2 -2
- package/dist/native/{p-0ada0382.entry.js → p-2a6783ca.entry.js} +2 -2
- package/dist/native/p-2a6783ca.entry.js.map +1 -0
- package/dist/native/{p-ddb0b9f6.entry.js → p-34bf336f.entry.js} +2 -2
- package/dist/native/{p-625be06b.entry.js → p-3f139780.entry.js} +2 -2
- package/dist/native/p-3ff7a912.entry.js +2 -0
- package/dist/native/p-3ff7a912.entry.js.map +1 -0
- package/dist/native/{p-8030c16b.entry.js → p-4b15cff3.entry.js} +2 -2
- package/dist/native/{p-0ac03708.entry.js → p-516da423.entry.js} +2 -2
- package/dist/native/p-516da423.entry.js.map +1 -0
- package/dist/native/{p-f9aa4900.entry.js → p-64cb38e6.entry.js} +2 -2
- package/dist/native/{p-bab6d0a5.entry.js → p-67c34b8c.entry.js} +2 -2
- package/dist/native/{p-31e72603.entry.js → p-68edb2e8.entry.js} +2 -2
- package/dist/native/p-73c08f3b.entry.js +2 -0
- package/dist/native/p-73c08f3b.entry.js.map +1 -0
- package/dist/native/p-7703c736.entry.js +2 -0
- package/dist/native/p-7703c736.entry.js.map +1 -0
- package/dist/native/{p-1cce9b24.entry.js → p-916acbd3.entry.js} +2 -2
- package/dist/native/p-a50f3850.entry.js +2 -0
- package/dist/native/{p-2d23fcea.entry.js → p-a73fa60a.entry.js} +2 -2
- package/dist/native/{p-5eca22c7.entry.js → p-b3f9db23.entry.js} +2 -2
- package/dist/native/{p-5eca22c7.entry.js.map → p-b3f9db23.entry.js.map} +1 -1
- package/dist/native/{p-e802fbb8.entry.js → p-bee62b2b.entry.js} +2 -2
- package/dist/native/p-c65a79a9.entry.js +2 -0
- package/dist/native/p-c65a79a9.entry.js.map +1 -0
- package/dist/native/p-dc34da69.entry.js +2 -0
- package/dist/native/p-dc34da69.entry.js.map +1 -0
- package/dist/native/{p-2576c1a0.entry.js → p-f00a4552.entry.js} +2 -2
- package/dist/native/{p-609b3822.entry.js → p-f540db71.entry.js} +2 -2
- package/dist/native/{p-fca3e27d.entry.js → p-f687e05c.entry.js} +2 -2
- package/dist/native/p-f687e05c.entry.js.map +1 -0
- package/dist/native/{p-18831490.entry.js → p-fa81b77f.entry.js} +2 -2
- package/dist/native/p-fa81b77f.entry.js.map +1 -0
- package/dist/native/{p-e19a8885.entry.js → p-fcd52432.entry.js} +2 -2
- package/dist/types/components/nv-accordion/nv-accordion.d.ts +16 -49
- package/dist/types/components/nv-accordion-item/nv-accordion-item.d.ts +2 -2
- package/dist/types/components/nv-calendar/nv-calendar.d.ts +7 -1
- package/dist/types/components/nv-calendar/partials/calendar-grid.d.ts +2 -0
- package/dist/types/components/nv-fieldcheckbox/nv-fieldcheckbox.d.ts +2 -0
- package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +5 -0
- package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +5 -0
- package/dist/types/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.d.ts +6 -0
- package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +4 -0
- package/dist/types/components/nv-fieldslider/nv-fieldslider.d.ts +5 -4
- package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
- package/dist/types/components.d.ts +60 -14
- package/dist/vscode-data.json +18 -10
- package/hydrate/index.js +274 -202
- package/hydrate/index.mjs +274 -202
- package/package.json +1 -1
- package/readme.md +6 -0
- package/dist/components/p-190c8f60.js.map +0 -1
- package/dist/components/p-230ad6c5.js.map +0 -1
- package/dist/components/p-840858ed.js.map +0 -1
- package/dist/components/p-9ed7a440.js.map +0 -1
- package/dist/components/p-f1bbb9e8.js +0 -88
- package/dist/components/p-f1bbb9e8.js.map +0 -1
- package/dist/native/p-0ac03708.entry.js.map +0 -1
- package/dist/native/p-0ada0382.entry.js.map +0 -1
- package/dist/native/p-12963ae4.entry.js +0 -2
- package/dist/native/p-12963ae4.entry.js.map +0 -1
- package/dist/native/p-18831490.entry.js.map +0 -1
- package/dist/native/p-4cf00884.entry.js +0 -2
- package/dist/native/p-4cf00884.entry.js.map +0 -1
- package/dist/native/p-5172f17a.entry.js +0 -2
- package/dist/native/p-a6dc9b59.entry.js +0 -2
- package/dist/native/p-a6dc9b59.entry.js.map +0 -1
- package/dist/native/p-be67545e.entry.js +0 -2
- package/dist/native/p-be67545e.entry.js.map +0 -1
- package/dist/native/p-c2826f22.entry.js +0 -2
- package/dist/native/p-c2826f22.entry.js.map +0 -1
- package/dist/native/p-fca3e27d.entry.js.map +0 -1
- package/dist/native/p-fe4e516b.entry.js +0 -2
- package/dist/native/p-fe4e516b.entry.js.map +0 -1
- /package/dist/native/{p-c9cde996.entry.js.map → p-0e005d95.entry.js.map} +0 -0
- /package/dist/native/{p-33e5037d.entry.js.map → p-10ce53ea.entry.js.map} +0 -0
- /package/dist/native/{p-cf468c67.entry.js.map → p-12039da4.entry.js.map} +0 -0
- /package/dist/native/{p-b829383a.entry.js.map → p-16ef7dd4.entry.js.map} +0 -0
- /package/dist/native/{p-ddb0b9f6.entry.js.map → p-34bf336f.entry.js.map} +0 -0
- /package/dist/native/{p-625be06b.entry.js.map → p-3f139780.entry.js.map} +0 -0
- /package/dist/native/{p-8030c16b.entry.js.map → p-4b15cff3.entry.js.map} +0 -0
- /package/dist/native/{p-f9aa4900.entry.js.map → p-64cb38e6.entry.js.map} +0 -0
- /package/dist/native/{p-bab6d0a5.entry.js.map → p-67c34b8c.entry.js.map} +0 -0
- /package/dist/native/{p-31e72603.entry.js.map → p-68edb2e8.entry.js.map} +0 -0
- /package/dist/native/{p-1cce9b24.entry.js.map → p-916acbd3.entry.js.map} +0 -0
- /package/dist/native/{p-5172f17a.entry.js.map → p-a50f3850.entry.js.map} +0 -0
- /package/dist/native/{p-2d23fcea.entry.js.map → p-a73fa60a.entry.js.map} +0 -0
- /package/dist/native/{p-e802fbb8.entry.js.map → p-bee62b2b.entry.js.map} +0 -0
- /package/dist/native/{p-2576c1a0.entry.js.map → p-f00a4552.entry.js.map} +0 -0
- /package/dist/native/{p-609b3822.entry.js.map → p-f540db71.entry.js.map} +0 -0
- /package/dist/native/{p-e19a8885.entry.js.map → p-fcd52432.entry.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as e,h as s,H as a,g as i}from"./p-d0a33e64.js";import{d as n,e as o}from"./p-cb34aa4f.js";const r="nv-table{display:block}nv-table .hidden{display:none}nv-table table{border-collapse:collapse;border-color:inherit;text-indent:0;width:100%}nv-table th{text-align:left;border-bottom:1px solid var(--components-datagrid-header-border);height:var(--spacing-12);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-md);font-weight:700;color:var(--components-datagrid-header-text)}nv-table td{border-bottom:1px solid var(--components-datagrid-body-border);height:var(--spacing-12);max-height:var(--spacing-14);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-md);font-weight:400;color:var(--components-datagrid-body-text);white-space:nowrap;text-overflow:ellipsis}nv-table tbody>tr:hover{background:var(--color-interaction-container-neutral-background-hover)}";const l=r;const h=class{constructor(s){t(this,s);this.action=e(this,"action",7);this.templateCache=new Map;this.headerTemplateCache=new Map;this.parsedColumns=[];this.parsedData=[];this.table=null;this.data=[];this.columnsConfig=[];this.fallbackValue="N/A";this.noDataMessage="No data available";this.noColumnsNoDataMessage="No data or columns available to display."}cacheTemplates(){const t=Array.from(this.el.querySelectorAll("nv-tablecolumn"));t.forEach((t=>{const e=t.name;const s=t.querySelector('[slot="cell"]');if(s){const t=n(s);this.templateCache.set(e,t)}const a=t.querySelector('[slot="header"]');if(a){const t=n(a);this.headerTemplateCache.set(e,t)}else{const s=t.header;if(s){const t=document.createElement("div");t.textContent=s;this.headerTemplateCache.set(e,t)}}}))}parseDataAndColumns(){if(this.dataJson){this.parseJsonData(this.dataJson)}else if(this.data&&this.data.length>0){this.parseDataArray(this.data,this.parsedData)}if(this.columnsConfigJson){this.parseJsonColumns(this.columnsConfigJson,this.parsedColumns)}else if(this.columnsConfig&&this.columnsConfig.length>0){this.parseColumnsArray(this.columnsConfig,this.parsedColumns)}else if(this.headerTemplateCache.size>0){const t=Array.from(this.headerTemplateCache.keys());const e=t.map((t=>Object.assign({},{name:t,header:t?t.charAt(0).toUpperCase()+t.slice(1):""})));this.parseColumnsArray(e,this.parsedColumns)}else if(this.parsedData.length>0){const t=this.parsedData[0];const e=Object.keys(t).map((t=>({name:t,header:t.charAt(0).toUpperCase()+t.slice(1)})));this.parseColumnsArray(e,this.parsedColumns)}}deepEqual(t,e){return JSON.stringify(t)===JSON.stringify(e)}parseDataArray(t,e){const s=Array.isArray(t)?t:[];const a=Array.isArray(e)?e:[];if(this.deepEqual(s,a)){return}this.parsedData=Array.isArray(t)?t:[]}parseColumnsArray(t,e){const s=Array.isArray(t)?t:[];const a=Array.isArray(e)?e:[];if(this.deepEqual(s,a)){return}this.parsedColumns=s}initializeTable(){this.table=null;if(this.parsedColumns.length>0){this.table={columns:this.parsedColumns,data:this.getTableData()}}else{this.table=null}}getTableData(){if(this.parsedData&&Array.isArray(this.parsedData)&&this.parsedData.length>0){return[...this.parsedData]}else{return[]}}replaceKeyWithValue(t,e){var s;return(s=e.split(".").reduce(((t,e)=>t&&t[e]!==undefined?t[e]:undefined),t))!==null&&s!==void 0?s:this.fallbackValue}renderTemplate(t,e){if(!t){return null}const a=t instanceof HTMLTemplateElement?t.content:t;const i=n(a);i.querySelectorAll("*").forEach((t=>{this.replacePlaceholdersTextContent(t,e);this.replacePlaceholdersAttributes(t,e);this.replacePlaceholdersProperties(t,e)}));i.querySelectorAll("[data-bind-event]").forEach((t=>{const s=t.getAttribute("data-bind-event")||"";const a=s.split(":");if(!s.includes(":")||a.length<2){console.warn("Invalid data-bind-event format:",s);return}const i=a[0];const n=a[1];const o=a.length>2?a[2]:null;t.addEventListener(i,(()=>{var t;const s=(t=o===null||o===void 0?void 0:o.split(","))!==null&&t!==void 0?t:[];const a=s.reduce(((t,s)=>{t[s]=e===null||e===void 0?void 0:e[s];return t}),{});const i={keyAction:n,details:a};this.action.emit(i)}))}));setTimeout((()=>{i.querySelectorAll("*").forEach((t=>{if(typeof t.connectedCallback==="function"){t.connectedCallback()}}))}),0);return s("div",{ref:t=>{if(t){t.innerHTML="";t.appendChild(i)}}})}replacePlaceholdersTextContent(t,e){t.childNodes.forEach((t=>{if(t.nodeType===Node.TEXT_NODE){t.textContent=t.textContent.replace(/__([\w.]+)__/g,((t,s)=>this.replaceKeyWithValue(e,s)))}}))}replacePlaceholdersAttributes(t,e){Array.from(t.attributes).forEach((t=>{if(t.value.includes("__")){t.value=t.value.replace(/__([\w.]+)__/g,((t,s)=>this.replaceKeyWithValue(e,s)))}}))}replacePlaceholdersProperties(t,e){const s=new Set;Object.keys(t).forEach((t=>s.add(t)));let a=Object.getPrototypeOf(t);while(a&&a!==HTMLElement.prototype){Object.keys(a).forEach((t=>s.add(t)));a=Object.getPrototypeOf(a)}s.forEach((s=>{if(typeof t[s]!=="function"&&!s.startsWith("on")&&!o.has(s)){try{const a=t[s];if(typeof a==="string"&&a.includes("__")){t[s]=a.replace(/__([\w.]+)__/g,((t,s)=>this.replaceKeyWithValue(e,s)))}}catch(t){console.warn(`Could not assign property ${s}:`,t.message)}}}))}parseColumns(t,e){this.parseColumnsArray(t,e)}parseJsonColumns(t,e){try{const s=t?JSON.parse(t):[];this.parseColumnsArray(s,e)}catch(t){console.error("Invalid JSON format for columnsConfigJson:",t.message);this.parsedColumns=[]}}parseData(t,e){this.parseDataArray(t,e)}parseJsonData(t){try{const e=t?JSON.parse(t):[];this.parseDataArray(e,this.parsedData)}catch(t){console.error("Invalid JSON format for dataJson:",t.message);this.parsedData=[]}}handleParsedChange(){this.initializeTable()}componentWillLoad(){this.cacheTemplates();this.parseDataAndColumns()}render(){const t=!this.table||this.table===undefined||this.parsedColumns.length===0?[]:this.table.columns;const e=!this.table||this.table===undefined||this.parsedData.length===0?[]:this.table.data;return s(a,{key:"
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as e,h as s,H as a,g as i}from"./p-d0a33e64.js";import{d as n,e as o}from"./p-cb34aa4f.js";const r="nv-table{display:block}nv-table .hidden{display:none}nv-table table{border-collapse:collapse;border-color:inherit;text-indent:0;width:100%}nv-table th{text-align:left;border-bottom:1px solid var(--components-datagrid-header-border);height:var(--spacing-12);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-md);font-weight:700;color:var(--components-datagrid-header-text)}nv-table td{border-bottom:1px solid var(--components-datagrid-body-border);height:var(--spacing-12);max-height:var(--spacing-14);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-md);font-weight:400;color:var(--components-datagrid-body-text);white-space:nowrap;text-overflow:ellipsis}nv-table tbody>tr:hover{background:var(--color-interaction-container-neutral-background-hover)}";const l=r;const h=class{constructor(s){t(this,s);this.action=e(this,"action",7);this.templateCache=new Map;this.headerTemplateCache=new Map;this.parsedColumns=[];this.parsedData=[];this.table=null;this.data=[];this.columnsConfig=[];this.fallbackValue="N/A";this.noDataMessage="No data available";this.noColumnsNoDataMessage="No data or columns available to display."}cacheTemplates(){const t=Array.from(this.el.querySelectorAll("nv-tablecolumn"));t.forEach((t=>{const e=t.name;const s=t.querySelector('[slot="cell"]');if(s){const t=n(s);this.templateCache.set(e,t)}const a=t.querySelector('[slot="header"]');if(a){const t=n(a);this.headerTemplateCache.set(e,t)}else{const s=t.header;if(s){const t=document.createElement("div");t.textContent=s;this.headerTemplateCache.set(e,t)}}}))}parseDataAndColumns(){if(this.dataJson){this.parseJsonData(this.dataJson)}else if(this.data&&this.data.length>0){this.parseDataArray(this.data,this.parsedData)}if(this.columnsConfigJson){this.parseJsonColumns(this.columnsConfigJson,this.parsedColumns)}else if(this.columnsConfig&&this.columnsConfig.length>0){this.parseColumnsArray(this.columnsConfig,this.parsedColumns)}else if(this.headerTemplateCache.size>0){const t=Array.from(this.headerTemplateCache.keys());const e=t.map((t=>Object.assign({},{name:t,header:t?t.charAt(0).toUpperCase()+t.slice(1):""})));this.parseColumnsArray(e,this.parsedColumns)}else if(this.parsedData.length>0){const t=this.parsedData[0];const e=Object.keys(t).map((t=>({name:t,header:t.charAt(0).toUpperCase()+t.slice(1)})));this.parseColumnsArray(e,this.parsedColumns)}}deepEqual(t,e){return JSON.stringify(t)===JSON.stringify(e)}parseDataArray(t,e){const s=Array.isArray(t)?t:[];const a=Array.isArray(e)?e:[];if(this.deepEqual(s,a)){return}this.parsedData=Array.isArray(t)?t:[]}parseColumnsArray(t,e){const s=Array.isArray(t)?t:[];const a=Array.isArray(e)?e:[];if(this.deepEqual(s,a)){return}this.parsedColumns=s}initializeTable(){this.table=null;if(this.parsedColumns.length>0){this.table={columns:this.parsedColumns,data:this.getTableData()}}else{this.table=null}}getTableData(){if(this.parsedData&&Array.isArray(this.parsedData)&&this.parsedData.length>0){return[...this.parsedData]}else{return[]}}replaceKeyWithValue(t,e){var s;return(s=e.split(".").reduce(((t,e)=>t&&t[e]!==undefined?t[e]:undefined),t))!==null&&s!==void 0?s:this.fallbackValue}renderTemplate(t,e){if(!t){return null}const a=t instanceof HTMLTemplateElement?t.content:t;const i=n(a);i.querySelectorAll("*").forEach((t=>{this.replacePlaceholdersTextContent(t,e);this.replacePlaceholdersAttributes(t,e);this.replacePlaceholdersProperties(t,e)}));i.querySelectorAll("[data-bind-event]").forEach((t=>{const s=t.getAttribute("data-bind-event")||"";const a=s.split(":");if(!s.includes(":")||a.length<2){console.warn("Invalid data-bind-event format:",s);return}const i=a[0];const n=a[1];const o=a.length>2?a[2]:null;t.addEventListener(i,(()=>{var t;const s=(t=o===null||o===void 0?void 0:o.split(","))!==null&&t!==void 0?t:[];const a=s.reduce(((t,s)=>{t[s]=e===null||e===void 0?void 0:e[s];return t}),{});const i={keyAction:n,details:a};this.action.emit(i)}))}));setTimeout((()=>{i.querySelectorAll("*").forEach((t=>{if(typeof t.connectedCallback==="function"){t.connectedCallback()}}))}),0);return s("div",{ref:t=>{if(t){t.innerHTML="";t.appendChild(i)}}})}replacePlaceholdersTextContent(t,e){t.childNodes.forEach((t=>{if(t.nodeType===Node.TEXT_NODE){t.textContent=t.textContent.replace(/__([\w.]+)__/g,((t,s)=>this.replaceKeyWithValue(e,s)))}}))}replacePlaceholdersAttributes(t,e){Array.from(t.attributes).forEach((t=>{if(t.value.includes("__")){t.value=t.value.replace(/__([\w.]+)__/g,((t,s)=>this.replaceKeyWithValue(e,s)))}}))}replacePlaceholdersProperties(t,e){const s=new Set;Object.keys(t).forEach((t=>s.add(t)));let a=Object.getPrototypeOf(t);while(a&&a!==HTMLElement.prototype){Object.keys(a).forEach((t=>s.add(t)));a=Object.getPrototypeOf(a)}s.forEach((s=>{if(typeof t[s]!=="function"&&!s.startsWith("on")&&!o.has(s)){try{const a=t[s];if(typeof a==="string"&&a.includes("__")){t[s]=a.replace(/__([\w.]+)__/g,((t,s)=>this.replaceKeyWithValue(e,s)))}}catch(t){console.warn(`Could not assign property ${s}:`,t.message)}}}))}parseColumns(t,e){this.parseColumnsArray(t,e)}parseJsonColumns(t,e){try{const s=t?JSON.parse(t):[];this.parseColumnsArray(s,e)}catch(t){console.error("Invalid JSON format for columnsConfigJson:",t.message);this.parsedColumns=[]}}parseData(t,e){this.parseDataArray(t,e)}parseJsonData(t){try{const e=t?JSON.parse(t):[];this.parseDataArray(e,this.parsedData)}catch(t){console.error("Invalid JSON format for dataJson:",t.message);this.parsedData=[]}}handleParsedChange(){this.initializeTable()}componentWillLoad(){this.cacheTemplates();this.parseDataAndColumns()}render(){const t=!this.table||this.table===undefined||this.parsedColumns.length===0?[]:this.table.columns;const e=!this.table||this.table===undefined||this.parsedData.length===0?[]:this.table.data;return s(a,{key:"a389cee4e6b29cdb852b8b6c0f8fd39926474525"},s("div",{key:"ea7629bc0cba0ec1cbe59f6f03ac2527095d9abb",class:"hidden"},s("slot",{key:"b070a8e7f54fd3846744bb659447b97547d1c7cf"})),s("slot",{key:"b0eb0a2d7c98073e88282b1e2e513b9e6a335345",name:"before"}),this.parsedColumns.length===0&&this.parsedData.length===0?s("div",{class:"no-data"},this.noColumnsNoDataMessage):s("table",{class:"table"},this.parsedColumns.length>0&&t.length>0&&s("thead",{class:"table-header"},s("tr",null,t&&t.map((t=>s("th",{key:t.name},this.renderTemplate(this.headerTemplateCache.get(t.name),{})||t.header))))),s("tbody",{class:"table-body"},!e||e.length===0?s("tr",null,s("td",{colSpan:t.length||12,class:"no-data"},this.noDataMessage)):e.map((e=>s("tr",{key:JSON.stringify(e)},t.map((t=>{var a;return s("td",null,this.renderTemplate(this.templateCache.get(t.name),e)||((a=e[t.name])!==null&&a!==void 0?a:this.fallbackValue))}))))))),s("slot",{key:"599e4c1663c3a80375e3c511358be381b06eec2f",name:"after"}))}get el(){return i(this)}static get watchers(){return{columnsConfig:["parseColumns"],columnsConfigJson:["parseJsonColumns"],data:["parseData"],dataJson:["parseJsonData"],parsedColumns:["handleParsedChange"],parsedData:["handleParsedChange"]}}};h.style=l;export{h as nv_table};
|
|
2
|
+
//# sourceMappingURL=p-10ce53ea.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,c as r,h as t,H as i,g as o}from"./p-d0a33e64.js";import{v as l}from"./p-f5ff676c.js";const s='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldselect{--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-fieldselect[fluid]:not([fluid=false]){max-width:unset}nv-fieldselect[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-fieldselect[display-value]:not([display-value=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-fieldselect[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fieldselect[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-fieldselect[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fieldselect[multiple]:not([multiple=false]) .select-wrapper>.select-container>.select-icons{top:var(--form-field-padding-y);right:var(--form-field-padding-x)}nv-fieldselect[multiple]:not([multiple=false]) .select-wrapper>.select-container>select{height:100%;box-sizing:border-box}nv-fieldselect 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-fieldselect .select-wrapper{display:flex;flex-wrap:wrap;align-items:stretch;align-self:stretch}nv-fieldselect .select-wrapper .select-container{position:relative;display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldselect .select-wrapper .select-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldselect .select-wrapper .select-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-fieldselect .select-wrapper .select-container:has(select:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldselect .select-wrapper .select-container>.select-icons{position:absolute;right:0;top:0;pointer-events:none}nv-fieldselect .select-wrapper .select-container>.select-icons>nv-iconbutton{border:0px;border-radius:0px}nv-fieldselect .select-wrapper .select-container>.select-icons>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fieldselect .select-wrapper .select-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;}nv-fieldselect .select-wrapper .select-container input:focus{outline:none}nv-fieldselect .select-wrapper .select-container input::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-fieldselect .select-wrapper .select-container input[type=password]::-ms-clear,nv-fieldselect .select-wrapper .select-container input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fieldselect .select-wrapper .select-container input:read-only{opacity:0.5;background-color:var(--components-form-field-background-readonly, rgba(0, 0, 0, 0.1));border-color:var(--nv-field-border-readonly)}nv-fieldselect .select-wrapper .select-container select{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;height:var(--form-field-line-height);padding:var(--form-field-padding-y) var(--form-field-padding-x);box-sizing:content-box;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}nv-fieldselect .select-wrapper .select-container select:focus{outline:none}nv-fieldselect .select-wrapper .select-container select::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-fieldselect .select-wrapper .select-container select option{font-size:var(--form-field-font-size, 16px);font-style:normal;font-weight:500;line-height:var(--form-field-line-height, 24px)}nv-fieldselect .select-wrapper .select-container select.hidden{display:none}nv-fieldselect .select-wrapper .select-container nv-icon.readonly-icon{color:var(--nv-field-border-default)}nv-fieldselect .select-wrapper .select-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldselect .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);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-fieldselect .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);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 n=s;const a=class{constructor(t){e(this,t);this.valueChanged=r(this,"valueChanged",7);this.computedDisplayValue="";this.internalReadonly=false;this.parsedOptions=[];this.inputId=l();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.multiple=false;this.value="";this.displayValue=false;this.autofocus=false;this.fluid=false;this.handleSelectChange=e=>{const r=e.target;let t=Array.from(r.selectedOptions).map((e=>e.value));if(!this.multiple){t=t.slice(0,1)}this.value=this.multiple?t.join(", "):t[0]||"";this.valueChanged.emit(this.value);this.setFormValue()};this.handleSelectContainerClick=()=>{if(!this.internalReadonly&&this.selectElement){this.selectElement.focus()}}}updateDisplayValueWatcher(e){this.updateDisplayValue();if(this.selectElement){const r=e.split(",").map((e=>e.trim()));const t=this.selectElement.options;if(t){Array.from(t).forEach((e=>{e.selected=this.multiple?r.includes(e.value):e.value===r[0]}));if(!this.multiple){this.selectElement.value=e}}else{this.selectElement.value=r[0]||""}}this.setFormValue()}handleDisplayValueChange(e){this.internalReadonly=e;if(this.readonly){this.internalReadonly=true}}handleReadonlyChange(e){this.internalReadonly=e;if(this.displayValue){this.internalReadonly=true}}handleOptionsChange(e){if(typeof e==="string"){try{const r=JSON.parse(e);this.parsedOptions=[...r];const t=r.find((e=>e.selected));if(t){this.value=t.value}}catch(e){console.error("Error parsing options:",e);this.parsedOptions=[]}}}updateDisplayValue(){if(this.internalReadonly&&!this.displayValue){if(this.multiple){const e=this.value.split(",").map((e=>e.trim())).map((e=>this.getLabelFromId(e)||"")).filter((e=>e!==""));this.computedDisplayValue=e.join(", ")||""}else{this.computedDisplayValue=this.getLabelFromId(this.value)||""}}else if(this.internalReadonly&&this.displayValue){this.computedDisplayValue=this.value||""}}getLabelFromId(e){this.ensureSelectElement();if(!this.selectElement){return""}const r=this.selectElement.options;if(r){const t=Array.from(r).find((r=>r.value===e));return t?t.textContent.trim()||"":""}else{return""}}setFormValue(){this.internals.setFormValue(this.value)}ensureSelectElement(){if(!this.selectElement){this.selectElement=this.el.querySelector("select")}}componentWillRender(){this.updateDisplayValue();if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}componentWillLoad(){this.internalReadonly=this.readonly;if(this.displayValue){this.internalReadonly=true}if("attachInternals"in this.el){this.internals=this.el.attachInternals()}else{this.internals={setFormValue:e=>{const r=this.el.closest("form");if(r){const t=document.createElement("input");t.type="hidden";t.name=this.name;t.value=e;r.appendChild(t)}}}}if(this.multiple&&typeof this.value!=="string"){this.value=""}if(this.options){this.handleOptionsChange(this.options)}}componentDidLoad(){this.updateDisplayValue();if(this.selectElement){if(!this.multiple){this.selectElement.value=this.value}const e=this.multiple?this.value.split(",").map((e=>e.trim())):[this.value];const r=this.selectElement.options;if(r){Array.from(r).forEach((r=>{r.selected=this.multiple?e.includes(r.value):r.value===e[0]}))}else{this.selectElement.value=e[0]||""}}this.setFormValue()}render(){return t(i,{key:"d7c179e0ad3bdc22afa4a4ad8b84cc0d7403e3f9"},(this.label||this.el.querySelector('[slot="label"]'))&&t("label",{key:"545ba543c78e93bb790fca363325d40052899b53",htmlFor:this.inputId},t("slot",{key:"5141dc2bda9b312682fe7adcf2ad8ae23a720696",name:"label"},this.label)),t("div",{key:"791b9ed3213a44b2222613e54e21ec5f7814625f",class:"select-wrapper"},t("slot",{key:"51590cb6c8152955ffef574caaa5858064652cf8",name:"before-input"}),t("div",{key:"030cfcb568435a8518d2680bee21b6e66c0955eb",class:"select-container",onClick:this.handleSelectContainerClick},t("slot",{key:"9eb92fb0b383a2b08ef8ba61baf8340f6ecb12a6",name:"leading-input"}),this.internalReadonly&&t("input",{key:"fe4debae13d4258fe5e6a6d273e7384ef7071f35",id:this.inputId+"-readonly",type:"text",value:this.computedDisplayValue,readonly:true,class:"readonly-input","aria-readonly":"true","aria-label":this.label,"aria-describedby":this.error?`${this.inputId}-error`:`${this.inputId}-description`}),t("select",{key:"767c5c8f1a0f34aa645d49e7b09b0cfb230d5e3c",id:this.inputId,ref:e=>this.selectElement=e,name:this.name,autofocus:this.autofocus,disabled:this.disabled,required:this.required,multiple:this.multiple,onChange:this.handleSelectChange,class:this.internalReadonly?"hidden":"","aria-label":this.label,"aria-describedby":this.error?`${this.inputId}-error`:`${this.inputId}-description`},this.parsedOptions.length>0?this.parsedOptions.map((e=>t("option",{value:e.value,selected:e.selected,disabled:e.disabled},e.label))):t("slot",null)),t("div",{key:"911644aa7ded450918f6424ebd8ce9dc4b6ed1d6",class:"select-icons"},this.error&&t("nv-icon",{key:"d5ae32439983916d17346fdce50d51e73d429c23",name:"alert-circle",class:"validation",size:"md"}),this.success&&t("nv-icon",{key:"783f0d7f1d4a0bbcbd8cff9416e5c3f61408061a",name:"circle-check",class:"validation",size:"md"}),!this.multiple&&t("nv-iconbutton",{key:"252cd65b1e9437aa89161c6342f4f107ad330136",name:"chevron-down",size:"md",emphasis:"lower",tabindex:-1}))),t("slot",{key:"8e1088c34086ee58b240acb99c25fa113517e76c",name:"after-input"})),(this.description||this.el.querySelector('[slot="description"]'))&&t("div",{key:"7c521ab944ec72bec68c32c33400eb3c3a7c32bc",class:"description",id:`${this.inputId}-description`},t("slot",{key:"dab0be52dc34f499575775f9131c51c4cd7fd290",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&t("div",{key:"00d9ce6b2a5fb946575e54cc3bf2fd83acc83290",class:"error-description",id:`${this.inputId}-error`},t("slot",{key:"0e1027874f6e2b275ca354e2d64c0289ca961a0c",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{value:["updateDisplayValueWatcher"],displayValue:["handleDisplayValueChange"],readonly:["handleReadonlyChange"],options:["handleOptionsChange"]}}};a.style=n;export{a as nv_fieldselect};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,c as r,h as t,H as i,g as o}from"./p-d0a33e64.js";import{v as l}from"./p-f5ff676c.js";const s='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldselect{--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-fieldselect[fluid]:not([fluid=false]){max-width:unset}nv-fieldselect[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-fieldselect[display-value]:not([display-value=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-fieldselect[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fieldselect[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-fieldselect[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fieldselect[multiple]:not([multiple=false]) .select-wrapper>.select-container>.select-icons{top:var(--form-field-padding-y);right:var(--form-field-padding-x)}nv-fieldselect[multiple]:not([multiple=false]) .select-wrapper>.select-container>select{height:100%;box-sizing:border-box}nv-fieldselect 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-fieldselect .select-wrapper{display:flex;flex-wrap:wrap;align-items:stretch;align-self:stretch}nv-fieldselect .select-wrapper .select-container{position:relative;display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldselect .select-wrapper .select-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldselect .select-wrapper .select-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-fieldselect .select-wrapper .select-container:has(select:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldselect .select-wrapper .select-container>.select-icons{position:absolute;right:0;top:0;pointer-events:none}nv-fieldselect .select-wrapper .select-container>.select-icons>nv-iconbutton{border:0px;border-radius:0px}nv-fieldselect .select-wrapper .select-container>.select-icons>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fieldselect .select-wrapper .select-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;}nv-fieldselect .select-wrapper .select-container input:focus{outline:none}nv-fieldselect .select-wrapper .select-container input::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-fieldselect .select-wrapper .select-container input[type=password]::-ms-clear,nv-fieldselect .select-wrapper .select-container input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fieldselect .select-wrapper .select-container input:read-only{opacity:0.5;background-color:var(--components-form-field-background-readonly, rgba(0, 0, 0, 0.1));border-color:var(--nv-field-border-readonly)}nv-fieldselect .select-wrapper .select-container select{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;height:var(--form-field-line-height);padding:var(--form-field-padding-y) var(--form-field-padding-x);box-sizing:content-box;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}nv-fieldselect .select-wrapper .select-container select:focus{outline:none}nv-fieldselect .select-wrapper .select-container select::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-fieldselect .select-wrapper .select-container select option{font-size:var(--form-field-font-size, 16px);font-style:normal;font-weight:500;line-height:var(--form-field-line-height, 24px)}nv-fieldselect .select-wrapper .select-container select.hidden{display:none}nv-fieldselect .select-wrapper .select-container nv-icon.readonly-icon{color:var(--nv-field-border-default)}nv-fieldselect .select-wrapper .select-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldselect .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);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-fieldselect .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);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 n=s;const a=class{constructor(t){e(this,t);this.valueChanged=r(this,"valueChanged",7);this.computedDisplayValue="";this.internalReadonly=false;this.parsedOptions=[];this.inputId=l();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.multiple=false;this.value="";this.displayValue=false;this.autofocus=false;this.fluid=false;this.handleSelectChange=e=>{const r=e.target;let t=Array.from(r.selectedOptions).map((e=>e.value));if(!this.multiple){t=t.slice(0,1)}this.value=this.multiple?t.join(", "):t[0]||"";this.valueChanged.emit(this.value);this.setFormValue()};this.handleSelectContainerClick=()=>{if(!this.internalReadonly&&this.selectElement){this.selectElement.focus()}}}updateDisplayValueWatcher(e){this.updateDisplayValue();if(this.selectElement){const r=e.split(",").map((e=>e.trim()));const t=this.selectElement.options;if(t){Array.from(t).forEach((e=>{e.selected=this.multiple?r.includes(e.value):e.value===r[0]}));if(!this.multiple){this.selectElement.value=e}}else{this.selectElement.value=r[0]||""}}this.setFormValue()}handleDisplayValueChange(e){this.internalReadonly=e;if(this.readonly){this.internalReadonly=true}}handleReadonlyChange(e){this.internalReadonly=e;if(this.displayValue){this.internalReadonly=true}}handleOptionsChange(e){if(typeof e==="string"){try{const r=JSON.parse(e);this.parsedOptions=[...r];const t=r.find((e=>e.selected));if(t){this.value=t.value}}catch(e){console.error("Error parsing options:",e);this.parsedOptions=[]}}}updateDisplayValue(){if(this.internalReadonly&&!this.displayValue){if(this.multiple){const e=this.value.split(",").map((e=>e.trim())).map((e=>this.getLabelFromId(e)||"")).filter((e=>e!==""));this.computedDisplayValue=e.join(", ")||""}else{this.computedDisplayValue=this.getLabelFromId(this.value)||""}}else if(this.internalReadonly&&this.displayValue){this.computedDisplayValue=this.value||""}}getLabelFromId(e){this.ensureSelectElement();if(!this.selectElement){return""}const r=this.selectElement.options;if(r){const t=Array.from(r).find((r=>r.value===e));return t?t.textContent.trim()||"":""}else{return""}}setFormValue(){this.internals.setFormValue(this.value)}ensureSelectElement(){if(!this.selectElement){this.selectElement=this.el.querySelector("select")}}componentWillRender(){this.updateDisplayValue();if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}componentWillLoad(){this.internalReadonly=this.readonly;if(this.displayValue){this.internalReadonly=true}if("attachInternals"in this.el){this.internals=this.el.attachInternals()}else{this.internals={setFormValue:e=>{const r=this.el.closest("form");if(r){const t=document.createElement("input");t.type="hidden";t.name=this.name;t.value=e;r.appendChild(t)}}}}if(this.multiple&&typeof this.value!=="string"){this.value=""}if(this.options){this.handleOptionsChange(this.options)}}componentDidLoad(){this.updateDisplayValue();if(this.selectElement){if(!this.multiple){this.selectElement.value=this.value}const e=this.multiple?this.value.split(",").map((e=>e.trim())):[this.value];const r=this.selectElement.options;if(r){Array.from(r).forEach((r=>{r.selected=this.multiple?e.includes(r.value):r.value===e[0]}))}else{this.selectElement.value=e[0]||""}}this.setFormValue()}render(){return t(i,{key:"ff869c177289342a39ae292a530359af940a5669"},(this.label||this.el.querySelector('[slot="label"]'))&&t("label",{key:"10815f70059de9b1774ccc26b69d441d250e1833",htmlFor:this.inputId},t("slot",{key:"afe78cd3671151060fd1e2a37b77c164767908fa",name:"label"},this.label)),t("div",{key:"064d8f512bc5f11831096d3a092afb00dcfeb1bc",class:"select-wrapper"},t("slot",{key:"c12d375bc5a558d25f1eb34343e2ad5fce784558",name:"before-input"}),t("div",{key:"ffb39cfc0444edc49a4e2b6318990085009d7598",class:"select-container",onClick:this.handleSelectContainerClick},t("slot",{key:"d5fccac0e92fe0553b8478a6f5dc9be4591e8c23",name:"leading-input"}),this.internalReadonly&&t("input",{key:"94dc05d08de8120c78fa140df5eb3adc09ce97da",id:this.inputId+"-readonly",type:"text",value:this.computedDisplayValue,readonly:true,class:"readonly-input","aria-readonly":"true","aria-label":this.label,"aria-describedby":this.error?`${this.inputId}-error`:`${this.inputId}-description`}),t("select",{key:"85ffba58429aaa393cc9178e0866a61f85d92103",id:this.inputId,ref:e=>this.selectElement=e,name:this.name,autofocus:this.autofocus,disabled:this.disabled,required:this.required,multiple:this.multiple,onChange:this.handleSelectChange,class:this.internalReadonly?"hidden":"","aria-label":this.label,"aria-describedby":this.error?`${this.inputId}-error`:`${this.inputId}-description`},this.parsedOptions.length>0?this.parsedOptions.map((e=>t("option",{value:e.value,selected:e.selected,disabled:e.disabled},e.label))):t("slot",null)),t("div",{key:"694b0306ddaf671faea9dd863bb7f2917b567ffb",class:"select-icons"},this.error&&t("nv-icon",{key:"4f86b0916dcbfefb24af5e5e2c0ca009ece6193b",name:"alert-circle",class:"validation",size:"md"}),this.success&&t("nv-icon",{key:"f99ba37d4a70b7c352b4abb0be0b5eb85b4cc947",name:"circle-check",class:"validation",size:"md"}),!this.multiple&&t("nv-iconbutton",{key:"b152a3b110b0f780b29adcf1efb4aadf98cf81be",name:"chevron-down",size:"md",emphasis:"lower",tabindex:-1}))),t("slot",{key:"63c6076165bae5d36732179c4a761d5b381076b5",name:"after-input"})),(this.description||this.el.querySelector('[slot="description"]'))&&t("div",{key:"dd3e41b62290c580e050eb5a4742aabc7395cbda",class:"description",id:`${this.inputId}-description`},t("slot",{key:"87bedab511a8b3d07d6616e4937342b6d272c5f3",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&t("div",{key:"d4cf69f5f2446fbbf8ed36910d89c3aa7ac2c826",class:"error-description",id:`${this.inputId}-error`},t("slot",{key:"2fc8b58658bd406af834dcad378b3b00aca40b22",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{value:["updateDisplayValueWatcher"],displayValue:["handleDisplayValueChange"],readonly:["handleReadonlyChange"],options:["handleOptionsChange"]}}};a.style=n;export{a as nv_fieldselect};
|
|
2
|
+
//# sourceMappingURL=p-12039da4.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,c as n,h as r,H as i,g as o}from"./p-d0a33e64.js";import{v as t}from"./p-f5ff676c.js";const a='/* TODO: integrate this logic in the proper structure */\nnv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range {\n background: var(--components-slider-track-filled-hover);\n}\nnv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb {\n border-color: var(--components-slider-track-filled-hover);\n}\nnv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range {\n background: var(--components-slider-track-filled-focus);\n}\nnv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb {\n border-color: var(--components-slider-track-filled-focus);\n}\nnv-fieldslider[error] .slider-container .track-container .track .track-range {\n background: var(--components-slider-track-filled-error);\n}\nnv-fieldslider[error] .slider-container .track-container .track .thumb {\n border-color: var(--components-slider-track-filled-error);\n}\nnv-fieldslider[error] .slider-container .track-container .track .thumb:hover {\n border-color: var(--components-slider-track-filled-error);\n outline: calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);\n outline-offset: calc(var(--focus-outline-offset) * 1);\n background-color: var(--components-slider-handler-background-error);\n}\nnv-fieldslider[error] .slider-container .track-container .track .thumb:focus {\n border-color: var(--components-slider-track-filled-error);\n outline: calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);\n outline-offset: calc(var(--focus-outline-offset) * 1);\n background-color: var(--components-slider-track-filled-error);\n}\nnv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range {\n background: var(--components-slider-track-filled-error);\n}\nnv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb {\n border-color: var(--components-slider-track-filled-error);\n}\n\nnv-fieldnumber {\n --nv-field-border-default: var(--components-form-field-border-default);\n --nv-field-border-hover: var(--components-form-field-border-hover);\n --nv-field-border-focus: var(--components-form-field-border-focus);\n --nv-field-border-disabled: var(--components-form-field-border-default);\n --nv-field-border-readonly: var(--components-form-field-border-default);\n --nv-field-focus-box-shadow: var(--color-focus-brand);\n --nv-field-background: var(--components-form-field-background-default);\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--form-gap-y);\n box-sizing: border-box;\n max-width: 480px;\n}\nnv-fieldnumber[fluid]:not([fluid=false]) {\n max-width: unset;\n}\nnv-fieldnumber[readonly]:not([readonly=false]) {\n --nv-field-border-default: var(--components-form-field-border-readonly);\n --nv-field-border-hover: var(--nv-field-border-default);\n --nv-field-border-focus: var(--components-form-field-border-focus);\n --nv-field-border-disabled: var(--nv-field-border-default);\n --nv-field-border-readonly: var(--nv-field-border-default);\n --nv-field-background: var(--components-form-field-background-readonly);\n}\nnv-fieldnumber[error]:not([error=false]) {\n --nv-field-border-default: var(--components-form-field-border-error);\n --nv-field-border-hover: var(--nv-field-border-default);\n --nv-field-border-focus: var(--nv-field-border-default);\n --nv-field-border-disabled: var(--nv-field-border-default);\n --nv-field-border-readonly: var(--nv-field-border-default);\n --nv-field-focus-box-shadow: var(--color-focus-destructive-in-field);\n}\nnv-fieldnumber[success]:not([success=false]) {\n --nv-field-border-default: var(--components-form-field-border-success);\n --nv-field-border-hover: var(--nv-field-border-default);\n --nv-field-border-focus: var(--nv-field-border-default);\n --nv-field-border-disabled: var(--nv-field-border-default);\n --nv-field-border-readonly: var(--nv-field-border-default);\n --nv-field-focus-box-shadow: var(--color-focus-success);\n}\nnv-fieldnumber[required]:not([required=false]) label::after {\n content: "*";\n color: var(--components-form-text-required);\n font-weight: 700;\n}\nnv-fieldnumber label {\n display: flex;\n align-items: center;\n gap: var(--form-label-gap);\n align-self: stretch;\n color: var(--components-form-text-label-default);\n font-family: "TT Norms Pro", sans-serif;\n font-size: var(--form-label-font-size);\n font-style: normal;\n font-weight: 500;\n line-height: var(--form-label-line-height);\n}\nnv-fieldnumber .input-wrapper {\n display: flex;\n flex-wrap: wrap;\n gap: var(--form-gap-x);\n align-items: stretch;\n align-self: stretch;\n}\nnv-fieldnumber .input-wrapper .input-container {\n display: flex;\n flex-grow: 1;\n justify-content: center;\n align-items: center;\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, 1);\n background: var(--nv-field-background);\n transition: all 150ms ease-out;\n container-type: inline-size;\n container-name: field-number-input-container;\n overflow: hidden;\n position: relative;\n}\nnv-fieldnumber .input-wrapper .input-container:hover {\n border-color: var(--nv-field-border-hover);\n}\nnv-fieldnumber .input-wrapper .input-container:focus-within, nv-fieldnumber .input-wrapper .input-container:focus-within:hover, nv-fieldnumber .input-wrapper .input-container:focus, nv-fieldnumber .input-wrapper .input-container:focus:hover {\n border-color: var(--nv-field-border-focus);\n box-shadow: 0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow);\n}\nnv-fieldnumber .input-wrapper .input-container:has(input:read-only) {\n opacity: 0.5;\n background-color: var(--components-form-field-background-readonly);\n border-color: var(--nv-field-border-readonly);\n}\nnv-fieldnumber .input-wrapper .input-container:has(input:disabled) {\n opacity: 0.5;\n background-color: var(--components-form-field-background-disabled);\n border-color: var(--nv-field-border-disabled);\n}\nnv-fieldnumber .input-wrapper .input-container input {\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 padding: var(--form-field-padding-y) var(--form-field-padding-x);\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 width: 100%;\n /* Hide Edge built-in password reveal and clear icons */\n width: 100%;\n appearance: textfield;\n}\nnv-fieldnumber .input-wrapper .input-container input:focus {\n outline: none;\n}\nnv-fieldnumber .input-wrapper .input-container input::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}\nnv-fieldnumber .input-wrapper .input-container input[type=password]::-ms-clear, nv-fieldnumber .input-wrapper .input-container input[type=password]::-ms-reveal {\n display: none;\n width: 0;\n height: 0;\n}\nnv-fieldnumber .input-wrapper .input-container input::-webkit-inner-spin-button, nv-fieldnumber .input-wrapper .input-container input::-webkit-outer-spin-button {\n appearance: none;\n margin: 0;\n}\nnv-fieldnumber .input-wrapper .input-container nv-icon.validation {\n color: var(--nv-field-border-default);\n margin-right: var(--form-field-gap);\n}\nnv-fieldnumber .input-wrapper .input-container > nv-iconbutton {\n border: 0px;\n border-radius: 0px;\n}\nnv-fieldnumber .input-wrapper .input-container > nv-iconbutton:focus-visible {\n border-radius: var(--button-md-border-radius);\n outline-offset: -3px;\n}\nnv-fieldnumber .input-wrapper .input-container .stepper {\n display: flex;\n border-left: var(--notification-border-width-low-emphasis) solid var(--components-form-field-border-readonly);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper > nv-iconbutton {\n border: 0px;\n border-radius: 0px;\n border-radius: 0px;\n}\nnv-fieldnumber .input-wrapper .input-container .stepper > nv-iconbutton:focus-visible {\n border-radius: var(--button-md-border-radius);\n outline-offset: -3px;\n}\n@container field-number-input-container (width < 150px) {\n nv-fieldnumber .input-wrapper .input-container .stepper-spacer {\n display: none;\n }\n nv-fieldnumber .input-wrapper .input-container .stepper {\n display: none;\n }\n}\nnv-fieldnumber .description {\n display: flex;\n align-items: center;\n align-self: stretch;\n gap: var(--spacing-1);\n color: var(--components-form-text-description-default);\n font-family: "TT Norms Pro", sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n line-height: var(--form-description-line-height);\n}\nnv-fieldnumber .error-description {\n display: flex;\n align-items: center;\n align-self: stretch;\n gap: var(--spacing-1);\n color: var(--components-form-text-description-default);\n font-family: "TT Norms Pro", sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n line-height: var(--form-description-line-height);\n color: var(--components-form-text-description-error);\n}';const d=a;const l=class{constructor(r){e(this,r);this.valueChanged=n(this,"valueChanged",7);this.inputId=t();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.step=1;this.autofocus=false;this.fluid=false;this.handleInput=e=>{const n=e.target;this.value=Number(n.value)};this.handleInputContainerClick=()=>{this.inputElement.focus()};this.handlePlus=()=>{this.inputElement.stepUp();this.value=Number(this.inputElement.value)};this.handleMinus=()=>{this.inputElement.stepDown();this.value=Number(this.inputElement.value)};this.preventSelection=e=>{e.preventDefault()};this.isMinValueReached=()=>this.min!==undefined&&this.value<=this.min;this.isMaxValueReached=()=>this.max!==undefined&&this.value>=this.max}watchValueHandler(e){this.valueChanged.emit(e)}componentWillRender(){if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}render(){return r(i,{key:"908571e657b876e4bf13d2cd88c74ed56375a4a9"},(this.label||this.el.querySelector('[slot="label"]'))&&r("label",{key:"d46ff199fa0211227293ebab6159ee98916e4845",htmlFor:this.inputId},r("slot",{key:"0e825e862bfadb313b723898d0732efb36f001c0",name:"label"},this.label)),r("div",{key:"e001c956494a7b3c90cb713540b9300f6482cbb7",class:"input-wrapper"},r("slot",{key:"07f53c5fafcd308609b4ecfb721b9b0f791d5bf5",name:"before-input"}),r("div",{key:"266fe99cc757c5646aa4bcbf262d7f6eb21fa507",class:"input-container",onClick:this.handleInputContainerClick},r("slot",{key:"f80e50ffa553656b26c80be179fd5bda8fd7234e",name:"leading-input"}),r("input",{key:"3fb53e266a44118a464f5fffef5019d900f25668",id:this.inputId,ref:e=>this.inputElement=e,placeholder:this.placeholder,name:this.name,type:"number",autofocus:this.autofocus,required:this.required,max:this.max,min:this.min,step:this.step,value:this.value,disabled:this.disabled,readOnly:this.readonly,onInput:this.handleInput}),r("slot",{key:"9769d9b13676f8022eb7771869876125e7d13ea2",name:"trailing-input"}),this.error&&r("nv-icon",{key:"feedeb1dfcf9a5b8c3e6f4e355af64db5e108125",name:"alert-circle",class:"validation",size:"md"}),this.success&&r("nv-icon",{key:"6f3819ea3bad57b373e24e5b167887c2175534ce",name:"circle-check",class:"validation",size:"md"}),r("div",{key:"ab83ad88264a5295f8239b308af7b61c04095b8c",class:"stepper"},r("nv-iconbutton",{key:"67bf2dc34cab126f8ebb8ad1368d326ce4e448c9",size:"md",name:"minus",emphasis:"lower",onClick:this.handleMinus,disabled:this.isMinValueReached(),onMouseDown:this.preventSelection,tabindex:"-1"}),r("nv-iconbutton",{key:"2ae711f4ff770049fb9b9afa4075b02a5d41d881",size:"md",name:"plus",emphasis:"lower",onClick:this.handlePlus,disabled:this.isMaxValueReached(),onMouseDown:this.preventSelection,tabindex:"-1"}))),r("slot",{key:"f59664d1200b6e1e300cac52ceaee03b1be68cea",name:"after-input"})),(this.description||this.el.querySelector('[slot="description"]'))&&r("div",{key:"10cefd1d1e86d33456b6800d5d1f3f5c7a10a16c",class:"description"},r("slot",{key:"a8544e2917993f7fa45200e51e983277c6f0b393",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&r("div",{key:"95ffb42b6014514a51102b0bfa60887ff3394362",hidden:!this.error,class:"error-description"},r("slot",{key:"47d19a9cf2de2cdd2f23a5cf7a74943f9de8cb7e",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{value:["watchValueHandler"]}}};l.style=d;export{l as nv_fieldnumber};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as n,c as e,h as r,H as i,g as o}from"./p-d0a33e64.js";import{v as t}from"./p-f5ff676c.js";const a='/* TODO: integrate this logic in the proper structure */\nnv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range {\n background: var(--components-slider-track-filled-hover);\n}\nnv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb {\n border-color: var(--components-slider-track-filled-hover);\n}\nnv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range {\n background: var(--components-slider-track-filled-focus);\n}\nnv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb {\n border-color: var(--components-slider-track-filled-focus);\n}\nnv-fieldslider[error] .slider-container .track-container .track .track-range {\n background: var(--components-slider-track-filled-error);\n}\nnv-fieldslider[error] .slider-container .track-container .track .thumb {\n border-color: var(--components-slider-track-filled-error);\n}\nnv-fieldslider[error] .slider-container .track-container .track .thumb:hover {\n border-color: var(--components-slider-track-filled-error);\n outline: calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);\n outline-offset: calc(var(--focus-outline-offset) * 1);\n background-color: var(--components-slider-handler-background-error);\n}\nnv-fieldslider[error] .slider-container .track-container .track .thumb:focus {\n border-color: var(--components-slider-track-filled-error);\n outline: calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);\n outline-offset: calc(var(--focus-outline-offset) * 1);\n background-color: var(--components-slider-track-filled-error);\n}\nnv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range {\n background: var(--components-slider-track-filled-error);\n}\nnv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb {\n border-color: var(--components-slider-track-filled-error);\n}\n\nnv-fieldnumber {\n --nv-field-border-default: var(--components-form-field-border-default);\n --nv-field-border-hover: var(--components-form-field-border-hover);\n --nv-field-border-focus: var(--components-form-field-border-focus);\n --nv-field-border-disabled: var(--components-form-field-border-default);\n --nv-field-border-readonly: var(--components-form-field-border-default);\n --nv-field-focus-box-shadow: var(--color-focus-brand);\n --nv-field-background: var(--components-form-field-background-default);\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--form-gap-y);\n box-sizing: border-box;\n max-width: 480px;\n}\nnv-fieldnumber[fluid]:not([fluid=false]) {\n max-width: unset;\n}\nnv-fieldnumber[readonly]:not([readonly=false]) {\n --nv-field-border-default: var(--components-form-field-border-readonly);\n --nv-field-border-hover: var(--nv-field-border-default);\n --nv-field-border-focus: var(--components-form-field-border-focus);\n --nv-field-border-disabled: var(--nv-field-border-default);\n --nv-field-border-readonly: var(--nv-field-border-default);\n --nv-field-background: var(--components-form-field-background-readonly);\n}\nnv-fieldnumber[error]:not([error=false]) {\n --nv-field-border-default: var(--components-form-field-border-error);\n --nv-field-border-hover: var(--nv-field-border-default);\n --nv-field-border-focus: var(--nv-field-border-default);\n --nv-field-border-disabled: var(--nv-field-border-default);\n --nv-field-border-readonly: var(--nv-field-border-default);\n --nv-field-focus-box-shadow: var(--color-focus-destructive-in-field);\n}\nnv-fieldnumber[success]:not([success=false]) {\n --nv-field-border-default: var(--components-form-field-border-success);\n --nv-field-border-hover: var(--nv-field-border-default);\n --nv-field-border-focus: var(--nv-field-border-default);\n --nv-field-border-disabled: var(--nv-field-border-default);\n --nv-field-border-readonly: var(--nv-field-border-default);\n --nv-field-focus-box-shadow: var(--color-focus-success);\n}\nnv-fieldnumber[required]:not([required=false]) label::after {\n content: "*";\n color: var(--components-form-text-required);\n font-weight: 700;\n}\nnv-fieldnumber label {\n display: flex;\n align-items: center;\n gap: var(--form-label-gap);\n align-self: stretch;\n color: var(--components-form-text-label-default);\n font-family: "TT Norms Pro", sans-serif;\n font-size: var(--form-label-font-size);\n font-style: normal;\n font-weight: 500;\n line-height: var(--form-label-line-height);\n}\nnv-fieldnumber .input-wrapper {\n display: flex;\n flex-wrap: wrap;\n gap: var(--form-gap-x);\n align-items: stretch;\n align-self: stretch;\n}\nnv-fieldnumber .input-wrapper .input-container {\n display: flex;\n flex-grow: 1;\n justify-content: center;\n align-items: center;\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, 1);\n background: var(--nv-field-background);\n transition: all 150ms ease-out;\n container-type: inline-size;\n container-name: field-number-input-container;\n overflow: hidden;\n position: relative;\n}\nnv-fieldnumber .input-wrapper .input-container:hover {\n border-color: var(--nv-field-border-hover);\n}\nnv-fieldnumber .input-wrapper .input-container:focus-within, nv-fieldnumber .input-wrapper .input-container:focus-within:hover, nv-fieldnumber .input-wrapper .input-container:focus, nv-fieldnumber .input-wrapper .input-container:focus:hover {\n border-color: var(--nv-field-border-focus);\n box-shadow: 0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow);\n}\nnv-fieldnumber .input-wrapper .input-container:has(input:read-only) {\n opacity: 0.5;\n background-color: var(--components-form-field-background-readonly);\n border-color: var(--nv-field-border-readonly);\n}\nnv-fieldnumber .input-wrapper .input-container:has(input:disabled) {\n opacity: 0.5;\n background-color: var(--components-form-field-background-disabled);\n border-color: var(--nv-field-border-disabled);\n}\nnv-fieldnumber .input-wrapper .input-container input {\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 padding: var(--form-field-padding-y) var(--form-field-padding-x);\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 width: 100%;\n /* Hide Edge built-in password reveal and clear icons */\n width: 100%;\n appearance: textfield;\n}\nnv-fieldnumber .input-wrapper .input-container input:focus {\n outline: none;\n}\nnv-fieldnumber .input-wrapper .input-container input::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}\nnv-fieldnumber .input-wrapper .input-container input[type=password]::-ms-clear, nv-fieldnumber .input-wrapper .input-container input[type=password]::-ms-reveal {\n display: none;\n width: 0;\n height: 0;\n}\nnv-fieldnumber .input-wrapper .input-container input::-webkit-inner-spin-button, nv-fieldnumber .input-wrapper .input-container input::-webkit-outer-spin-button {\n appearance: none;\n margin: 0;\n}\nnv-fieldnumber .input-wrapper .input-container nv-icon.validation {\n color: var(--nv-field-border-default);\n margin-right: var(--form-field-gap);\n}\nnv-fieldnumber .input-wrapper .input-container > nv-iconbutton {\n border: 0px;\n border-radius: 0px;\n}\nnv-fieldnumber .input-wrapper .input-container > nv-iconbutton:focus-visible {\n border-radius: var(--button-md-border-radius);\n outline-offset: -3px;\n}\nnv-fieldnumber .input-wrapper .input-container .stepper {\n display: flex;\n border-left: var(--notification-border-width-low-emphasis) solid var(--components-form-field-border-readonly);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper > nv-iconbutton {\n border: 0px;\n border-radius: 0px;\n border-radius: 0px;\n}\nnv-fieldnumber .input-wrapper .input-container .stepper > nv-iconbutton:focus-visible {\n border-radius: var(--button-md-border-radius);\n outline-offset: -3px;\n}\n@container field-number-input-container (width < 150px) {\n nv-fieldnumber .input-wrapper .input-container .stepper-spacer {\n display: none;\n }\n nv-fieldnumber .input-wrapper .input-container .stepper {\n display: none;\n }\n}\nnv-fieldnumber .description {\n display: flex;\n align-items: center;\n align-self: stretch;\n gap: var(--spacing-1);\n color: var(--components-form-text-description-default);\n font-family: "TT Norms Pro", sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n line-height: var(--form-description-line-height);\n}\nnv-fieldnumber .error-description {\n display: flex;\n align-items: center;\n align-self: stretch;\n gap: var(--spacing-1);\n color: var(--components-form-text-description-default);\n font-family: "TT Norms Pro", sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n line-height: var(--form-description-line-height);\n color: var(--components-form-text-description-error);\n}';const d=a;const l=class{constructor(r){n(this,r);this.valueChanged=e(this,"valueChanged",7);this.inputId=t();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.step=1;this.autofocus=false;this.fluid=false;this.handleInput=n=>{const e=n.target;this.value=Number(e.value)};this.handleInputContainerClick=()=>{this.inputElement.focus()};this.handlePlus=()=>{this.inputElement.stepUp();this.value=Number(this.inputElement.value)};this.handleMinus=()=>{this.inputElement.stepDown();this.value=Number(this.inputElement.value)};this.preventSelection=n=>{n.preventDefault()};this.isMinValueReached=()=>this.min!==undefined&&this.value<=this.min;this.isMaxValueReached=()=>this.max!==undefined&&this.value>=this.max}watchValueHandler(n){this.valueChanged.emit(n)}componentWillRender(){if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}render(){return r(i,{key:"0fcd74073e1c3f2c8de00c21e1ff782d4ed2fbe8"},(this.label||this.el.querySelector('[slot="label"]'))&&r("label",{key:"c4dc1dc4efd2150fb897f0602b07ab22643756e6",htmlFor:this.inputId},r("slot",{key:"a0aa360dd532e11fd0273c8ba8d5ded3adc45642",name:"label"},this.label)),r("div",{key:"c2ffeb70a8e5ffe43ec5061e035add48fd0f09a2",class:"input-wrapper"},r("slot",{key:"62ef15b0961ae4af93940d3d2dd10fdb6a636d4d",name:"before-input"}),r("div",{key:"07be430ad207b6023ee969b7ad290d4946f4b6fe",class:"input-container",onClick:this.handleInputContainerClick},r("slot",{key:"69978ac5971a25cc8c0515250d741ac8a658c3bd",name:"leading-input"}),r("input",{key:"284f8da710438e470a26541b7cf72f89730ef3ab",id:this.inputId,ref:n=>this.inputElement=n,placeholder:this.placeholder,name:this.name,type:"number",autofocus:this.autofocus,required:this.required,max:this.max,min:this.min,step:this.step,value:this.value,disabled:this.disabled,readOnly:this.readonly,onInput:this.handleInput}),r("slot",{key:"d028cd632cff77f592429e97a81a1d45aeec621d",name:"trailing-input"}),this.error&&r("nv-icon",{key:"7de629b71971559c647ba4ad4885815124bb63b3",name:"alert-circle",class:"validation",size:"md"}),this.success&&r("nv-icon",{key:"135e609c2e568174db3503633f389c70a2fceaba",name:"circle-check",class:"validation",size:"md"}),r("div",{key:"17a952157f55ff65911d852a4274de5db4241508",class:"stepper"},r("nv-iconbutton",{key:"33d0412ea6ed883d92b64363b404628d610e2339",size:"md",name:"minus",emphasis:"lower",onClick:this.handleMinus,disabled:this.isMinValueReached(),onMouseDown:this.preventSelection,tabindex:"-1"}),r("nv-iconbutton",{key:"68bf536a5fe5bb0b3c2c3bd5508324c050cb8764",size:"md",name:"plus",emphasis:"lower",onClick:this.handlePlus,disabled:this.isMaxValueReached(),onMouseDown:this.preventSelection,tabindex:"-1"}))),r("slot",{key:"3922a559b4ca954bee9caea379c940e7b132f65f",name:"after-input"})),(this.description||this.el.querySelector('[slot="description"]'))&&r("div",{key:"8844bf48e0251717549d4e0079370fe2f590c616",class:"description"},r("slot",{key:"f35c77ffa2f01a66d72ef75a65c5c634b14bbdbc",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&r("div",{key:"ce407c77dd30a235c7691727480c911ad6128392",hidden:!this.error,class:"error-description"},r("slot",{key:"7ffb85e03e5a9a949f022398537c74a812b8a12f",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{value:["watchValueHandler"]}}};l.style=d;export{l as nv_fieldnumber};
|
|
2
|
+
//# sourceMappingURL=p-16ef7dd4.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,c as i,h as t,H as
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,c as i,h as t,H as n,g as o}from"./p-d0a33e64.js";import{u as a}from"./p-9a263d0e.js";import"./p-09cdd71f.js";const s="nv-accordion-item{display:block;border-bottom:var(--spacing-px) solid var(--color-content-low-border)}nv-accordion-item:last-child{border-bottom:none}nv-accordion-item .nv-accordion-item__header{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4)}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__chevron{margin-left:var(--spacing-2);flex-shrink:0}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__header-content{display:flex;flex-direction:column;gap:var(--spacing-0-5);flex:1;min-width:0}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__title{color:var(--color-content-high-text);font-size:var(--font-size-lg);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--line-height-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__subtitle{color:var(--color-content-low-text);font-size:var(--font-size-md);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--line-height-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nv-accordion-item .nv-accordion-item__content{background:var(--color-level-10-background)}nv-accordion-item .nv-accordion-item__content .nv-accordion-item__content-inner{padding:var(--spacing-4);color:var(--color-content-low-text);font-size:var(--font-size-md);font-style:normal;font-weight:500;line-height:var(--line-height-base);}nv-accordion-item.is-disabled{opacity:var(--opacity-disabled);pointer-events:none}nv-accordion-item.is-open .nv-accordion-item__header{border-bottom:var(--spacing-px) solid var(--color-content-low-border)}";const c=s;const r=class{constructor(t){e(this,t);this.itemToggle=i(this,"itemToggle",7);this.open=false;this.disabled=false;this.mode="accordion";this.currentOpenState=false;this.isInitialized=false;this.isAnimating=false;this.handleHeaderClick=()=>{this.toggle()};this.handleIconClick=e=>{e.stopPropagation();this.toggle()};this.handleHeaderKeyDown=e=>{if(this.disabled)return;switch(e.key){case"Enter":case" ":e.preventDefault();this.toggle();break;case"ArrowDown":e.preventDefault();if(!this.open){this.open=true;this.itemToggle.emit(this.open);this.updateVisibility(this.open)}break;case"ArrowUp":e.preventDefault();if(this.open){this.open=false;this.itemToggle.emit(this.open);this.updateVisibility(this.open)}break}}}async onOpenChanged(e,i){this.currentOpenState=e;if(i===undefined){return}await this.updateVisibility(e)}async updateVisibility(e){if(!this.contentRef)return;this.isAnimating=true;const{collapse:i,expand:t}=a(this.contentRef,{duration:200});if(e){await t()}else{await i()}this.isAnimating=false}componentWillLoad(){this.currentOpenState=this.open}componentDidLoad(){if(this.contentRef){const{setExpanded:e,setCollapsed:i}=a(this.contentRef);if(this.open){e()}else{i()}}}disconnectedCallback(){if(this.mutationObserver){this.mutationObserver.disconnect()}}async toggle(){if(!this.disabled&&!this.isAnimating){this.open=!this.open;this.itemToggle.emit(this.open);await this.updateVisibility(this.open)}}get chevronIconName(){return this.open?"chevron-top":"chevron-down"}render(){return t(n,{key:"dfb8ca76f8ac40c938323be1ccba4353ea33a616",class:{"nv-accordion-item":true,"is-open":this.open,"is-disabled":this.disabled,"is-animating":this.isAnimating},role:"listitem","aria-expanded":this.open?"true":"false","aria-disabled":this.disabled?"true":"false"},t("div",{key:"258efe0502a39d963a9e75c16285ee9cbc65cb9f",class:"nv-accordion-item__header",onClick:this.handleHeaderClick,"aria-controls":"content"},t("slot",{key:"bb4dae743f06e3d41d1f7b8c17793b668df9347b",name:"header"},t("div",{key:"f3142a81c6be776d95ab9292101b889db6e35805",class:"nv-accordion-item__header-content"},this.itemTitle&&t("span",{key:"e897d8b4d414ba4e93b2853c152059579063335e",class:"nv-accordion-item__title"},this.itemTitle),this.subtitle&&t("span",{key:"b8e03ceb1ca0e4c0b0fe24398f0e1c592ac077ab",class:"nv-accordion-item__subtitle"},this.subtitle))),t("nv-iconbutton",{key:"8d90711a96f5ce2e7d6f5ebcf3922cd0fedd69bd",emphasis:"low",size:"sm",shape:"square",name:this.chevronIconName,tabindex:this.disabled?-1:0,onClick:this.handleIconClick,onKeyDown:this.handleHeaderKeyDown,"aria-expanded":this.open?"true":"false","aria-controls":"content","aria-label":this.open?"Fermer la section":"Ouvrir la section"})),t("div",{key:"171b5165f3663fa5f0fa28ef84145dfc998e9f10",id:"content",class:"nv-accordion-item__content","aria-hidden":!this.open?"true":"false",ref:e=>this.contentRef=e},t("div",{key:"dcf753f23cec073a036d8137f1299dcf4ca4af78",class:"nv-accordion-item__content-inner"},t("slot",{key:"3dc85def21aace19f3d211262b6cf66ccb9438fa",name:"content"}))))}get el(){return o(this)}static get watchers(){return{open:["onOpenChanged"]}}};r.style=c;export{r as nv_accordion_item};
|
|
2
|
+
//# sourceMappingURL=p-2a6783ca.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["nvAccordionItemCss","NvAccordionItemStyle0","NvAccordionItem","constructor","hostRef","this","open","disabled","mode","currentOpenState","isInitialized","isAnimating","handleHeaderClick","toggle","handleIconClick","e","stopPropagation","handleHeaderKeyDown","key","preventDefault","itemToggle","emit","updateVisibility","onOpenChanged","newValue","oldValue","undefined","contentRef","collapse","expand","useCollapse","duration","componentWillLoad","componentDidLoad","setExpanded","setCollapsed","disconnectedCallback","mutationObserver","disconnect","chevronIconName","render","h","Host","class","role","onClick","name","itemTitle","subtitle","emphasis","size","shape","tabindex","onKeyDown","id","ref","el"],"sources":["src/components/nv-accordion-item/styles/nv-accordion-item.scss?tag=nv-accordion-item","src/components/nv-accordion-item/nv-accordion-item.tsx"],"sourcesContent":["@use \"./mixins\" as *;\n\nnv-accordion-item {\n @include accordion-item-root();\n\n .nv-accordion-item__header {\n @include accordion-item-header();\n \n .nv-accordion-item__chevron {\n @include accordion-item-chevron();\n }\n\n .nv-accordion-item__header-content {\n @include accordion-item-header-content();\n }\n\n .nv-accordion-item__title {\n @include accordion-item-title();\n }\n\n .nv-accordion-item__subtitle {\n @include accordion-item-subtitle();\n }\n }\n\n .nv-accordion-item__content {\n @include accordion-item-content();\n \n .nv-accordion-item__content-inner {\n @include accordion-item-content-inner();\n }\n }\n\n // Styles for disabled items\n &.is-disabled {\n @include accordion-item-disabled();\n }\n\n // Border between header and content when item is open\n &.is-open .nv-accordion-item__header {\n border-bottom: var(--spacing-px) solid var(--color-content-low-border);\n }\n}","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Method,\n State,\n Element,\n Watch,\n} from '@stencil/core';\nimport { useCollapse } from '../../animations';\n\n/**\n * Accordion item element for nv-accordion.\n *\n * @slot header - Custom header (replaces itemTitle/subtitle)\n * @slot content - Main content (expandable area)\n */\n@Component({\n tag: 'nv-accordion-item',\n styleUrl: 'styles/nv-accordion-item.scss',\n shadow: false,\n})\nexport class NvAccordionItem {\n @Element() el!: HTMLNvAccordionItemElement;\n private contentRef?: HTMLDivElement;\n private mutationObserver?: MutationObserver;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /** Item title (displayed if header slot is absent) */\n @Prop({ reflect: true })\n readonly itemTitle?: string;\n\n /** Item subtitle (displayed if header slot is absent) */\n @Prop({ reflect: true })\n readonly subtitle?: string;\n\n /** Open or closed */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /** Disables the item */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /** Maximum content height (in px, optional). If not defined, auto height. */\n @Prop({ reflect: true })\n readonly maxContentHeight?: number;\n\n /** Parent expansion mode (accordion or multi) */\n @Prop({ reflect: true })\n readonly mode?: 'accordion' | 'multi' = 'accordion';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Event emitted on toggle (header click)\n */\n @Event()\n itemToggle: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region STATE\n\n /** Internal state for open/close rendering */\n @State()\n currentOpenState: boolean = false;\n\n /**\n * Controls if the panel has been initialized for animations\n */\n @State()\n isInitialized: boolean = false;\n\n /**\n * Animation in progress\n */\n @State()\n isAnimating: boolean = false;\n\n //#endregion STATE\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('open')\n async onOpenChanged(newValue: boolean, oldValue: boolean) {\n this.currentOpenState = newValue; // Synchronize internal state\n\n // Skip initial render\n if (oldValue === undefined) {\n return;\n }\n\n await this.updateVisibility(newValue);\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region ANIMATIONS\n\n /**\n * Updates the visibility state with Nova animation system\n * @param {boolean} open - Whether the accordion item should be open\n */\n private async updateVisibility(open: boolean) {\n if (!this.contentRef) return;\n\n this.isAnimating = true;\n\n const { collapse, expand } = useCollapse(this.contentRef, {\n duration: 200,\n });\n\n if (open) {\n // Expand with animation\n await expand();\n } else {\n // Collapse with animation\n await collapse();\n }\n\n this.isAnimating = false;\n }\n\n //#endregion ANIMATIONS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.currentOpenState = this.open; // Initial synchronization\n }\n\n componentDidLoad() {\n if (this.contentRef) {\n const { setExpanded, setCollapsed } = useCollapse(this.contentRef);\n\n if (this.open) {\n // If open by default on initial load, set expanded state without animation\n setExpanded();\n } else {\n // If closed by default, set collapsed state without animation\n setCollapsed();\n }\n }\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Toggle open/close (Public API)\n */\n @Method()\n async toggle() {\n if (!this.disabled && !this.isAnimating) {\n this.open = !this.open;\n this.itemToggle.emit(this.open);\n\n // Force animation update directly instead of relying on watcher\n await this.updateVisibility(this.open);\n }\n }\n\n /**\n * Handler for header click\n */\n private handleHeaderClick = () => {\n this.toggle();\n };\n\n /**\n * Handler for iconbutton click\n * @param {Event} e - Click event\n */\n private handleIconClick = (e: Event) => {\n e.stopPropagation(); // Prevent header click from triggering\n this.toggle();\n };\n\n /**\n * Handler for keyboard events on iconbutton\n * @param {KeyboardEvent} e - Keyboard event\n */\n private handleHeaderKeyDown = (e: KeyboardEvent) => {\n if (this.disabled) return;\n\n switch (e.key) {\n case 'Enter':\n case ' ':\n e.preventDefault();\n this.toggle();\n break;\n case 'ArrowDown':\n e.preventDefault();\n if (!this.open) {\n this.open = true;\n this.itemToggle.emit(this.open);\n this.updateVisibility(this.open);\n }\n break;\n case 'ArrowUp':\n e.preventDefault();\n if (this.open) {\n this.open = false;\n this.itemToggle.emit(this.open);\n this.updateVisibility(this.open);\n }\n break;\n }\n };\n\n /**\n * Get the chevron icon name based on open state\n * @returns {string} The icon name to display in the chevron button\n */\n private get chevronIconName(): string {\n return this.open ? 'chevron-top' : 'chevron-down';\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n render() {\n return (\n <Host\n class={{\n 'nv-accordion-item': true,\n 'is-open': this.open,\n 'is-disabled': this.disabled,\n 'is-animating': this.isAnimating,\n }}\n role=\"listitem\"\n aria-expanded={this.open ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n >\n <div\n class=\"nv-accordion-item__header\"\n onClick={this.handleHeaderClick}\n aria-controls=\"content\"\n >\n <slot name=\"header\">\n <div class=\"nv-accordion-item__header-content\">\n {this.itemTitle && (\n <span class=\"nv-accordion-item__title\">{this.itemTitle}</span>\n )}\n {this.subtitle && (\n <span class=\"nv-accordion-item__subtitle\">{this.subtitle}</span>\n )}\n </div>\n </slot>\n <nv-iconbutton\n emphasis=\"low\"\n size=\"sm\"\n shape=\"square\"\n name={this.chevronIconName}\n tabindex={this.disabled ? -1 : 0}\n onClick={this.handleIconClick}\n onKeyDown={this.handleHeaderKeyDown}\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls=\"content\"\n aria-label={this.open ? 'Fermer la section' : 'Ouvrir la section'}\n ></nv-iconbutton>\n </div>\n\n <div\n id=\"content\"\n class=\"nv-accordion-item__content\"\n aria-hidden={!this.open ? 'true' : 'false'}\n ref={el => (this.contentRef = el as HTMLDivElement)}\n >\n <div class=\"nv-accordion-item__content-inner\">\n <slot name=\"content\" />\n </div>\n </div>\n </Host>\n );\n }\n // #endregion RENDER\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,c as r,h as o,H as t,g as i}from"./p-d0a33e64.js";import{v as n}from"./p-f5ff676c.js";const a='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldtext{--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-fieldtext[fluid]:not([fluid=false]){max-width:unset}nv-fieldtext[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-fieldtext[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fieldtext[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-fieldtext[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fieldtext>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-fieldtext>.input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch}nv-fieldtext>.input-wrapper .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldtext>.input-wrapper .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtext>.input-wrapper .input-container:focus-within,nv-fieldtext>.input-wrapper .input-container:focus-within:hover,nv-fieldtext>.input-wrapper .input-container:focus,nv-fieldtext>.input-wrapper .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldtext>.input-wrapper .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldtext>.input-wrapper .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtext>.input-wrapper .input-container>[slot=leading-input]{display:block;margin-left:var(--form-field-padding-x)}nv-fieldtext>.input-wrapper .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;}nv-fieldtext>.input-wrapper .input-container input:focus{outline:none}nv-fieldtext>.input-wrapper .input-container input::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-fieldtext>.input-wrapper .input-container input[type=password]::-ms-clear,nv-fieldtext>.input-wrapper .input-container input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fieldtext>.input-wrapper .input-container nv-icon.validation{color:var(--nv-field-border-default);margin-right:var(--form-gap-x)}nv-fieldtext>.input-wrapper .input-container>[slot=trailing-input]{display:block;margin-right:var(--form-field-padding-x)}nv-fieldtext>.description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);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-fieldtext>.error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);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=a;const l=class{constructor(o){e(this,o);this.valueChanged=r(this,"valueChanged",7);this.inputId=n();this.type="text";this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.multiple=false;this.autofocus=false;this.fluid=false;this.handleInput=e=>{const r=e.target;this.value=r.value;this.valueChanged.emit(r.value)};this.handleInputContainerClick=()=>{this.inputElement.focus()}}componentWillRender(){if(this.textInputType){this.type=this.textInputType}if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}render(){return o(t,{key:"aa009c45d11efe9fef7ae0acfb701e25db7d3004"},(this.label||this.el.querySelector('[slot="label"]'))&&o("label",{key:"90aedd9dc50b1485b76e4bb6df2f5ea017eee9f4",htmlFor:this.inputId},o("slot",{key:"3d7c37806fd01f1bb4c1d1d67372ce257d1b382d",name:"label"},this.label)),o("div",{key:"d399c53383708363c986c8f02f0f0a3b48bb4c39",class:"input-wrapper"},o("slot",{key:"19b8cb3165c3ff0523c257ad0fc53f0df7413685",name:"before-input"}),o("div",{key:"3564795cf1775f2113c9a35d1865f84358be3144",class:"input-container",onClick:this.handleInputContainerClick},o("slot",{key:"b9b0b3b44f8474ba4f0c46552bb9c3a83fa0d7d2",name:"leading-input"}),o("input",{key:"39687f0583e734b03262aac593ab50ffad7957fd",id:this.inputId,ref:e=>this.inputElement=e,placeholder:this.placeholder,name:this.name,type:this.type,disabled:this.disabled,readOnly:this.readonly,required:this.required,maxlength:this.maxlength,minlength:this.minlength,pattern:this.pattern,autofocus:this.autofocus,autocomplete:this.autocomplete,multiple:this.multiple,value:this.value,onInput:this.handleInput}),o("slot",{key:"0faf9e99190d1d7e4295a454d2b89a31c728a38f",name:"trailing-input"}),this.error&&o("nv-icon",{key:"fe4646f13b1fba38883f1e03ea6c1ba274c9aa47",name:"alert-circle",class:"validation",size:"md"}),this.success&&o("nv-icon",{key:"1e51b8182acc3b049ad608ddefd8c1631efbef94",name:"circle-check",class:"validation",size:"md"})),o("slot",{key:"65bf5da97918592f3d8ebc63d134ddc4723188a1",name:"after-input"})),(this.description||this.el.querySelector('[slot="description"]'))&&o("div",{key:"c3f771bc7f641612baead1d82f8bcf8d8586a152",class:"description"},o("slot",{key:"27df5104927ce680472aff0054e4ae5c3a9727c6",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&o("div",{key:"8126a6159a24b68a9fa7f017aa289269f63035d4",hidden:!this.error,class:"error-description"},o("slot",{key:"d7cebdf0101cbed1d898c2bcc73581387ddb23b9",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return i(this)}};l.style=d;export{l as nv_fieldtext};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,c as r,h as o,H as t,g as i}from"./p-d0a33e64.js";import{v as n}from"./p-f5ff676c.js";const a='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldtext{--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-fieldtext[fluid]:not([fluid=false]){max-width:unset}nv-fieldtext[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-fieldtext[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fieldtext[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-fieldtext[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fieldtext>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-fieldtext>.input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch}nv-fieldtext>.input-wrapper .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldtext>.input-wrapper .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtext>.input-wrapper .input-container:focus-within,nv-fieldtext>.input-wrapper .input-container:focus-within:hover,nv-fieldtext>.input-wrapper .input-container:focus,nv-fieldtext>.input-wrapper .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldtext>.input-wrapper .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldtext>.input-wrapper .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtext>.input-wrapper .input-container>[slot=leading-input]{display:block;margin-left:var(--form-field-padding-x)}nv-fieldtext>.input-wrapper .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;}nv-fieldtext>.input-wrapper .input-container input:focus{outline:none}nv-fieldtext>.input-wrapper .input-container input::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-fieldtext>.input-wrapper .input-container input[type=password]::-ms-clear,nv-fieldtext>.input-wrapper .input-container input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fieldtext>.input-wrapper .input-container nv-icon.validation{color:var(--nv-field-border-default);margin-right:var(--form-gap-x)}nv-fieldtext>.input-wrapper .input-container>[slot=trailing-input]{display:block;margin-right:var(--form-field-padding-x)}nv-fieldtext>.description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);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-fieldtext>.error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);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=a;const l=class{constructor(o){e(this,o);this.valueChanged=r(this,"valueChanged",7);this.inputId=n();this.type="text";this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.multiple=false;this.autofocus=false;this.fluid=false;this.handleInput=e=>{const r=e.target;this.value=r.value;this.valueChanged.emit(r.value)};this.handleInputContainerClick=()=>{this.inputElement.focus()}}componentWillRender(){if(this.textInputType){this.type=this.textInputType}if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}render(){return o(t,{key:"35382ab52aa48116fbedc7683aff4729f06f5969"},(this.label||this.el.querySelector('[slot="label"]'))&&o("label",{key:"6f849db1b7603fc4de4fb23075fd7daa72438dd2",htmlFor:this.inputId},o("slot",{key:"24bc67fe3a8de24a8601a2cf3c5afd2532e17c4a",name:"label"},this.label)),o("div",{key:"8ffd2d0f048082c71a76054842fffd22452b9ad2",class:"input-wrapper"},o("slot",{key:"478020c16e29399dcc6566651f88acc8d88ef36d",name:"before-input"}),o("div",{key:"1aa0bac3947bdff209268619202ccc38da691761",class:"input-container",onClick:this.handleInputContainerClick},o("slot",{key:"369b5f0a4c4d1d16217ad5de9221273ece41e1f0",name:"leading-input"}),o("input",{key:"91446fe15f48f45693f56b3fd21926b8114c1dca",id:this.inputId,ref:e=>this.inputElement=e,placeholder:this.placeholder,name:this.name,type:this.type,disabled:this.disabled,readOnly:this.readonly,required:this.required,maxlength:this.maxlength,minlength:this.minlength,pattern:this.pattern,autofocus:this.autofocus,autocomplete:this.autocomplete,multiple:this.multiple,value:this.value,onInput:this.handleInput}),o("slot",{key:"505a9ed004c4492f8daaef9a92bcaf344e2a10fb",name:"trailing-input"}),this.error&&o("nv-icon",{key:"c1e9ecd4f901862391daa6c9f5c75d3c1b81810f",name:"alert-circle",class:"validation",size:"md"}),this.success&&o("nv-icon",{key:"15a452bdbbb386a51e4fe51370bd09521cc6f47f",name:"circle-check",class:"validation",size:"md"})),o("slot",{key:"7e7e3969dd6f3d1b80eab00ac966f7ba9f13895c",name:"after-input"})),(this.description||this.el.querySelector('[slot="description"]'))&&o("div",{key:"b4ca95846a8fdf68e95d602968506bf009f9334f",class:"description"},o("slot",{key:"fce329e819b837318b2d9bf9e16a8ef886aa940a",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&o("div",{key:"c3800ac457b5f0f87a3bdf9e9e37a36f5905786c",hidden:!this.error,class:"error-description"},o("slot",{key:"f77d02598ba261bf2b48b16ecfa3fc15fe221599",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return i(this)}};l.style=d;export{l as nv_fieldtext};
|
|
2
|
+
//# sourceMappingURL=p-34bf336f.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,h as a,H as s}from"./p-d0a33e64.js";import{c as n}from"./p-8a1a6e56.js";const c="nv-stack{display:flex;align-items:center;justify-content:flex-start;flex-direction:row}nv-stack nv-col{display:flex}nv-stack:not(nv-row){flex-wrap:nowrap}nv-stack>.nv-stack-item-flex{flex-shrink:1;flex-grow:1}nv-stack>.nv-stack-item-lead{margin-right:auto}nv-stack>.nv-stack-item-lead+*{margin-left:0}nv-stack>.nv-stack-item-center{margin-right:auto;margin-left:auto}nv-stack>.nv-stack-item-tail{margin-left:auto}nv-stack>.nv-stack-nowrap{white-space:nowrap}nv-stack.nv-stack-vertical{align-items:stretch;flex-direction:column}nv-stack.nv-stack-vertical>.nv-stack-item-lead{margin-right:0;margin-bottom:auto}nv-stack.nv-stack-vertical>.nv-stack-item-lead+*{margin-top:0}nv-stack.nv-stack-vertical>.nv-stack-item-tail{margin-left:0;margin-top:auto}nv-stack.nv-stack-vertical>.nv-stack-item-center{margin:auto 0}nv-stack.nv-stack-flex>*{flex-shrink:1;flex-grow:1}nv-stack.nv-stack-fill>*{height:100%}nv-stack.nv-stack-fill.nv-stack-vertical>*{height:auto;width:100%}";const e=c;const i=class{constructor(a){t(this,a);this.gutter=2}render(){return a(s,{key:"
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,h as a,H as s}from"./p-d0a33e64.js";import{c as n}from"./p-8a1a6e56.js";const c="nv-stack{display:flex;align-items:center;justify-content:flex-start;flex-direction:row}nv-stack nv-col{display:flex}nv-stack:not(nv-row){flex-wrap:nowrap}nv-stack>.nv-stack-item-flex{flex-shrink:1;flex-grow:1}nv-stack>.nv-stack-item-lead{margin-right:auto}nv-stack>.nv-stack-item-lead+*{margin-left:0}nv-stack>.nv-stack-item-center{margin-right:auto;margin-left:auto}nv-stack>.nv-stack-item-tail{margin-left:auto}nv-stack>.nv-stack-nowrap{white-space:nowrap}nv-stack.nv-stack-vertical{align-items:stretch;flex-direction:column}nv-stack.nv-stack-vertical>.nv-stack-item-lead{margin-right:0;margin-bottom:auto}nv-stack.nv-stack-vertical>.nv-stack-item-lead+*{margin-top:0}nv-stack.nv-stack-vertical>.nv-stack-item-tail{margin-left:0;margin-top:auto}nv-stack.nv-stack-vertical>.nv-stack-item-center{margin:auto 0}nv-stack.nv-stack-flex>*{flex-shrink:1;flex-grow:1}nv-stack.nv-stack-fill>*{height:100%}nv-stack.nv-stack-fill.nv-stack-vertical>*{height:auto;width:100%}";const e=c;const i=class{constructor(a){t(this,a);this.gutter=2}render(){return a(s,{key:"0a93c321e46c7e17ac0efe09556ee4447fec5f74",class:n(this.fill&&"nv-stack-fill",this.flex&&"nv-stack-flex",this.full&&"w-full",this.gutter&&!this.vertical&&`gap-x-${this.gutter}`,this.gutter&&this.vertical&&`gap-y-${this.gutter}`,this.vertical&&"nv-stack-vertical")},a("slot",{key:"faf55f3f579311c333e1ea66f1a19ace98594377"}))}};i.style=e;export{i as nv_stack};
|
|
2
|
+
//# sourceMappingURL=p-3f139780.entry.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{h as e,r as i,c as r,H as t,g as n}from"./p-d0a33e64.js";import{v as s}from"./p-f5ff676c.js";function a(e){if(Number.isInteger(e))return 0;const i=e.toString();const r=i.split(".")[1];return r?r.length:0}function o(e,i,r){return Math.max(i,Math.min(r,e))}function l(e,i,r){if(r===i)return 0;return(e-i)/(r-i)*100}function d(e,i,r,t){const n=o(e,i,r);const s=a(t);if(s>0){const e=Math.pow(10,s);const a=Math.round((n-i)*e);const l=Math.round(t*e);const d=Math.round(a/l);const c=d*l;const f=i+c/e;return o(parseFloat(f.toFixed(s)),i,r)}const l=(n-i)/t;const d=Math.round(l);const c=i+d*t;return o(c,i,r)}function c(e,i,r){const t=[];for(let n=e;n<=i;n+=r){t.push(Number(n.toFixed(10)))}if(t[t.length-1]!==i){t.push(i)}return t}function f(e,i){if(!i||i.length===0)return e;let r=i[0].value;let t=Math.abs(e-r);for(const n of i){const i=Math.abs(e-n.value);if(i<t){t=i;r=n.value}}return r}function h(e,i){const r=a(i);if(r>0){return e.toFixed(r)}return String(e)}const u=i=>{const{value:r,min:t,max:n,step:s,rawPosition:a,isDragging:d,snap:c,disabled:f,readonly:u,onKeyDown:v,labelBeforeValue:b,labelAfterValue:p}=i;let m=r;if(d&&!c){m=o(a,t,n)}const k=l(m,t,n);return e("div",{class:"thumb",style:{left:`${k}%`},role:"slider","aria-valuemin":t,"aria-valuemax":n,"aria-valuenow":r,"aria-disabled":f?"true":undefined,"aria-readonly":u?"true":undefined,tabindex:f?-1:0,onKeyDown:v},e("div",{class:"thumb-tooltip"},b&&e("span",{class:"label-before"},b),h(r,s),p&&e("span",{class:"label-after"},p)))};const v=i=>{const{rangeValue:r,rawRangePosition:t,activeDragThumb:n,isDragging:s,snap:a,min:d,max:c,step:f,disabled:u,readonly:v,onKeyDown:b,labelBeforeValue:p,labelAfterValue:m}=i;const[k,g]=r;let y=k;let x=g;if(s&&!a){const[e,i]=t;if(n==="left"){y=o(e,d,Math.min(g,c))}else if(n==="right"){x=o(i,Math.max(k,d),c)}}const w=l(y,d,c);const V=l(x,d,c);return[e("div",{class:"track-range",style:{left:`${w}%`,width:`${V-w}%`}}),e("div",{class:"thumb thumb-left",style:{left:`${w}%`},role:"slider","aria-valuemin":d,"aria-valuemax":c,"aria-valuenow":k,"aria-disabled":u?"true":undefined,"aria-readonly":v?"true":undefined,"data-thumb":"left",tabindex:u?-1:0,onKeyDown:b},e("div",{class:"thumb-tooltip"},p&&e("span",{class:"label-before"},p),h(k,f),m&&e("span",{class:"label-after"},m))),e("div",{class:"thumb thumb-right",style:{left:`${V}%`},role:"slider","aria-valuemin":d,"aria-valuemax":c,"aria-valuenow":g,"aria-disabled":u?"true":undefined,"aria-readonly":v?"true":undefined,"data-thumb":"right",tabindex:u?-1:0,onKeyDown:b},e("div",{class:"thumb-tooltip"},p&&e("span",{class:"label-before"},p),h(g,f),m&&e("span",{class:"label-after"},m)))]};const b=i=>{const{ticks:r,min:t,max:n}=i;if(r.length===0){return null}return e("div",{class:"track-ticks"},r.map((i=>{const r=l(i.value,t,n);return e("div",{class:"track-tick",style:{left:`${r}%`}},i.label&&e("div",{class:"tick-label"},i.label))})))};const p=i=>{const{range:r,hasField:t,value:n,rangeValue:s,index:a,inputId:o,min:l,max:d,step:c,disabled:f,readonly:h,onInput:u,labelBeforeValue:v,labelAfterValue:b,name:p,endName:m}=i;const k=r?s[a]:n;const g=r?{"data-index":a.toString()}:{};let y;if(r){if(a===0){y=p||""}else{y=m||(p?`${p}-end`:"")}}else{y=p||""}const x=t?"input-container":"input-container hidden-input";return t?e("div",{class:x},e("nv-fieldnumber",Object.assign({id:o,value:k,min:l,max:d,step:c,disabled:f,readonly:h,name:y},g,{onInput:u}),v&&e("span",{class:"label-before",slot:"leading-input"},v),b&&e("span",{class:"label-after",slot:"trailing-input"},b))):e("input",{id:o,type:"hidden",value:k,disabled:f,readonly:h,name:y})};const m='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider{--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-fieldslider .slider-container{width:100%;display:flex;flex-direction:row;align-items:center;gap:var(--form-gap-x)}nv-fieldslider .slider-container .track-container{position:relative;flex:1;height:calc(var(--slider-handler-size-min) + 0.25rem);padding:calc(var(--slider-handler-size-min) / 2) 0}nv-fieldslider .slider-container .track-container .track{position:relative;height:var(--slider-track-height);background:var(--components-slider-track-background);border-radius:var(--slider-track-radius);cursor:pointer}nv-fieldslider .slider-container .track-container .track .track-range{position:absolute;top:0;height:var(--slider-track-height);background:var(--components-slider-track-filled-default);border-radius:var(--slider-track-radius);pointer-events:none}nv-fieldslider .slider-container .track-container .track .thumb{position:absolute;top:50%;width:var(--slider-handler-size-min);height:var(--slider-handler-size-min);background:#ffffff;border:var(--slider-handler-stroke) solid var(--components-slider-track-filled-default);border-radius:50%;transform:translate(-50%, -50%);z-index:1;cursor:grab;transition:width 0.2s, height 0.2s, box-shadow 0.2s, background-color 0.2s}nv-fieldslider .slider-container .track-container .track .thumb:hover{width:var(--slider-handler-size-max);height:var(--slider-handler-size-max);border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container .track .thumb:focus{width:var(--slider-handler-size-min);height:var(--slider-handler-size-min);border-color:var(--components-slider-track-filled-focus);outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1);transition:outline;background:var(--components-slider-handler-background-focus)}nv-fieldslider .slider-container .track-container .track .thumb:active{cursor:grabbing;background:var(--components-slider-handler-background-hover)}nv-fieldslider .slider-container .track-container .track .thumb .thumb-tooltip{position:absolute;top:25px;left:50%;background-color:var(--components-tooltip-background);color:var(--components-tooltip-text);padding:5px;border-radius:var(--tooltip-radius);font-size:var(--tooltip-font-size);z-index:10;pointer-events:none;user-select:none;opacity:0;transition:opacity 0.3s ease-in-out;transform:translateX(-50%)}nv-fieldslider .slider-container .track-container .track .thumb .thumb-tooltip:after{content:"";background:var(--components-tooltip-background);box-shadow:none;border:none;position:absolute;border-bottom-color:transparent;border-right-color:transparent;width:6px;height:6px;transform:rotate(45deg);border-radius:1px;top:-3px;left:50%;margin-left:-3px}nv-fieldslider .slider-container .track-container .track .thumb:hover .thumb-tooltip,nv-fieldslider .slider-container .track-container .track .thumb:active .thumb-tooltip,nv-fieldslider .slider-container .track-container .track .thumb:focus .thumb-tooltip{opacity:1}nv-fieldslider .slider-container .track-container .track-ticks{position:relative;height:1rem;margin-top:0.25rem}nv-fieldslider .slider-container .track-container .track-ticks .track-tick{position:absolute;top:0;width:var(--slider-tick-height);height:var(--slider-tick-height);background:var(--components-form-field-border-default);border-radius:50%;transform:translate(-50%, 0);pointer-events:none}nv-fieldslider .slider-container .track-container .track-ticks .track-tick:first-of-type{transform:translate(0, 0)}nv-fieldslider .slider-container .track-container .track-ticks .track-tick:last-of-type{transform:translate(-100%, 0)}nv-fieldslider .slider-container .track-container .track-ticks .track-tick .tick-label{position:absolute;top:calc(var(--slider-tick-height) + 0.25rem);left:50%;color:var(--components-form-field-border-default);transform:translateX(-50%);white-space:nowrap}.track-tick-first nv-fieldslider .slider-container .track-container .track-ticks .track-tick .tick-label{left:0;transform:translateX(0)}.track-tick-last nv-fieldslider .slider-container .track-container .track-ticks .track-tick .tick-label{left:100%;transform:translateX(-100%)}nv-fieldslider .slider-container .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out;width:90px;flex-grow:unset}nv-fieldslider .slider-container .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldslider .slider-container .input-container:focus-within,nv-fieldslider .slider-container .input-container:focus-within:hover,nv-fieldslider .slider-container .input-container:focus,nv-fieldslider .slider-container .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldslider .slider-container .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldslider .slider-container .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldslider .slider-container .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;}nv-fieldslider .slider-container .input-container input:focus{outline:none}nv-fieldslider .slider-container .input-container input::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-fieldslider .slider-container .input-container input[type=password]::-ms-clear,nv-fieldslider .slider-container .input-container input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fieldslider .slider-container .input-container .label-before{margin-left:var(--spacing-2);color:var(--components-form-field-icon-default)}nv-fieldslider .slider-container .input-container .label-after{margin-right:var(--spacing-2);color:var(--components-form-field-icon-default)}nv-fieldslider[fluid]:not([fluid=false]){max-width:unset}nv-fieldslider[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fieldslider[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-fieldslider[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-fieldslider[readonly]:not([readonly=false]) .track,nv-fieldslider[readonly]:not([readonly=false]) .thumb{cursor:default}nv-fieldslider 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-fieldslider nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldslider[hide-label]:not([hide-label=false]) label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}nv-fieldslider[has-field]:not([has-field=false]) .thumb-tooltip{display:none}nv-fieldslider>.description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);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-fieldslider>.error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);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)}nv-fieldslider>.error-description[hidden]{display:none}';const k=m;const g=class{constructor(e){i(this,e);this.valueChanged=r(this,"valueChanged",7);this.startInputId=s();this.endInputId=s();this.hideLabel=false;this.hasField=false;this.range=false;this.disabled=false;this.readonly=false;this.error=false;this.success=false;this.value=[0];this.step=1;this.snap=false;this.snapTicks=false;this.min=0;this.max=100;this.showTicks=false;this.fluid=false;this.isDragging=false;this.activeDragThumb="single";this.internalTicks=[];this.rawPosition=0;this.rawRangePosition=[0,0];this.valueInternal=0;this.rangeValueInternal=[0,0];this.parseValue=()=>{if(typeof this.value==="string"){console.error("Sliders require a number or array of numbers to be passed in the value prop.");return}if(this.range&&this.value.length!==2){console.error("Range sliders require an array of two values to be passed in the value prop.");return}if(!this.range&&this.value.length!==1){console.error("Single sliders require a single value as an array to be passed in the value prop.");return}this.valueInternal=this.value[0];this.rangeValueInternal=[this.value[0],this.value[1]]};this.onTrackInteraction=e=>{if(this.disabled||this.readonly){return}const i=e.currentTarget.getBoundingClientRect();const r=o((e.clientX-i.left)/i.width*100,0,100);const t=this.min+r/100*(this.max-this.min);this.rawPosition=t;if(this.range){const e=l(this.rangeValueInternal[0],this.min,this.max);const i=l(this.rangeValueInternal[1],this.min,this.max);const n=Math.abs(r-e);const s=Math.abs(r-i);if(n<=s){this.activeDragThumb="left";this.rawRangePosition=[t,this.rawRangePosition[1]];this.handleValueChange([t,this.rangeValueInternal[1]])}else{this.activeDragThumb="right";this.rawRangePosition=[this.rawRangePosition[0],t];this.handleValueChange([this.rangeValueInternal[0],t])}}else{this.activeDragThumb="single";this.rawPosition=t;this.handleValueChange(t)}this.isDragging=true;this.registerGlobalEvents()};this.onPointerMove=e=>{if(!this.isDragging||this.disabled||this.readonly){return}const i=this.el.querySelector(".track");if(!i)return;const r=i.getBoundingClientRect();const t=o((e.clientX-r.left)/r.width*100,0,100);const n=this.min+t/100*(this.max-this.min);if(this.range){if(this.activeDragThumb==="left"){this.rawRangePosition=[n,this.rawRangePosition[1]];this.handleValueChange([n,this.rangeValueInternal[1]])}else{this.rawRangePosition=[this.rawRangePosition[0],n];this.handleValueChange([this.rangeValueInternal[0],n])}}else{this.rawPosition=n;this.handleValueChange(n)}};this.onPointerUp=()=>{this.isDragging=false;this.removeGlobalEvents()};this.onKeyDown=e=>{if(this.disabled||this.readonly){return}let i;const r=e.shiftKey?10:1;const t=this.step*r;if(this.range){const r=e.target.getAttribute("data-thumb");const n=r==="left"?0:1;const s=[...this.rangeValueInternal];switch(e.key){case"ArrowRight":case"ArrowUp":s[n]+=t;break;case"ArrowLeft":case"ArrowDown":s[n]-=t;break;case"Home":s[n]=this.min;break;case"End":s[n]=this.max;break;case"PageUp":s[n]+=t*10;break;case"PageDown":s[n]-=t*10;break;default:return}i=s}else{switch(e.key){case"ArrowRight":case"ArrowUp":i=this.valueInternal+t;break;case"ArrowLeft":case"ArrowDown":i=this.valueInternal-t;break;case"Home":i=this.min;break;case"End":i=this.max;break;case"PageUp":i=this.valueInternal+t*10;break;case"PageDown":i=this.valueInternal-t*10;break;default:return}}e.preventDefault();this.handleValueChange(i)};this.handleFieldChange=e=>{const i=e.target;const r=parseFloat(i.value);if(isNaN(r)){return}if(this.range){const e=i.getAttribute("data-index")==="0"?0:1;const t=[...this.rangeValueInternal];t[e]=r;this.handleValueChange(t)}else{this.handleValueChange(r)}}}validateValue(e){const i=o(e,this.min,this.max);if(this.snapTicks&&this.internalTicks&&this.internalTicks.length>0){return f(i,this.internalTicks)}return d(i,this.min,this.max,this.step)}handleValueChange(e){if(this.disabled||this.readonly){return}if(this.range){if(Array.isArray(e)&&e.length===2){const i=[Math.min(e[0],e[1]),Math.max(e[0],e[1])];const r=[this.validateValue(i[0]),this.validateValue(i[1])];if(r[0]!==this.rangeValueInternal[0]||r[1]!==this.rangeValueInternal[1]){this.rangeValueInternal=r;this.value=this.rangeValueInternal;this.valueChanged.emit(this.rangeValueInternal)}}}else{if(typeof e==="number"){const i=this.validateValue(e);if(i!==this.valueInternal){this.valueInternal=i;this.value=[this.valueInternal];this.valueChanged.emit([this.valueInternal])}}}}generateDisplayTicks(){if(this.ticks&&this.ticks.length>0){this.internalTicks=[...this.ticks].sort(((e,i)=>e.value-i.value));return}if(!this.showTicks){this.internalTicks=[];return}const e=c(this.min,this.max,this.step);this.internalTicks=e.map((e=>({value:e})))}registerGlobalEvents(){document.addEventListener("pointermove",this.onPointerMove);document.addEventListener("pointerup",this.onPointerUp);document.addEventListener("pointercancel",this.onPointerUp)}removeGlobalEvents(){document.removeEventListener("pointermove",this.onPointerMove);document.removeEventListener("pointerup",this.onPointerUp);document.removeEventListener("pointercancel",this.onPointerUp)}onValueChange(){this.parseValue()}onConfigChange(){this.generateDisplayTicks();if(this.range){this.handleValueChange(this.rangeValueInternal)}else{this.handleValueChange(this.valueInternal)}}onRangeChange(e){if(e){this.rangeValueInternal=[this.min,this.valueInternal]}else{this.valueInternal=this.rangeValueInternal[1]}}connectedCallback(){this.parseValue();this.generateDisplayTicks();if(this.range){if(!Array.isArray(this.rangeValueInternal)||this.rangeValueInternal.length!==2){this.rangeValueInternal=[this.min,this.max]}this.handleValueChange(this.rangeValueInternal);this.rawRangePosition=[this.rangeValueInternal[0],this.rangeValueInternal[1]]}else{this.handleValueChange(this.valueInternal);this.rawPosition=this.valueInternal}}componentWillLoad(){if(this.value.length===1&&this.range){this.value=[this.value[0],this.value[0]]}else if(this.value.length===2&&!this.range){this.value=[this.value[0]]}}disconnectedCallback(){this.removeGlobalEvents()}render(){return e(t,{key:"d255ebffd908e0b64a9d80316de351c5a35fc230"},(this.label||this.el.querySelector('[slot="label"]'))&&e("label",{key:"e618f586707865f67d4008855299d4983b2bbb9d",htmlFor:this.startInputId},e("slot",{key:"fb9131f051ad669a797b5784f1cceee2169f8b8f",name:"label"},this.label)),e("div",{key:"37147af53e7e0a0145f543c2a1070378e41e6605",class:"slider-container"},this.range?e(p,{range:this.range,hasField:this.hasField,value:this.valueInternal,rangeValue:this.rangeValueInternal,index:0,inputId:this.startInputId,min:this.min,max:this.max,step:this.step,disabled:this.disabled,readonly:this.readonly,onInput:this.handleFieldChange,labelBeforeValue:this.labelBeforeValue,labelAfterValue:this.labelAfterValue,name:this.name,endName:this.endName}):null,e("div",{key:"64a7232e46499efb355deea683113042bc745ae0",class:"track-container"},e("div",{key:"b9f5f5dc7f5e98aaa44b6e361786804af1a9798c",class:"track",onPointerDown:this.onTrackInteraction},this.range?e(v,{rangeValue:this.rangeValueInternal,rawRangePosition:this.rawRangePosition,activeDragThumb:this.activeDragThumb,isDragging:this.isDragging,snap:this.snap,min:this.min,max:this.max,step:this.step,disabled:this.disabled,readonly:this.readonly,onKeyDown:this.onKeyDown,labelBeforeValue:this.labelBeforeValue,labelAfterValue:this.labelAfterValue}):e(u,{value:this.valueInternal,min:this.min,max:this.max,step:this.step,rawPosition:this.rawPosition,isDragging:this.isDragging,snap:this.snap,disabled:this.disabled,readonly:this.readonly,onKeyDown:this.onKeyDown,labelBeforeValue:this.labelBeforeValue,labelAfterValue:this.labelAfterValue})),e(b,{key:"40e2bc4b91cf40a1d0c7e1f126b092f9d149912b",ticks:this.internalTicks,min:this.min,max:this.max})),this.range?e(p,{range:this.range,hasField:this.hasField,value:this.valueInternal,rangeValue:this.rangeValueInternal,index:1,inputId:this.endInputId,min:this.min,max:this.max,step:this.step,disabled:this.disabled,readonly:this.readonly,onInput:this.handleFieldChange,labelBeforeValue:this.labelBeforeValue,labelAfterValue:this.labelAfterValue,name:this.name,endName:this.endName}):e(p,{range:this.range,hasField:this.hasField,value:this.valueInternal,rangeValue:this.rangeValueInternal,inputId:this.startInputId,min:this.min,max:this.max,step:this.step,disabled:this.disabled,readonly:this.readonly,onInput:this.handleFieldChange,labelBeforeValue:this.labelBeforeValue,labelAfterValue:this.labelAfterValue,name:this.name})),(this.success||this.description||this.el.querySelector('[slot="description"]'))&&e("div",{key:"830b5921d75ee627002ef19ddc7946948d1bb6a7",class:"description"},this.success&&e("nv-icon",{key:"451d013f7a3ffa19cb12df406187ec4001bbad2a",name:"circle-check",class:"validation",size:"md"}),e("slot",{key:"59f84a04d635db6ceb465a642d8584167bd0cd9d",name:"description"},this.description)),(this.error||this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&e("div",{key:"10a5a273b0feeb9c0248b8aadcb801d7e832dcab",class:"error-description",hidden:!this.error},this.error&&e("nv-icon",{key:"7540ff563068f83701d82a8a948473b20351021f",name:"alert-circle",class:"validation",size:"md"}),e("slot",{key:"b76bfbbd817b15faf4f963f9c93c7d04cbbdade4",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return n(this)}static get watchers(){return{value:["onValueChange"],min:["onConfigChange"],max:["onConfigChange"],step:["onConfigChange"],ticks:["onConfigChange"],showTicks:["onConfigChange"],snap:["onConfigChange"],snapTicks:["onConfigChange"],range:["onRangeChange"]}}};g.style=k;export{g as nv_fieldslider};
|
|
2
|
+
//# sourceMappingURL=p-3ff7a912.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getDecimalPlaces","num","Number","isInteger","str","toString","decimalPart","split","length","clamp","value","min","max","Math","valueToPercent","snapToStep","step","clamped","decimalPlaces","multiplier","pow","scaledValue","round","scaledStep","roundedSteps","scaledSnapped","snapped","parseFloat","toFixed","stepsFromMin","generateTicks","ticks","v","push","snapToTicks","closestTick","minDistance","abs","tick","distance","formatValueForDisplay","String","SingleThumb","props","rawPosition","isDragging","snap","disabled","readonly","onKeyDown","labelBeforeValue","labelAfterValue","displayPosition","percent","h","class","style","left","role","undefined","tabindex","RangeThumb","rangeValue","rawRangePosition","activeDragThumb","leftValue","rightValue","displayLeftPosition","displayRightPosition","rawLeft","rawRight","leftPercent","rightPercent","width","TickMarks","map","label","FieldInput","range","hasField","index","inputId","onInput","name","endName","fieldValue","dataAttrs","inputName","containerClass","Object","assign","id","slot","type","nvFieldsliderCss","NvFieldsliderStyle0","NvFieldslider","constructor","hostRef","this","startInputId","uuidv4","endInputId","hideLabel","error","success","snapTicks","showTicks","fluid","internalTicks","valueInternal","rangeValueInternal","parseValue","console","onTrackInteraction","event","trackRect","currentTarget","getBoundingClientRect","percentage","clientX","newValue","leftPct","rightPct","distanceToLeft","distanceToRight","handleValueChange","registerGlobalEvents","onPointerMove","trackElement","el","querySelector","onPointerUp","removeGlobalEvents","stepMultiplier","shiftKey","singleStep","focusedThumb","target","getAttribute","idx","currentValue","key","preventDefault","handleFieldChange","input","isNaN","fieldIndex","updatedRange","validateValue","val","clampedValue","Array","isArray","orderedValues","validatedValues","valueChanged","emit","validatedValue","generateDisplayTicks","sort","a","b","autoTicks","document","addEventListener","removeEventListener","onValueChange","onConfigChange","onRangeChange","connectedCallback","componentWillLoad","disconnectedCallback","render","Host","htmlFor","onPointerDown","description","size","errorDescription","hidden"],"sources":["src/components/nv-fieldslider/nv-fieldslider.utils.ts","src/components/nv-fieldslider/partials/single-thumb.tsx","src/components/nv-fieldslider/partials/range-thumb.tsx","src/components/nv-fieldslider/partials/tick-marks.tsx","src/components/nv-fieldslider/partials/field-input.tsx","src/components/nv-fieldslider/styles/nv-fieldslider.scss?tag=nv-fieldslider","src/components/nv-fieldslider/nv-fieldslider.tsx"],"sourcesContent":["/**\n * Utility functions for nv-fieldslider.\n */\n\n/**\n * Gets the number of decimal places in a number.\n * @param {number} num - The number to check\n * @returns {number} The number of decimal places\n */\nexport function getDecimalPlaces(num: number): number {\n if (Number.isInteger(num)) return 0;\n const str = num.toString();\n const decimalPart = str.split('.')[1];\n return decimalPart ? decimalPart.length : 0;\n}\n\n/**\n * Clamp a value between min and max.\n * @param {number} value - The value to clamp\n * @param {number} min - The minimum boundary\n * @param {number} max - The maximum boundary\n * @returns {number} The clamped value\n */\nexport function clamp(value: number, min: number, max: number): number {\n return Math.max(min, Math.min(max, value));\n}\n\n/**\n * Calculate the percentage position of a value within a range.\n * @param {number} value - The value to convert to percentage\n * @param {number} min - The minimum value of the range\n * @param {number} max - The maximum value of the range\n * @returns {number} The percentage (0-100)\n */\nexport function valueToPercent(\n value: number,\n min: number,\n max: number,\n): number {\n if (max === min) return 0;\n return ((value - min) / (max - min)) * 100;\n}\n\n/**\n * Snap a value to the nearest step.\n * @param {number} value - The value to snap\n * @param {number} min - The minimum boundary\n * @param {number} max - The maximum boundary\n * @param {number} step - The step size\n * @returns {number} The snapped value\n */\nexport function snapToStep(\n value: number,\n min: number,\n max: number,\n step: number,\n): number {\n const clamped = clamp(value, min, max);\n const decimalPlaces = getDecimalPlaces(step);\n\n // To avoid floating point issues in calculations, we can work with integers\n // by multiplying all values by a power of 10 based on decimal places\n if (decimalPlaces > 0) {\n const multiplier = Math.pow(10, decimalPlaces);\n\n // Convert to integer-based calculation\n const scaledValue = Math.round((clamped - min) * multiplier);\n const scaledStep = Math.round(step * multiplier);\n\n // Round to nearest step using integer math\n const roundedSteps = Math.round(scaledValue / scaledStep);\n\n // Calculate snapped value and scale back down\n const scaledSnapped = roundedSteps * scaledStep;\n const snapped = min + scaledSnapped / multiplier;\n\n // Format to correct decimal places to ensure precision\n return clamp(parseFloat(snapped.toFixed(decimalPlaces)), min, max);\n }\n\n // For integer steps, use the original method\n const stepsFromMin = (clamped - min) / step;\n const roundedSteps = Math.round(stepsFromMin);\n const snapped = min + roundedSteps * step;\n\n return clamp(snapped, min, max);\n}\n\n/**\n * Generate tick values for the slider.\n * @param {number} min - The minimum value\n * @param {number} max - The maximum value\n * @param {number} step - The step size\n * @returns {number[]} Array of tick values\n */\nexport function generateTicks(\n min: number,\n max: number,\n step: number,\n): number[] {\n const ticks: number[] = [];\n for (let v = min; v <= max; v += step) {\n ticks.push(Number(v.toFixed(10))); // avoid floating point issues\n }\n if (ticks[ticks.length - 1] !== max) {\n ticks.push(max);\n }\n return ticks;\n}\n\n/**\n * Snap a value to the nearest tick mark.\n * @param {number} value - The value to snap\n * @param {object[]} ticks - Array of tick objects\n * @returns {number} The value of the closest tick\n */\nexport function snapToTicks(\n value: number,\n ticks: {\n /** The value of the tick */\n value: number;\n }[],\n) {\n if (!ticks || ticks.length === 0) return value;\n\n // Find the closest tick\n let closestTick = ticks[0].value;\n let minDistance = Math.abs(value - closestTick);\n\n for (const tick of ticks) {\n const distance = Math.abs(value - tick.value);\n if (distance < minDistance) {\n minDistance = distance;\n closestTick = tick.value;\n }\n }\n\n return closestTick;\n}\n\n/**\n * Format a numeric value for display, preserving trailing zeros based on step precision\n * @param {number} value - The value to format\n * @param {number} step - The step size that determines decimal precision\n * @returns {string} Formatted value string with appropriate decimal places\n */\nexport function formatValueForDisplay(value: number, step: number): string {\n const decimalPlaces = getDecimalPlaces(step);\n if (decimalPlaces > 0) {\n return value.toFixed(decimalPlaces);\n }\n return String(value);\n}\n","import { FunctionalComponent, h } from '@stencil/core';\nimport {\n valueToPercent,\n clamp,\n formatValueForDisplay,\n} from '../nv-fieldslider.utils';\n\n/**\n * Props for the SingleThumb component\n */\ninterface SingleThumbProps {\n /** Current value of the slider */\n value: number;\n /** Minimum allowed value */\n min: number;\n /** Maximum allowed value */\n max: number;\n /** Step size of the slider */\n step: number;\n /** Raw position during dragging */\n rawPosition: number;\n /** Whether the thumb is currently being dragged */\n isDragging: boolean;\n /** Whether the thumb should visually snap to steps */\n snap: boolean;\n /** Whether the slider is disabled */\n disabled: boolean;\n /** Whether the slider is readonly */\n readonly: boolean;\n /** Key down event handler */\n onKeyDown: (event: KeyboardEvent) => void;\n /** Label to display before the value */\n labelBeforeValue?: string;\n /** Label to display after the value */\n labelAfterValue?: string;\n}\n\n/**\n * Renders single thumb in standard mode.\n * @param {SingleThumbProps} props - Component properties\n * @returns {JSX.Element} JSX element representing the thumb\n */\nexport const SingleThumb: FunctionalComponent<SingleThumbProps> = props => {\n const {\n value,\n min,\n max,\n step,\n rawPosition,\n isDragging,\n snap,\n disabled,\n readonly,\n onKeyDown,\n labelBeforeValue,\n labelAfterValue,\n } = props;\n\n // Use raw position for visual display during dragging, but the snapped value otherwise\n let displayPosition = value;\n if (isDragging && !snap) {\n displayPosition = clamp(rawPosition, min, max);\n }\n\n const percent = valueToPercent(displayPosition, min, max);\n\n return (\n <div\n class=\"thumb\"\n style={{ left: `${percent}%` }}\n role=\"slider\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n aria-disabled={disabled ? 'true' : undefined}\n aria-readonly={readonly ? 'true' : undefined}\n tabindex={disabled ? -1 : 0}\n onKeyDown={onKeyDown}\n >\n <div class=\"thumb-tooltip\">\n {labelBeforeValue && (\n <span class=\"label-before\">{labelBeforeValue}</span>\n )}\n {formatValueForDisplay(value, step)}\n {labelAfterValue && <span class=\"label-after\">{labelAfterValue}</span>}\n </div>\n </div>\n );\n};\n","import { FunctionalComponent, h } from '@stencil/core';\nimport {\n valueToPercent,\n clamp,\n formatValueForDisplay,\n} from '../nv-fieldslider.utils';\n\n/**\n * Props for the RangeThumb component\n */\ninterface RangeThumbProps {\n /** Range values [left, right] */\n rangeValue: number[];\n /** Raw positions during dragging [left, right] */\n rawRangePosition: [number, number];\n /** Currently active thumb while dragging */\n activeDragThumb: 'left' | 'right' | 'single';\n /** Whether the thumb is currently being dragged */\n isDragging: boolean;\n /** Whether the thumb should visually snap to steps */\n snap: boolean;\n /** Minimum allowed value */\n min: number;\n /** Maximum allowed value */\n max: number;\n /** Step size of the slider */\n step: number;\n /** Whether the slider is disabled */\n disabled: boolean;\n /** Whether the slider is readonly */\n readonly: boolean;\n /** Key down event handler */\n onKeyDown: (event: KeyboardEvent) => void;\n /** Label to display before the value */\n labelBeforeValue?: string;\n /** Label to display after the value */\n labelAfterValue?: string;\n}\n\n/**\n * Renders dual thumbs in range mode.\n * @param {RangeThumbProps} props - Component properties\n * @returns {JSX.Element[]} Array of JSX elements representing the range slider thumbs\n */\nexport const RangeThumb: FunctionalComponent<RangeThumbProps> = props => {\n const {\n rangeValue,\n rawRangePosition,\n activeDragThumb,\n isDragging,\n snap,\n min,\n max,\n step,\n disabled,\n readonly,\n onKeyDown,\n labelBeforeValue,\n labelAfterValue,\n } = props;\n\n const [leftValue, rightValue] = rangeValue;\n\n // Use raw positions for visual display during dragging, but the snapped values otherwise\n let displayLeftPosition = leftValue;\n let displayRightPosition = rightValue;\n\n if (isDragging && !snap) {\n const [rawLeft, rawRight] = rawRangePosition;\n if (activeDragThumb === 'left') {\n displayLeftPosition = clamp(rawLeft, min, Math.min(rightValue, max));\n } else if (activeDragThumb === 'right') {\n displayRightPosition = clamp(rawRight, Math.max(leftValue, min), max);\n }\n }\n\n const leftPercent = valueToPercent(displayLeftPosition, min, max);\n const rightPercent = valueToPercent(displayRightPosition, min, max);\n\n return [\n <div\n class=\"track-range\"\n style={{\n left: `${leftPercent}%`,\n width: `${rightPercent - leftPercent}%`,\n }}\n />,\n <div\n class=\"thumb thumb-left\"\n style={{ left: `${leftPercent}%` }}\n role=\"slider\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={leftValue} // Always use the snapped value for ARIA\n aria-disabled={disabled ? 'true' : undefined}\n aria-readonly={readonly ? 'true' : undefined}\n data-thumb=\"left\"\n tabindex={disabled ? -1 : 0}\n onKeyDown={onKeyDown}\n >\n <div class=\"thumb-tooltip\">\n {labelBeforeValue && (\n <span class=\"label-before\">{labelBeforeValue}</span>\n )}\n {formatValueForDisplay(leftValue, step)}\n {labelAfterValue && <span class=\"label-after\">{labelAfterValue}</span>}\n </div>\n </div>,\n <div\n class=\"thumb thumb-right\"\n style={{ left: `${rightPercent}%` }}\n role=\"slider\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={rightValue} // Always use the snapped value for ARIA\n aria-disabled={disabled ? 'true' : undefined}\n aria-readonly={readonly ? 'true' : undefined}\n data-thumb=\"right\"\n tabindex={disabled ? -1 : 0}\n onKeyDown={onKeyDown}\n >\n <div class=\"thumb-tooltip\">\n {labelBeforeValue && (\n <span class=\"label-before\">{labelBeforeValue}</span>\n )}\n {formatValueForDisplay(rightValue, step)}\n {labelAfterValue && <span class=\"label-after\">{labelAfterValue}</span>}\n </div>\n </div>,\n ];\n};\n","import { FunctionalComponent, h } from '@stencil/core';\nimport { valueToPercent } from '../nv-fieldslider.utils';\n\n/**\n * Represents a tick mark on the slider\n */\ninterface Tick {\n /** The numeric value of the tick */\n value: number;\n /** Optional label for the tick */\n label?: string;\n}\n\n/**\n * Props for the TickMarks component\n */\ninterface TickMarksProps {\n /** Array of tick definitions */\n ticks: Tick[];\n /** Minimum allowed value */\n min: number;\n /** Maximum allowed value */\n max: number;\n}\n\n/**\n * Renders tick marks along the slider track.\n * @param {TickMarksProps} props - Component properties\n * @returns {JSX.Element | null} JSX element representing the tick marks or null if no ticks\n */\nexport const TickMarks: FunctionalComponent<TickMarksProps> = props => {\n const { ticks, min, max } = props;\n\n if (ticks.length === 0) {\n return null;\n }\n\n return (\n <div class=\"track-ticks\">\n {ticks.map(tick => {\n const percent = valueToPercent(tick.value, min, max);\n return (\n <div class=\"track-tick\" style={{ left: `${percent}%` }}>\n {tick.label && <div class=\"tick-label\">{tick.label}</div>}\n </div>\n );\n })}\n </div>\n );\n};\n","import { FunctionalComponent, h } from '@stencil/core';\n\n/**\n * Props for the FieldInput component\n */\ninterface FieldInputProps {\n /** Whether this is a range slider */\n range: boolean;\n /** Whether to show the input field */\n hasField: boolean;\n /** The value for single mode */\n value: number;\n /** The values for range mode [min, max] */\n rangeValue: number[];\n /** Index (0 or 1) for range mode, ignored in single mode */\n index?: number;\n /** ID for the input field */\n inputId: string;\n /** Minimum allowed value */\n min: number;\n /** Maximum allowed value */\n max: number;\n /** Step size */\n step: number;\n /** Whether the slider is disabled */\n disabled: boolean;\n /** Whether the slider is readonly */\n readonly: boolean;\n /** Handler for input changes */\n onInput: (event: Event) => void;\n /** Label to display before the value */\n labelBeforeValue?: string;\n /** Label to display after the value */\n labelAfterValue?: string;\n /** Name attribute for the input field (for form submission) */\n name?: string;\n /** Name attribute for the end input field (when in range mode) */\n endName?: string;\n}\n\n/**\n * Renders field input for direct value entry\n * @param {FieldInputProps} props - Component properties\n * @returns {JSX.Element} JSX element representing the field input\n */\nexport const FieldInput: FunctionalComponent<FieldInputProps> = props => {\n const {\n range,\n hasField,\n value,\n rangeValue,\n index,\n inputId,\n min,\n max,\n step,\n disabled,\n readonly,\n onInput,\n labelBeforeValue,\n labelAfterValue,\n name,\n endName,\n } = props;\n\n // Determine the appropriate value based on mode and index\n const fieldValue = range ? rangeValue[index] : value;\n\n // In range mode, we need data-index for event handling\n const dataAttrs = range ? { 'data-index': index.toString() } : {};\n\n // Determine the appropriate name based on mode and index\n let inputName: string;\n if (range) {\n if (index === 0) {\n inputName = name || '';\n } else {\n // Use endName if provided, otherwise append \"-end\" to the name\n inputName = endName || (name ? `${name}-end` : '');\n }\n } else {\n inputName = name || '';\n }\n\n // If hasField is false, only the containers are visible, not the input fields\n const containerClass = hasField\n ? 'input-container'\n : 'input-container hidden-input';\n\n return hasField ? (\n <div class={containerClass}>\n <nv-fieldnumber\n id={inputId}\n value={fieldValue}\n min={min}\n max={max}\n step={step}\n disabled={disabled}\n readonly={readonly}\n name={inputName}\n {...dataAttrs}\n onInput={onInput}\n >\n {labelBeforeValue && (\n <span class=\"label-before\" slot=\"leading-input\">\n {labelBeforeValue}\n </span>\n )}\n {labelAfterValue && (\n <span class=\"label-after\" slot=\"trailing-input\">\n {labelAfterValue}\n </span>\n )}\n </nv-fieldnumber>\n </div>\n ) : (\n <input\n id={inputId}\n type=\"hidden\"\n value={fieldValue}\n disabled={disabled}\n readonly={readonly}\n name={inputName}\n />\n );\n};\n","@use \"./mixins\" as *;\n\nnv-fieldslider {\n @include form-field-variables();\n @include form-field-root();\n\n .slider-container {\n @include slider-container-styles();\n\n .track-container {\n @include track-container-styles();\n\n .track {\n @include track-styles();\n .track-range {\n @include track-range-styles();\n }\n .thumb {\n @include thumb-styles();\n .thumb-tooltip {\n @include thumb-tooltip-styles();\n }\n &:hover, &:active, &:focus {\n .thumb-tooltip {\n opacity: 1;\n }\n }\n }\n }\n\n .track-ticks {\n @include track-ticks-styles();\n .track-tick {\n @include track-tick-styles();\n .tick-label {\n @include tick-label-styles();\n }\n }\n }\n }\n\n .input-container {\n @include form-field-input-container();\n @include input-container-styles();\n input {\n @include form-field-input();\n }\n .label-before {\n @include input-label-before-styles();\n }\n .label-after {\n @include input-label-after-styles();\n }\n }\n }\n\n &[fluid]:not([fluid=\"false\"]) {\n @include form-field-fluid();\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 &[readonly]:not([readonly=\"false\"]) {\n @include form-field-readonly-variables();\n .track,\n .thumb {\n cursor: default;\n }\n }\n\n label {\n @include form-field-label();\n }\n\n nv-icon.validation {\n @include form-field-icon();\n }\n\n &[hide-label]:not([hide-label=\"false\"]) label {\n @include form-field-hide-label();\n }\n\n &[has-field]:not([has-field=\"false\"]) {\n .thumb-tooltip {\n display: none;\n }\n }\n\n > .description {\n @include form-field-description();\n }\n\n > .error-description {\n @include form-field-error-description();\n &[hidden] {\n display: none;\n }\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n State,\n Watch,\n Element,\n} from '@stencil/core';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport {\n clamp,\n valueToPercent,\n snapToStep,\n generateTicks,\n snapToTicks,\n} from './nv-fieldslider.utils';\n\nimport { SingleThumb } from './partials/single-thumb';\nimport { RangeThumb } from './partials/range-thumb';\nimport { TickMarks } from './partials/tick-marks';\nimport { FieldInput } from './partials/field-input';\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-fieldslider',\n styleUrl: 'styles/nv-fieldslider.scss',\n shadow: false,\n formAssociated: true,\n})\nexport class NvFieldslider {\n @Element() el: HTMLNvFieldsliderElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the start input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated.\n */\n @Prop({ reflect: true })\n readonly startInputId: string = uuidv4();\n\n /**\n * Sets the ID for the end input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated.\n */\n @Prop({ reflect: true })\n readonly endInputId: string = uuidv4();\n\n /**\n * Provides a textual description of the slider's function, helping users\n * understand what the control adjusts. It also supports accessibility by\n * serving as the accessible name for the component.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Keeps the interface clean by removing visible labels, but still announces\n * the label to screen readers so users relying on assistive tech aren't left\n * guessing.\n */\n @Prop({ reflect: true })\n readonly hideLabel: boolean = false;\n\n /**\n * Add helpful hints or extra information under the slider. This is where you\n * can clarify what users should enter or provide additional instructions,\n * making the form easier to fill out correctly.\n */\n @Prop({ reflect: true })\n readonly description: string;\n\n /**\n * Enables an optional numeric input field alongside the slider, allowing\n * users to type a value directly instead of—or in addition to—using the\n * slider handle.\n */\n @Prop({ reflect: true })\n readonly hasField: boolean = false;\n\n /**\n * Allows the slider to display two thumbs, enabling users to select a\n * continuous range between a minimum and maximum value. Ideal for use cases\n * like filtering by price or time.\n */\n @Prop({ reflect: true })\n readonly range: boolean = false;\n\n /**\n * Disables user interaction with the slider and its associated input fields.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Makes the slider and input non-editable while keeping them focusable and\n * included in form submissions.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Alters the slider'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 slider.\n * @validator message\n */\n @Prop({ reflect: true })\n readonly errorDescription: string;\n\n /**\n * Changes the slider's appearance to indicate successful input or validation.\n */\n @Prop({ reflect: true })\n readonly success: boolean = false;\n\n /**\n * Numeric value of the slider as an array of numbers. When in single mode,\n * the value should be a an array of one number. When in range mode, the value\n * should be an array of two numbers.\n */\n @Prop({ reflect: true, mutable: true })\n value: number[] = [0];\n\n /**\n * Defines the interval between selectable values on the slider. Controls how\n * much the value increases or decreases with each keyboard interaction, drag\n * movement, or direct input.\n */\n @Prop({ reflect: true })\n readonly step: number = 1;\n\n /**\n * Controls whether the slider handle should visually snap to step values\n * during dragging. When false, the handle can be positioned at any point\n * along the track while dragging, but the actual value will still snap to the\n * nearest step value. When true, the handle will visually snap to the nearest\n * step value during dragging.\n */\n @Prop({ reflect: true })\n readonly snap: boolean = false;\n\n /**\n * When true and custom ticks are provided, the slider will snap to the nearest\n * tick value during dragging, instead of using the step value. This is useful\n * when you have custom ticks at specific values that don't align with regular step intervals.\n */\n @Prop({ reflect: true })\n readonly snapTicks: boolean = false;\n\n /**\n * Name attribute for the form input element. Required for form submission.\n * For range sliders, this will be used for the start value input and add -end\n * to the end input name.\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * Name attribute for the end value input when using range mode.\n * If not provided, the name attribute will be used with '-end' appended.\n */\n @Prop({ reflect: true })\n readonly endName: string;\n\n /**\n * Defines the minimum allowed value for the slider. The thumb cannot move\n * below this value, and manual input is also constrained accordingly.\n */\n @Prop({ reflect: true })\n readonly min: number = 0;\n\n /**\n * Defines the maximum allowed value for the slider. The thumb cannot move\n * above this value, and manual input is also constrained accordingly.\n */\n @Prop({ reflect: true })\n readonly max: number = 100;\n\n /**\n * Controls the visibility of tick marks on the slider. When enabled, all\n * visual ticks that indicate step points along the track are shown. If custom\n * ticks are provided, they are always shown regardless of this setting.\n */\n @Prop({ reflect: true })\n readonly showTicks: boolean = false;\n\n /**\n * Allows you to specify custom tick marks at specific values along the\n * slider. Each tick can optionally display a label to provide additional\n * context or guidance for users.\n */\n @Prop({ reflect: false })\n readonly ticks: {\n /** The numeric value of the tick */\n value: number;\n /** The label of the tick */\n label?: string;\n }[];\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 /**\n * Use this to automatically show a label, like \"~\" for approximate values,\n * before the slider's value in the tooltip or input, giving users quick\n * context about the number.\n */\n @Prop({ reflect: true })\n readonly labelBeforeValue: string;\n\n /**\n * Use this to automatically show a label, like \"$\" or \"kg,\" after the value\n * on the slider's tooltip or input, helping users better understand the\n * number.\n */\n @Prop({ reflect: true })\n readonly labelAfterValue: string;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region STATE\n\n @State()\n isDragging = false;\n\n @State()\n activeDragThumb: 'left' | 'right' | 'single' = 'single';\n\n @State()\n internalTicks: typeof this.ticks = [];\n\n // These track the raw slider positions for visual display\n @State()\n rawPosition = 0;\n\n @State()\n rawRangePosition: [number, number] = [0, 0];\n\n @State()\n valueInternal: number = 0;\n\n @State()\n rangeValueInternal: [number, number] = [0, 0];\n\n //#endregion STATE\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Ensures value is valid and within bounds.\n * @param {number} val - The value to validate\n * @returns {number} The validated and snapped value\n */\n private validateValue(val: number): number {\n // First ensure the value is within bounds\n const clampedValue = clamp(val, this.min, this.max);\n\n // If snapTicks is true and we have custom ticks, snap to the nearest tick\n if (this.snapTicks && this.internalTicks && this.internalTicks.length > 0) {\n return snapToTicks(clampedValue, this.internalTicks);\n }\n\n // Otherwise snap to step values\n return snapToStep(clampedValue, this.min, this.max, this.step);\n }\n\n /**\n * Parses the value string into a number or array of numbers for internal use.\n */\n private parseValue = (): void => {\n if (typeof this.value === 'string') {\n console.error(\n 'Sliders require a number or array of numbers to be passed in the value prop.',\n );\n return;\n }\n if (this.range && this.value.length !== 2) {\n console.error(\n 'Range sliders require an array of two values to be passed in the value prop.',\n );\n return;\n }\n\n if (!this.range && this.value.length !== 1) {\n console.error(\n 'Single sliders require a single value as an array to be passed in the value prop.',\n );\n return;\n }\n this.valueInternal = this.value[0];\n this.rangeValueInternal = [this.value[0], this.value[1]];\n };\n\n /**\n * Handles value changes from slider interaction.\n * @param {number | number[]} newValue - The new value or range values\n */\n private handleValueChange(newValue: number | number[]): void {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (this.range) {\n // Handle range values\n if (Array.isArray(newValue) && newValue.length === 2) {\n // Ensure values are in order (left ≤ right)\n const orderedValues = [\n Math.min(newValue[0], newValue[1]),\n Math.max(newValue[0], newValue[1]),\n ];\n\n // Snap to steps and clamp\n const validatedValues: [number, number] = [\n this.validateValue(orderedValues[0]),\n this.validateValue(orderedValues[1]),\n ];\n\n if (\n validatedValues[0] !== this.rangeValueInternal[0] ||\n validatedValues[1] !== this.rangeValueInternal[1]\n ) {\n this.rangeValueInternal = validatedValues;\n this.value = this.rangeValueInternal;\n this.valueChanged.emit(this.rangeValueInternal);\n }\n }\n } else {\n // Handle single value\n if (typeof newValue === 'number') {\n const validatedValue = this.validateValue(newValue);\n\n if (validatedValue !== this.valueInternal) {\n this.valueInternal = validatedValue;\n this.value = [this.valueInternal];\n this.valueChanged.emit([this.valueInternal]);\n }\n }\n }\n }\n\n /**\n * Generates the ticks to display based on props and state.\n */\n private generateDisplayTicks(): void {\n // If custom ticks are provided, always use them regardless of showTicks setting\n if (this.ticks && this.ticks.length > 0) {\n this.internalTicks = [...this.ticks].sort((a, b) => a.value - b.value);\n return;\n }\n\n // If showTicks is false and there are no custom ticks, hide all ticks\n if (!this.showTicks) {\n this.internalTicks = [];\n return;\n }\n\n // Generate all ticks at each step point\n const autoTicks = generateTicks(this.min, this.max, this.step);\n this.internalTicks = autoTicks.map(value => ({ value }));\n }\n\n /**\n * Handles pointer events on the track.\n * @param {PointerEvent} event - The pointer event\n */\n private onTrackInteraction = (event: PointerEvent): void => {\n if (this.disabled || this.readonly) {\n return;\n }\n\n const trackRect = (\n event.currentTarget as HTMLElement\n ).getBoundingClientRect();\n const percentage = clamp(\n ((event.clientX - trackRect.left) / trackRect.width) * 100,\n 0,\n 100,\n );\n\n const newValue = this.min + (percentage / 100) * (this.max - this.min);\n\n // Store raw position for visual display\n this.rawPosition = newValue;\n\n if (this.range) {\n // In range mode, determine which thumb to move based on proximity\n const leftPct = valueToPercent(\n this.rangeValueInternal[0],\n this.min,\n this.max,\n );\n const rightPct = valueToPercent(\n this.rangeValueInternal[1],\n this.min,\n this.max,\n );\n\n const distanceToLeft = Math.abs(percentage - leftPct);\n const distanceToRight = Math.abs(percentage - rightPct);\n\n if (distanceToLeft <= distanceToRight) {\n this.activeDragThumb = 'left';\n this.rawRangePosition = [newValue, this.rawRangePosition[1]];\n this.handleValueChange([newValue, this.rangeValueInternal[1]]);\n } else {\n this.activeDragThumb = 'right';\n this.rawRangePosition = [this.rawRangePosition[0], newValue];\n this.handleValueChange([this.rangeValueInternal[0], newValue]);\n }\n } else {\n this.activeDragThumb = 'single';\n this.rawPosition = newValue;\n this.handleValueChange(newValue);\n }\n\n this.isDragging = true;\n this.registerGlobalEvents();\n };\n\n /**\n * Handles pointer move events during drag.\n * @param {PointerEvent} event - The pointer event\n */\n private onPointerMove = (event: PointerEvent): void => {\n if (!this.isDragging || this.disabled || this.readonly) {\n return;\n }\n\n const trackElement = this.el.querySelector('.track') as HTMLElement;\n if (!trackElement) return;\n\n const trackRect = trackElement.getBoundingClientRect();\n const percentage = clamp(\n ((event.clientX - trackRect.left) / trackRect.width) * 100,\n 0,\n 100,\n );\n\n const newValue = this.min + (percentage / 100) * (this.max - this.min);\n\n // Update visual position\n if (this.range) {\n if (this.activeDragThumb === 'left') {\n this.rawRangePosition = [newValue, this.rawRangePosition[1]];\n this.handleValueChange([newValue, this.rangeValueInternal[1]]);\n } else {\n this.rawRangePosition = [this.rawRangePosition[0], newValue];\n this.handleValueChange([this.rangeValueInternal[0], newValue]);\n }\n } else {\n this.rawPosition = newValue;\n this.handleValueChange(newValue);\n }\n };\n\n /**\n * Handles the end of a drag operation.\n */\n private onPointerUp = (): void => {\n this.isDragging = false;\n this.removeGlobalEvents();\n };\n\n /**\n * Registers global events for tracking pointer movement.\n */\n private registerGlobalEvents(): void {\n document.addEventListener('pointermove', this.onPointerMove);\n document.addEventListener('pointerup', this.onPointerUp);\n document.addEventListener('pointercancel', this.onPointerUp);\n }\n\n /**\n * Removes global events when tracking ends.\n */\n private removeGlobalEvents(): void {\n document.removeEventListener('pointermove', this.onPointerMove);\n document.removeEventListener('pointerup', this.onPointerUp);\n document.removeEventListener('pointercancel', this.onPointerUp);\n }\n\n /**\n * Handles keydown events for keyboard accessibility.\n * @param {KeyboardEvent} event - The keyboard event\n */\n private onKeyDown = (event: KeyboardEvent): void => {\n if (this.disabled || this.readonly) {\n return;\n }\n\n let newValue: number | number[];\n const stepMultiplier = event.shiftKey ? 10 : 1;\n const singleStep = this.step * stepMultiplier;\n\n if (this.range) {\n const focusedThumb = (event.target as HTMLElement).getAttribute(\n 'data-thumb',\n );\n const idx = focusedThumb === 'left' ? 0 : 1;\n const currentValue = [...this.rangeValueInternal];\n\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n currentValue[idx] += singleStep;\n break;\n case 'ArrowLeft':\n case 'ArrowDown':\n currentValue[idx] -= singleStep;\n break;\n case 'Home':\n currentValue[idx] = this.min;\n break;\n case 'End':\n currentValue[idx] = this.max;\n break;\n case 'PageUp':\n currentValue[idx] += singleStep * 10;\n break;\n case 'PageDown':\n currentValue[idx] -= singleStep * 10;\n break;\n default:\n return;\n }\n\n newValue = currentValue;\n } else {\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n newValue = this.valueInternal + singleStep;\n break;\n case 'ArrowLeft':\n case 'ArrowDown':\n newValue = this.valueInternal - singleStep;\n break;\n case 'Home':\n newValue = this.min;\n break;\n case 'End':\n newValue = this.max;\n break;\n case 'PageUp':\n newValue = this.valueInternal + singleStep * 10;\n break;\n case 'PageDown':\n newValue = this.valueInternal - singleStep * 10;\n break;\n default:\n return;\n }\n }\n\n event.preventDefault();\n this.handleValueChange(newValue);\n };\n\n /**\n * Handles field input value changes.\n * @param {Event} event - The input event\n */\n private handleFieldChange = (event: Event): void => {\n const input = event.target as HTMLInputElement;\n const newValue = parseFloat(input.value);\n\n if (isNaN(newValue)) {\n return;\n }\n\n if (this.range) {\n const fieldIndex = input.getAttribute('data-index') === '0' ? 0 : 1;\n const updatedRange = [...this.rangeValueInternal];\n updatedRange[fieldIndex] = newValue;\n this.handleValueChange(updatedRange);\n } else {\n this.handleValueChange(newValue);\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('value')\n onValueChange() {\n this.parseValue();\n }\n\n @Watch('min')\n @Watch('max')\n @Watch('step')\n @Watch('ticks')\n @Watch('showTicks')\n @Watch('snap')\n @Watch('snapTicks')\n onConfigChange() {\n this.generateDisplayTicks();\n\n if (this.range) {\n this.handleValueChange(this.rangeValueInternal);\n } else {\n this.handleValueChange(this.valueInternal);\n }\n }\n\n @Watch('range')\n onRangeChange(newValue: boolean) {\n if (newValue) {\n // Switching to range mode\n this.rangeValueInternal = [this.min, this.valueInternal];\n } else {\n // Switching to single mode, take the higher value\n this.valueInternal = this.rangeValueInternal[1];\n }\n }\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n connectedCallback() {\n this.parseValue();\n this.generateDisplayTicks();\n\n // Initialize values and make sure they're valid\n if (this.range) {\n if (\n !Array.isArray(this.rangeValueInternal) ||\n this.rangeValueInternal.length !== 2\n ) {\n this.rangeValueInternal = [this.min, this.max];\n }\n this.handleValueChange(this.rangeValueInternal);\n // Initialize raw range position to match actual values\n this.rawRangePosition = [\n this.rangeValueInternal[0],\n this.rangeValueInternal[1],\n ];\n } else {\n this.handleValueChange(this.valueInternal);\n // Initialize raw position to match actual value\n this.rawPosition = this.valueInternal;\n }\n }\n\n componentWillLoad() {\n // Initialize value array based on range mode when props are available\n if (this.value.length === 1 && this.range) {\n // If range mode but only one value provided, duplicate it\n this.value = [this.value[0], this.value[0]];\n } else if (this.value.length === 2 && !this.range) {\n // If single mode but two values provided, take the first\n this.value = [this.value[0]];\n }\n }\n\n disconnectedCallback() {\n this.removeGlobalEvents();\n }\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the slider values change.\n * @bind value\n */\n @Event()\n valueChanged: EventEmitter<number[]>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.startInputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <div class=\"slider-container\">\n {/* First input (always render for the start value, but may be hidden) */}\n {this.range ? (\n <FieldInput\n range={this.range}\n hasField={this.hasField}\n value={this.valueInternal}\n rangeValue={this.rangeValueInternal}\n index={0}\n inputId={this.startInputId}\n min={this.min}\n max={this.max}\n step={this.step}\n disabled={this.disabled}\n readonly={this.readonly}\n onInput={this.handleFieldChange}\n labelBeforeValue={this.labelBeforeValue}\n labelAfterValue={this.labelAfterValue}\n name={this.name}\n endName={this.endName}\n />\n ) : null}\n\n <div class=\"track-container\">\n <div class=\"track\" onPointerDown={this.onTrackInteraction}>\n {this.range ? (\n <RangeThumb\n rangeValue={this.rangeValueInternal}\n rawRangePosition={this.rawRangePosition}\n activeDragThumb={this.activeDragThumb}\n isDragging={this.isDragging}\n snap={this.snap}\n min={this.min}\n max={this.max}\n step={this.step}\n disabled={this.disabled}\n readonly={this.readonly}\n onKeyDown={this.onKeyDown}\n labelBeforeValue={this.labelBeforeValue}\n labelAfterValue={this.labelAfterValue}\n />\n ) : (\n <SingleThumb\n value={this.valueInternal}\n min={this.min}\n max={this.max}\n step={this.step}\n rawPosition={this.rawPosition}\n isDragging={this.isDragging}\n snap={this.snap}\n disabled={this.disabled}\n readonly={this.readonly}\n onKeyDown={this.onKeyDown}\n labelBeforeValue={this.labelBeforeValue}\n labelAfterValue={this.labelAfterValue}\n />\n )}\n </div>\n\n <TickMarks\n ticks={this.internalTicks}\n min={this.min}\n max={this.max}\n />\n </div>\n\n {/* Second input (for range mode, or for single value if not already rendered) */}\n {this.range ? (\n <FieldInput\n range={this.range}\n hasField={this.hasField}\n value={this.valueInternal}\n rangeValue={this.rangeValueInternal}\n index={1}\n inputId={this.endInputId}\n min={this.min}\n max={this.max}\n step={this.step}\n disabled={this.disabled}\n readonly={this.readonly}\n onInput={this.handleFieldChange}\n labelBeforeValue={this.labelBeforeValue}\n labelAfterValue={this.labelAfterValue}\n name={this.name}\n endName={this.endName}\n />\n ) : (\n <FieldInput\n range={this.range}\n hasField={this.hasField}\n value={this.valueInternal}\n rangeValue={this.rangeValueInternal}\n inputId={this.startInputId}\n min={this.min}\n max={this.max}\n step={this.step}\n disabled={this.disabled}\n readonly={this.readonly}\n onInput={this.handleFieldChange}\n labelBeforeValue={this.labelBeforeValue}\n labelAfterValue={this.labelAfterValue}\n name={this.name}\n />\n )}\n </div>\n\n {(this.success ||\n this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n {this.success && (\n <nv-icon name=\"circle-check\" class=\"validation\" size=\"md\" />\n )}\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.error ||\n this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div class=\"error-description\" hidden={!this.error}>\n {this.error && (\n <nv-icon name=\"alert-circle\" class=\"validation\" size=\"md\" />\n )}\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":[]}
|