@nova-design-system/nova-webcomponents 3.12.0 → 3.13.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/collapse.animation-47397763.js +218 -0
- package/dist/cjs/collapse.animation-47397763.js.map +1 -0
- package/dist/cjs/{constants-aac59496.js → constants-52f6f8e9.js} +6 -1
- package/dist/cjs/constants-52f6f8e9.js.map +1 -0
- package/dist/cjs/fade.animation-cf6eba0d.js +726 -0
- package/dist/cjs/fade.animation-cf6eba0d.js.map +1 -0
- package/dist/cjs/{grow.animation-6d003803.js → grow.animation-9258ba63.js} +6 -5
- package/dist/cjs/grow.animation-9258ba63.js.map +1 -0
- package/dist/cjs/index-c56424e5.js +4 -0
- package/dist/cjs/index.cjs.js +16 -7
- 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 +72 -38
- package/dist/cjs/nv-accordion-item.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-accordion.cjs.entry.js +79 -65
- package/dist/cjs/nv-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-alert.cjs.entry.js +12 -12
- package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
- package/dist/cjs/nv-badge_2.cjs.entry.js +4 -4
- package/dist/cjs/nv-button.cjs.entry.js +1 -1
- package/dist/cjs/nv-calendar.cjs.entry.js +14 -10
- package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-datagrid.cjs.entry.js +1 -1
- package/dist/cjs/nv-dialog.cjs.entry.js +1 -1
- package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +9 -6
- package/dist/cjs/nv-dialogfooter_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +0 -30
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +1 -1
- package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldslider.cjs.entry.js +24 -16
- package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtime.cjs.entry.js +1 -1
- package/dist/cjs/nv-icon.cjs.entry.js +1 -1
- package/dist/cjs/nv-notification.cjs.entry.js +120 -0
- package/dist/cjs/nv-notification.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-popover.cjs.entry.js +4 -4
- 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-togglebutton.cjs.entry.js +1 -1
- package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +1 -1
- package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/slide.animation-bedfc827.js +70 -0
- package/dist/cjs/slide.animation-bedfc827.js.map +1 -0
- package/dist/cjs/{stylefire.es-717e022a.js → style-value-types.es-eea2f16f.js} +51 -696
- package/dist/cjs/style-value-types.es-eea2f16f.js.map +1 -0
- package/dist/cjs/{timeline.animation-155e8839.js → timeline.animation-2878afb6.js} +20 -1
- package/dist/cjs/timeline.animation-2878afb6.js.map +1 -0
- package/dist/collection/animations/collapse.animation.js +110 -50
- package/dist/collection/animations/collapse.animation.js.map +1 -1
- package/dist/collection/animations/index.js +1 -0
- package/dist/collection/animations/index.js.map +1 -1
- package/dist/collection/animations/slide.animation.js +65 -0
- package/dist/collection/animations/slide.animation.js.map +1 -0
- package/dist/collection/animations/timeline.animation.js +19 -1
- package/dist/collection/animations/timeline.animation.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/nv-accordion/nv-accordion.docs.js +78 -20
- package/dist/collection/components/nv-accordion/nv-accordion.docs.js.map +1 -1
- package/dist/collection/components/nv-accordion/nv-accordion.js +88 -68
- package/dist/collection/components/nv-accordion/nv-accordion.js.map +1 -1
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.js +70 -36
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +1 -1
- package/dist/collection/components/nv-accordion-item/styles/nv-accordion-item.css +3 -0
- package/dist/collection/components/nv-alert/nv-alert.css +1 -1
- package/dist/collection/components/nv-alert/nv-alert.js +6 -6
- package/dist/collection/components/nv-alert/nv-alert.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.css +4 -0
- package/dist/collection/components/nv-calendar/nv-calendar.docs.js +14 -0
- package/dist/collection/components/nv-calendar/nv-calendar.docs.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.js +47 -3
- package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
- package/dist/collection/components/nv-calendar/partials/calendar-actions.js +2 -2
- package/dist/collection/components/nv-calendar/partials/calendar-actions.js.map +1 -1
- package/dist/collection/components/nv-dialog/nv-dialog.docs.js +8 -0
- package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +1 -1
- package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +13 -11
- package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +0 -30
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +1 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +0 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +10 -10
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +1 -1
- package/dist/collection/components/nv-fieldslider/partials/field-input.js +13 -5
- package/dist/collection/components/nv-fieldslider/partials/field-input.js.map +1 -1
- package/dist/collection/components/nv-fieldslider/styles/nv-fieldslider.css +27 -0
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +0 -1
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js.map +1 -1
- package/dist/collection/components/nv-notification/nv-notification.docs.js +72 -0
- package/dist/collection/components/nv-notification/nv-notification.docs.js.map +1 -0
- package/dist/collection/components/nv-notification/nv-notification.js +333 -0
- package/dist/collection/components/nv-notification/nv-notification.js.map +1 -0
- package/dist/collection/components/nv-notification/styles/nv-notification.css +155 -0
- 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-togglebutton/nv-togglebutton.js +1 -1
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js +0 -1
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js.map +1 -1
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +1 -1
- package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
- package/dist/collection/utils/constants.js +5 -0
- package/dist/collection/utils/constants.js.map +1 -1
- package/dist/components/index.js +9 -6
- package/dist/components/index.js.map +1 -1
- package/dist/components/nv-accordion-item.js +1 -1
- package/dist/components/nv-accordion.js +88 -71
- package/dist/components/nv-accordion.js.map +1 -1
- package/dist/components/nv-alert.js +13 -13
- package/dist/components/nv-alert.js.map +1 -1
- package/dist/components/nv-avatar.js +2 -2
- package/dist/components/nv-badge.js +1 -1
- package/dist/components/nv-breadcrumb.js +2 -2
- package/dist/components/nv-button.js +1 -1
- package/dist/components/nv-calendar.js +1 -1
- package/dist/components/nv-datagrid.js +3 -3
- package/dist/components/nv-dialog.js +4 -4
- package/dist/components/nv-dialogfooter.js +1 -1
- package/dist/components/nv-fielddate.js +5 -5
- package/dist/components/nv-fielddaterange.js +5 -5
- package/dist/components/nv-fielddropdown.js +4 -4
- package/dist/components/nv-fielddropdownitem.js +1 -1
- package/dist/components/nv-fieldmultiselect.js +4 -34
- package/dist/components/nv-fieldmultiselect.js.map +1 -1
- package/dist/components/nv-fieldnumber.js +1 -1
- package/dist/components/nv-fieldpassword.js +2 -2
- package/dist/components/nv-fieldselect.js +2 -2
- package/dist/components/nv-fieldslider.js +27 -19
- package/dist/components/nv-fieldslider.js.map +1 -1
- package/dist/components/nv-fieldtext.js +1 -1
- package/dist/components/nv-fieldtime.js +4 -4
- package/dist/components/nv-icon.js +1 -1
- package/dist/components/nv-iconbutton.js +1 -1
- package/dist/components/nv-menu.js +3 -3
- package/dist/components/nv-menuitem.js +1 -1
- package/dist/components/nv-notification.d.ts +11 -0
- package/dist/components/nv-notification.js +150 -0
- package/dist/components/nv-notification.js.map +1 -0
- 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-togglebutton.js +1 -1
- package/dist/components/nv-togglebuttongroup.js +1 -1
- package/dist/components/nv-tooltip.js +1 -1
- package/dist/components/{p-2030d84d.js → p-0b5816f7.js} +2 -2
- package/dist/components/{p-2030d84d.js.map → p-0b5816f7.js.map} +1 -1
- package/dist/components/{p-5f594b35.js → p-2277cfc8.js} +7 -2
- package/dist/components/p-2277cfc8.js.map +1 -0
- package/dist/components/{p-57ae32bc.js → p-2854cf01.js} +2 -2
- package/dist/components/{p-57ae32bc.js.map → p-2854cf01.js.map} +1 -1
- package/dist/components/{p-095c8285.js → p-2de17259.js} +2 -2
- package/dist/components/{p-095c8285.js.map → p-2de17259.js.map} +1 -1
- package/dist/components/p-31591941.js +216 -0
- package/dist/components/p-31591941.js.map +1 -0
- package/dist/components/{p-09cdd71f.js → p-42ea6b74.js} +34 -688
- package/dist/components/p-42ea6b74.js.map +1 -0
- package/dist/components/{p-0b015832.js → p-5073bfd6.js} +2 -2
- package/dist/components/{p-0b015832.js.map → p-5073bfd6.js.map} +1 -1
- package/dist/components/{p-2ad58e41.js → p-60244646.js} +5 -5
- package/dist/components/{p-2ad58e41.js.map → p-60244646.js.map} +1 -1
- package/dist/components/{p-b2c31970.js → p-68fa3890.js} +17 -11
- package/dist/components/p-68fa3890.js.map +1 -0
- package/dist/components/{p-b7629769.js → p-89ac047e.js} +4 -4
- package/dist/components/p-89ac047e.js.map +1 -0
- package/dist/components/{p-7372258e.js → p-99a55bc4.js} +2 -2
- package/dist/components/{p-7372258e.js.map → p-99a55bc4.js.map} +1 -1
- package/dist/{esm/timeline.animation-adf35ecb.js → components/p-a52cd849.js} +20 -2
- package/dist/components/p-a52cd849.js.map +1 -0
- package/dist/components/{p-4c3dc7e4.js → p-a9dc0824.js} +13 -10
- package/dist/components/p-a9dc0824.js.map +1 -0
- package/dist/components/{p-b3035205.js → p-ca38a8a9.js} +2 -2
- package/dist/components/{p-b3035205.js.map → p-ca38a8a9.js.map} +1 -1
- package/dist/components/{p-84f4b071.js → p-ddd0a394.js} +75 -41
- package/dist/components/p-ddd0a394.js.map +1 -0
- package/dist/components/{p-ddb7aa4e.js → p-e4ac8333.js} +6 -6
- package/dist/components/{p-ddb7aa4e.js.map → p-e4ac8333.js.map} +1 -1
- package/dist/components/{p-dc5dad90.js → p-e6c04562.js} +2 -2
- package/dist/components/{p-dc5dad90.js.map → p-e6c04562.js.map} +1 -1
- package/dist/components/{p-87079346.js → p-eb443b26.js} +3 -3
- package/dist/components/{p-87079346.js.map → p-eb443b26.js.map} +1 -1
- package/dist/components/p-eda2f9f3.js +68 -0
- package/dist/components/p-eda2f9f3.js.map +1 -0
- package/dist/components/p-ee0df37f.js +723 -0
- package/dist/components/p-ee0df37f.js.map +1 -0
- package/dist/components/{p-8d45dbfe.js → p-fb560fa3.js} +3 -2
- package/dist/components/p-fb560fa3.js.map +1 -0
- package/dist/esm/collapse.animation-acda1bf5.js +216 -0
- package/dist/esm/collapse.animation-acda1bf5.js.map +1 -0
- package/dist/esm/{constants-a857c476.js → constants-d0f19e7b.js} +7 -2
- package/dist/esm/constants-d0f19e7b.js.map +1 -0
- package/dist/esm/fade.animation-eb454088.js +723 -0
- package/dist/esm/fade.animation-eb454088.js.map +1 -0
- package/dist/esm/{grow.animation-f7b26024.js → grow.animation-5b2abb3a.js} +3 -2
- package/dist/esm/grow.animation-5b2abb3a.js.map +1 -0
- package/dist/esm/index-a1936cd0.js +4 -0
- package/dist/esm/index.js +10 -7
- 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 +72 -38
- package/dist/esm/nv-accordion-item.entry.js.map +1 -1
- package/dist/esm/nv-accordion.entry.js +80 -66
- package/dist/esm/nv-accordion.entry.js.map +1 -1
- package/dist/esm/nv-alert.entry.js +12 -12
- package/dist/esm/nv-alert.entry.js.map +1 -1
- package/dist/esm/nv-avatar.entry.js +1 -1
- package/dist/esm/nv-badge_2.entry.js +4 -4
- package/dist/esm/nv-button.entry.js +1 -1
- package/dist/esm/nv-calendar.entry.js +14 -10
- package/dist/esm/nv-calendar.entry.js.map +1 -1
- package/dist/esm/nv-datagrid.entry.js +1 -1
- package/dist/esm/nv-dialog.entry.js +1 -1
- package/dist/esm/nv-dialogfooter_2.entry.js +9 -6
- package/dist/esm/nv-dialogfooter_2.entry.js.map +1 -1
- package/dist/esm/nv-fieldmultiselect.entry.js +0 -30
- package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldnumber.entry.js +1 -1
- package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
- package/dist/esm/nv-fieldslider.entry.js +24 -16
- package/dist/esm/nv-fieldslider.entry.js.map +1 -1
- package/dist/esm/nv-fieldtime.entry.js +1 -1
- package/dist/esm/nv-icon.entry.js +1 -1
- package/dist/esm/nv-notification.entry.js +116 -0
- package/dist/esm/nv-notification.entry.js.map +1 -0
- package/dist/esm/nv-popover.entry.js +4 -4
- 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-togglebutton.entry.js +1 -1
- package/dist/esm/nv-togglebuttongroup.entry.js +1 -1
- package/dist/esm/nv-tooltip.entry.js +1 -1
- package/dist/esm/slide.animation-f444aa0b.js +68 -0
- package/dist/esm/slide.animation-f444aa0b.js.map +1 -0
- package/dist/esm/{stylefire.es-74da334a.js → style-value-types.es-f5d10b79.js} +34 -688
- package/dist/esm/style-value-types.es-f5d10b79.js.map +1 -0
- package/dist/esm/timeline.animation-79215cd4.js +41 -0
- package/dist/esm/timeline.animation-79215cd4.js.map +1 -0
- 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-08582c21.entry.js +2 -0
- package/dist/native/p-08582c21.entry.js.map +1 -0
- package/dist/native/p-0a99c6fb.entry.js +2 -0
- package/dist/native/p-0a99c6fb.entry.js.map +1 -0
- package/dist/native/p-0e488b3d.entry.js +2 -0
- package/dist/native/p-0e488b3d.entry.js.map +1 -0
- package/dist/native/{p-3a8f65a9.entry.js → p-1f01fb64.entry.js} +2 -2
- package/dist/native/{p-c3ad7617.entry.js → p-225a05bf.entry.js} +2 -2
- package/dist/native/p-2277cfc8.js +2 -0
- package/dist/native/p-2277cfc8.js.map +1 -0
- package/dist/native/p-25f2ce81.entry.js +2 -0
- package/dist/native/{p-29ee7b1c.entry.js → p-29f68e07.entry.js} +2 -2
- package/dist/native/p-29f68e07.entry.js.map +1 -0
- package/dist/native/p-31591941.js +2 -0
- package/dist/native/p-31591941.js.map +1 -0
- package/dist/native/{p-63fea160.entry.js → p-33f503c5.entry.js} +2 -2
- package/dist/native/{p-43071c3b.entry.js → p-3784efdc.entry.js} +2 -2
- package/dist/native/{p-47901c83.entry.js → p-3f861ddc.entry.js} +2 -2
- package/dist/native/{p-ab1e1a96.entry.js → p-40c4a221.entry.js} +2 -2
- package/dist/native/p-42ea6b74.js +16 -0
- package/dist/native/p-42ea6b74.js.map +1 -0
- package/dist/native/{p-62aa0531.entry.js → p-52b8c872.entry.js} +2 -2
- package/dist/native/{p-e7a929e7.entry.js → p-5a43fe48.entry.js} +2 -2
- package/dist/native/{p-a63929db.entry.js → p-788e9ee5.entry.js} +3 -3
- package/dist/native/{p-f033c4ce.entry.js → p-7bbcf477.entry.js} +2 -2
- package/dist/native/p-8c823928.entry.js +2 -0
- package/dist/native/p-9a46baa9.entry.js +2 -0
- package/dist/native/p-9a46baa9.entry.js.map +1 -0
- package/dist/native/p-a52cd849.js +2 -0
- package/dist/native/p-a52cd849.js.map +1 -0
- package/dist/native/{p-48cf2457.entry.js → p-bb71a17f.entry.js} +2 -2
- package/dist/native/p-cfd5785e.entry.js +2 -0
- package/dist/native/p-cfd5785e.entry.js.map +1 -0
- package/dist/native/{p-bcff76ab.entry.js → p-d95ee31e.entry.js} +2 -2
- package/dist/native/p-da2c7d3c.entry.js +2 -0
- package/dist/native/p-da2c7d3c.entry.js.map +1 -0
- package/dist/native/p-eda2f9f3.js +2 -0
- package/dist/native/p-eda2f9f3.js.map +1 -0
- package/dist/native/p-ee0df37f.js +2 -0
- package/dist/native/p-ee0df37f.js.map +1 -0
- package/dist/native/p-ee516944.entry.js +2 -0
- package/dist/native/p-ee516944.entry.js.map +1 -0
- package/dist/native/p-f5120223.entry.js +2 -0
- package/dist/native/p-f5120223.entry.js.map +1 -0
- package/dist/native/{p-2d647761.entry.js → p-f5eb047e.entry.js} +2 -2
- package/dist/native/p-fb560fa3.js +2 -0
- package/dist/native/{p-8d45dbfe.js.map → p-fb560fa3.js.map} +1 -1
- package/dist/types/animations/collapse.animation.d.ts +10 -2
- package/dist/types/animations/index.d.ts +1 -0
- package/dist/types/animations/slide.animation.d.ts +11 -0
- package/dist/types/animations/timeline.animation.d.ts +17 -1
- package/dist/types/components/nv-accordion/nv-accordion.d.ts +5 -7
- package/dist/types/components/nv-accordion-item/nv-accordion-item.d.ts +23 -8
- package/dist/types/components/nv-alert/nv-alert.d.ts +1 -1
- package/dist/types/components/nv-calendar/nv-calendar.d.ts +4 -0
- package/dist/types/components/nv-calendar/partials/calendar-actions.d.ts +4 -0
- package/dist/types/components/nv-dialogfooter/nv-dialogfooter.d.ts +8 -4
- package/dist/types/components/nv-fieldslider/nv-fieldslider.d.ts +3 -2
- package/dist/types/components/nv-fieldslider/partials/field-input.d.ts +7 -3
- package/dist/types/components/nv-notification/nv-notification.d.ts +75 -0
- package/dist/types/components/nv-notification/nv-notification.docs.d.ts +4 -0
- package/dist/types/components.d.ts +142 -9
- package/dist/types/nova-docs.d.ts +6 -0
- package/dist/types/utils/constants.d.ts +4 -0
- package/dist/vscode-data.json +77 -3
- package/hydrate/index.js +642 -263
- package/hydrate/index.mjs +642 -263
- package/package.json +5 -1
- package/readme.md +169 -42
- package/dist/cjs/collapse.animation-a129dc3f.js +0 -86
- package/dist/cjs/collapse.animation-a129dc3f.js.map +0 -1
- package/dist/cjs/constants-aac59496.js.map +0 -1
- package/dist/cjs/fade.animation-644b5c4d.js +0 -70
- package/dist/cjs/fade.animation-644b5c4d.js.map +0 -1
- package/dist/cjs/grow.animation-6d003803.js.map +0 -1
- package/dist/cjs/stylefire.es-717e022a.js.map +0 -1
- package/dist/cjs/timeline.animation-155e8839.js.map +0 -1
- package/dist/components/p-09cdd71f.js.map +0 -1
- package/dist/components/p-15aeab4d.js +0 -23
- package/dist/components/p-15aeab4d.js.map +0 -1
- package/dist/components/p-1cbacdba.js +0 -68
- package/dist/components/p-1cbacdba.js.map +0 -1
- package/dist/components/p-4c3dc7e4.js.map +0 -1
- package/dist/components/p-5f594b35.js.map +0 -1
- package/dist/components/p-84f4b071.js.map +0 -1
- package/dist/components/p-8d45dbfe.js.map +0 -1
- package/dist/components/p-9a263d0e.js +0 -84
- package/dist/components/p-9a263d0e.js.map +0 -1
- package/dist/components/p-b2c31970.js.map +0 -1
- package/dist/components/p-b7629769.js.map +0 -1
- package/dist/esm/collapse.animation-16e3af45.js +0 -84
- package/dist/esm/collapse.animation-16e3af45.js.map +0 -1
- package/dist/esm/constants-a857c476.js.map +0 -1
- package/dist/esm/fade.animation-71e8e34c.js +0 -68
- package/dist/esm/fade.animation-71e8e34c.js.map +0 -1
- package/dist/esm/grow.animation-f7b26024.js.map +0 -1
- package/dist/esm/stylefire.es-74da334a.js.map +0 -1
- package/dist/esm/timeline.animation-adf35ecb.js.map +0 -1
- package/dist/native/p-09cdd71f.js +0 -16
- package/dist/native/p-09cdd71f.js.map +0 -1
- package/dist/native/p-0da8f0d1.entry.js +0 -2
- package/dist/native/p-0da8f0d1.entry.js.map +0 -1
- package/dist/native/p-15aeab4d.js +0 -2
- package/dist/native/p-15aeab4d.js.map +0 -1
- package/dist/native/p-1cbacdba.js +0 -2
- package/dist/native/p-1cbacdba.js.map +0 -1
- package/dist/native/p-29ee7b1c.entry.js.map +0 -1
- package/dist/native/p-38af3aaf.entry.js +0 -2
- package/dist/native/p-38af3aaf.entry.js.map +0 -1
- package/dist/native/p-3fcaac6d.entry.js +0 -2
- package/dist/native/p-3fcaac6d.entry.js.map +0 -1
- package/dist/native/p-5d352456.entry.js +0 -2
- package/dist/native/p-5f594b35.js +0 -2
- package/dist/native/p-5f594b35.js.map +0 -1
- package/dist/native/p-67d861e2.entry.js +0 -2
- package/dist/native/p-67d861e2.entry.js.map +0 -1
- package/dist/native/p-7703c736.entry.js +0 -2
- package/dist/native/p-7703c736.entry.js.map +0 -1
- package/dist/native/p-8d45dbfe.js +0 -2
- package/dist/native/p-9a263d0e.js +0 -2
- package/dist/native/p-9a263d0e.js.map +0 -1
- package/dist/native/p-9e0fe7e8.entry.js +0 -2
- package/dist/native/p-9e0fe7e8.entry.js.map +0 -1
- package/dist/native/p-ac5496e7.entry.js +0 -2
- package/dist/native/p-e603c6ed.entry.js +0 -2
- package/dist/native/p-e603c6ed.entry.js.map +0 -1
- /package/dist/native/{p-3a8f65a9.entry.js.map → p-1f01fb64.entry.js.map} +0 -0
- /package/dist/native/{p-c3ad7617.entry.js.map → p-225a05bf.entry.js.map} +0 -0
- /package/dist/native/{p-ac5496e7.entry.js.map → p-25f2ce81.entry.js.map} +0 -0
- /package/dist/native/{p-63fea160.entry.js.map → p-33f503c5.entry.js.map} +0 -0
- /package/dist/native/{p-43071c3b.entry.js.map → p-3784efdc.entry.js.map} +0 -0
- /package/dist/native/{p-47901c83.entry.js.map → p-3f861ddc.entry.js.map} +0 -0
- /package/dist/native/{p-ab1e1a96.entry.js.map → p-40c4a221.entry.js.map} +0 -0
- /package/dist/native/{p-62aa0531.entry.js.map → p-52b8c872.entry.js.map} +0 -0
- /package/dist/native/{p-e7a929e7.entry.js.map → p-5a43fe48.entry.js.map} +0 -0
- /package/dist/native/{p-a63929db.entry.js.map → p-788e9ee5.entry.js.map} +0 -0
- /package/dist/native/{p-f033c4ce.entry.js.map → p-7bbcf477.entry.js.map} +0 -0
- /package/dist/native/{p-5d352456.entry.js.map → p-8c823928.entry.js.map} +0 -0
- /package/dist/native/{p-48cf2457.entry.js.map → p-bb71a17f.entry.js.map} +0 -0
- /package/dist/native/{p-bcff76ab.entry.js.map → p-d95ee31e.entry.js.map} +0 -0
- /package/dist/native/{p-2d647761.entry.js.map → p-f5eb047e.entry.js.map} +0 -0
package/hydrate/index.mjs
CHANGED
|
@@ -2741,13 +2741,14 @@ class NvAccordion {
|
|
|
2741
2741
|
* Expansion mode: 'accordion' (single open) or 'multi' (multiple open)
|
|
2742
2742
|
*/
|
|
2743
2743
|
this.mode = 'accordion';
|
|
2744
|
+
/**
|
|
2745
|
+
* Index of open items (external control possible)
|
|
2746
|
+
*/
|
|
2747
|
+
this.openIndexes = [];
|
|
2744
2748
|
//#endregion PROPERTIES
|
|
2745
2749
|
/****************************************************************************/
|
|
2746
2750
|
//#region STATE
|
|
2747
|
-
|
|
2748
|
-
* Internal index of open items (not exposed)
|
|
2749
|
-
*/
|
|
2750
|
-
this.internalOpenIndexes = [];
|
|
2751
|
+
this.updatingFromInternal = false;
|
|
2751
2752
|
}
|
|
2752
2753
|
//#endregion EVENTS
|
|
2753
2754
|
/****************************************************************************/
|
|
@@ -2772,113 +2773,125 @@ class NvAccordion {
|
|
|
2772
2773
|
* @param {boolean} [forceOpen] Force open (true) or close (false)
|
|
2773
2774
|
*/
|
|
2774
2775
|
toggleItem(index, forceOpen) {
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2776
|
+
const items = Array.from(this.el.querySelectorAll('nv-accordion-item'));
|
|
2777
|
+
const item = items[index];
|
|
2778
|
+
if (!item || item.disabled) {
|
|
2779
|
+
console.warn('[toggleItem] Item not found or disabled:', index);
|
|
2780
|
+
this.openChanged.emit({ openIndexes: [...(this.openIndexes || [])] });
|
|
2781
|
+
return;
|
|
2782
|
+
}
|
|
2783
|
+
let openIndexes = [...(this.openIndexes || [])];
|
|
2778
2784
|
const isOpen = openIndexes.includes(index);
|
|
2779
2785
|
if (this.mode === 'accordion') {
|
|
2780
|
-
openIndexes =
|
|
2786
|
+
openIndexes =
|
|
2787
|
+
forceOpen === false || (forceOpen === undefined && isOpen)
|
|
2788
|
+
? []
|
|
2789
|
+
: [index];
|
|
2781
2790
|
}
|
|
2782
2791
|
else {
|
|
2783
2792
|
if (forceOpen === false) {
|
|
2784
2793
|
openIndexes = openIndexes.filter(i => i !== index);
|
|
2785
2794
|
}
|
|
2786
|
-
else if (!isOpen) {
|
|
2795
|
+
else if (forceOpen === true && !isOpen) {
|
|
2787
2796
|
openIndexes.push(index);
|
|
2788
2797
|
}
|
|
2798
|
+
else if (forceOpen === undefined) {
|
|
2799
|
+
openIndexes = isOpen
|
|
2800
|
+
? openIndexes.filter(i => i !== index)
|
|
2801
|
+
: [...openIndexes, index];
|
|
2802
|
+
}
|
|
2789
2803
|
}
|
|
2790
|
-
this.
|
|
2791
|
-
this.
|
|
2792
|
-
if (this.openIndexes !== undefined) {
|
|
2793
|
-
this.openIndexes =
|
|
2794
|
-
this.mode === 'accordion'
|
|
2795
|
-
? [openIndexes[0]].filter(x => x !== undefined)
|
|
2796
|
-
: [...openIndexes];
|
|
2797
|
-
}
|
|
2798
|
-
// Update child elements state - for both data and slot usage
|
|
2804
|
+
this.updatingFromInternal = true;
|
|
2805
|
+
this.openIndexes = [...openIndexes];
|
|
2799
2806
|
this.updateChildrenState();
|
|
2807
|
+
this.updatingFromInternal = false;
|
|
2808
|
+
this.openChanged.emit({ openIndexes: [...openIndexes] });
|
|
2800
2809
|
}
|
|
2801
2810
|
/**
|
|
2802
|
-
* Updates the open state of child elements based on
|
|
2811
|
+
* Updates the open state of child elements based on openIndexes
|
|
2803
2812
|
*/
|
|
2804
2813
|
async updateChildrenState() {
|
|
2805
|
-
|
|
2806
|
-
|
|
2814
|
+
const items = Array.from(this.el.querySelectorAll('nv-accordion-item'));
|
|
2815
|
+
items.forEach((item, i) => {
|
|
2816
|
+
const shouldBeOpen = (this.openIndexes || []).includes(i);
|
|
2817
|
+
item.open = shouldBeOpen;
|
|
2818
|
+
item.mode = this.mode;
|
|
2819
|
+
item.setAttribute('aria-expanded', shouldBeOpen ? 'true' : 'false');
|
|
2820
|
+
});
|
|
2807
2821
|
}
|
|
2808
2822
|
/**
|
|
2809
2823
|
* Listens to itemToggle events from nv-accordion-item elements
|
|
2810
2824
|
* @param {CustomEvent<boolean>} event Event emitted by nv-accordion-item
|
|
2811
2825
|
*/
|
|
2812
2826
|
onItemToggle(event) {
|
|
2813
|
-
|
|
2827
|
+
if (this.updatingFromInternal) {
|
|
2828
|
+
return;
|
|
2829
|
+
}
|
|
2814
2830
|
const items = Array.from(this.el.querySelectorAll('nv-accordion-item'));
|
|
2815
2831
|
const targetItem = event.target;
|
|
2816
2832
|
const index = items.indexOf(targetItem);
|
|
2817
2833
|
if (index !== -1) {
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
items.forEach((item, i) => {
|
|
2823
|
-
if (i !== index && item.open) {
|
|
2824
|
-
item.open = false;
|
|
2825
|
-
}
|
|
2826
|
-
});
|
|
2827
|
-
this.internalOpenIndexes = [index];
|
|
2828
|
-
}
|
|
2829
|
-
else {
|
|
2830
|
-
// Add index to internalOpenIndexes if not already present
|
|
2831
|
-
if (!this.internalOpenIndexes.includes(index)) {
|
|
2832
|
-
this.internalOpenIndexes = [...this.internalOpenIndexes, index];
|
|
2833
|
-
}
|
|
2834
|
-
}
|
|
2835
|
-
}
|
|
2836
|
-
else {
|
|
2837
|
-
// If the item is closing, remove it from internalOpenIndexes
|
|
2838
|
-
this.internalOpenIndexes = this.internalOpenIndexes.filter(i => i !== index);
|
|
2839
|
-
}
|
|
2840
|
-
// Emit openChanged event
|
|
2841
|
-
this.openChanged.emit({ openIndexes: this.internalOpenIndexes });
|
|
2842
|
-
if (this.openIndexes !== undefined) {
|
|
2843
|
-
this.openIndexes =
|
|
2844
|
-
this.mode === 'accordion'
|
|
2845
|
-
? [this.internalOpenIndexes[0]].filter(x => x !== undefined)
|
|
2846
|
-
: [...this.internalOpenIndexes];
|
|
2847
|
-
}
|
|
2834
|
+
this.toggleItem(index, event.detail);
|
|
2835
|
+
}
|
|
2836
|
+
else {
|
|
2837
|
+
console.warn('[onItemToggle] Target item not found in items list');
|
|
2848
2838
|
}
|
|
2849
2839
|
}
|
|
2850
2840
|
//#endregion METHODS
|
|
2851
2841
|
/****************************************************************************/
|
|
2852
2842
|
//#region WATCHERS
|
|
2843
|
+
onOpenIndexesChange(newValue, oldValue) {
|
|
2844
|
+
if (!this.updatingFromInternal &&
|
|
2845
|
+
newValue !== undefined &&
|
|
2846
|
+
newValue !== oldValue) {
|
|
2847
|
+
this.updateChildrenState();
|
|
2848
|
+
}
|
|
2849
|
+
}
|
|
2850
|
+
onModeChange() {
|
|
2851
|
+
this.updateChildrenState();
|
|
2852
|
+
}
|
|
2853
2853
|
//#endregion WATCHERS
|
|
2854
2854
|
/****************************************************************************/
|
|
2855
2855
|
//#region LIFECYCLE
|
|
2856
2856
|
componentWillLoad() {
|
|
2857
|
-
if (this.openIndexes
|
|
2858
|
-
this.
|
|
2859
|
-
}
|
|
2860
|
-
}
|
|
2861
|
-
componentDidLoad() {
|
|
2862
|
-
// If using direct child elements, initialize their state
|
|
2863
|
-
if (!this.data || this.data.length === 0) {
|
|
2864
|
-
this.updateChildrenState();
|
|
2857
|
+
if (this.openIndexes === undefined) {
|
|
2858
|
+
this.openIndexes = [];
|
|
2865
2859
|
}
|
|
2866
2860
|
}
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2861
|
+
async componentDidLoad() {
|
|
2862
|
+
var _a;
|
|
2863
|
+
const items = Array.from(this.el.querySelectorAll('nv-accordion-item'));
|
|
2864
|
+
// Only initialize openIndexes from child items if no data is provided and openIndexes is not explicitly set
|
|
2865
|
+
if (!((_a = this.data) === null || _a === void 0 ? void 0 : _a.length) &&
|
|
2866
|
+
(!this.openIndexes || this.openIndexes.length === 0)) {
|
|
2867
|
+
const childOpenIndexes = items
|
|
2868
|
+
.map((item, i) => (item.hasAttribute('open') || item.open ? i : -1))
|
|
2869
|
+
.filter(i => i !== -1);
|
|
2870
|
+
if (childOpenIndexes.length > 0) {
|
|
2871
|
+
this.updatingFromInternal = true;
|
|
2872
|
+
this.openIndexes = [...childOpenIndexes];
|
|
2873
|
+
this.updatingFromInternal = false;
|
|
2874
|
+
this.openChanged.emit({ openIndexes: [...this.openIndexes] });
|
|
2875
|
+
}
|
|
2876
|
+
}
|
|
2877
|
+
// Ensure children are in sync with current openIndexes state
|
|
2878
|
+
await this.updateChildrenState();
|
|
2871
2879
|
}
|
|
2872
2880
|
//#endregion LIFECYCLE
|
|
2873
2881
|
/****************************************************************************/
|
|
2874
2882
|
//#region RENDER
|
|
2875
2883
|
render() {
|
|
2876
|
-
|
|
2884
|
+
var _a;
|
|
2885
|
+
return (hAsync(Host, { key: 'b5c36f19bcbd0d06e9d924ae6f9630b8b6cae05a', role: "list", class: "nv-accordion" }, ((_a = this.data) === null || _a === void 0 ? void 0 : _a.length) ? (this.data.map((item, i) => {
|
|
2877
2886
|
var _a;
|
|
2878
|
-
return (hAsync("nv-accordion-item", { key: (_a = item.id) !== null && _a !== void 0 ? _a : i, itemTitle: item.title, disabled: item.disabled, open: (this.
|
|
2887
|
+
return (hAsync("nv-accordion-item", { key: (_a = item.id) !== null && _a !== void 0 ? _a : i, itemTitle: item.title, disabled: item.disabled, open: (this.openIndexes || []).includes(i), mode: this.mode }, item.subtitle ? (hAsync("div", { slot: "header" }, hAsync("div", { class: "nv-accordion-item__header-content" }, hAsync("span", { class: "nv-accordion-item__title" }, item.title), hAsync("span", { class: "nv-accordion-item__subtitle" }, item.subtitle)))) : null, hAsync("div", { slot: "content" }, item.content), item.footer && hAsync("div", { slot: "footer" }, item.footer)));
|
|
2879
2888
|
})) : (hAsync("slot", null))));
|
|
2880
2889
|
}
|
|
2881
2890
|
get el() { return getElement(this); }
|
|
2891
|
+
static get watchers() { return {
|
|
2892
|
+
"openIndexes": ["onOpenIndexesChange"],
|
|
2893
|
+
"mode": ["onModeChange"]
|
|
2894
|
+
}; }
|
|
2882
2895
|
static get style() { return NvAccordionStyle0; }
|
|
2883
2896
|
static get cmpMeta() { return {
|
|
2884
2897
|
"$flags$": 4,
|
|
@@ -2887,7 +2900,7 @@ class NvAccordion {
|
|
|
2887
2900
|
"data": [16],
|
|
2888
2901
|
"mode": [513],
|
|
2889
2902
|
"openIndexes": [1040],
|
|
2890
|
-
"
|
|
2903
|
+
"updatingFromInternal": [32],
|
|
2891
2904
|
"open": [64],
|
|
2892
2905
|
"close": [64]
|
|
2893
2906
|
},
|
|
@@ -3547,8 +3560,9 @@ const DEFAULT_OVERSHOOT_STRENGTH = 1.525;
|
|
|
3547
3560
|
const BOUNCE_FIRST_THRESHOLD = 4.0 / 11.0;
|
|
3548
3561
|
const BOUNCE_SECOND_THRESHOLD = 8.0 / 11.0;
|
|
3549
3562
|
const BOUNCE_THIRD_THRESHOLD = 9.0 / 10.0;
|
|
3563
|
+
const linear = p => p;
|
|
3550
3564
|
const easeIn = createExpoIn(2);
|
|
3551
|
-
reverseEasing(easeIn);
|
|
3565
|
+
const easeOut = reverseEasing(easeIn);
|
|
3552
3566
|
const easeInOut = mirrorEasing(easeIn);
|
|
3553
3567
|
const circIn = p => 1 - Math.sin(Math.acos(p));
|
|
3554
3568
|
const circOut = reverseEasing(circIn);
|
|
@@ -3868,6 +3882,217 @@ function animate(_a) {
|
|
|
3868
3882
|
};
|
|
3869
3883
|
}
|
|
3870
3884
|
|
|
3885
|
+
const a = (a1, a2) => 1.0 - 3.0 * a2 + 3.0 * a1;
|
|
3886
|
+
const b = (a1, a2) => 3.0 * a2 - 6.0 * a1;
|
|
3887
|
+
const c = (a1) => 3.0 * a1;
|
|
3888
|
+
const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;
|
|
3889
|
+
const getSlope = (t, a1, a2) => 3.0 * a(a1, a2) * t * t + 2.0 * b(a1, a2) * t + c(a1);
|
|
3890
|
+
const subdivisionPrecision = 0.0000001;
|
|
3891
|
+
const subdivisionMaxIterations = 10;
|
|
3892
|
+
function binarySubdivide(aX, aA, aB, mX1, mX2) {
|
|
3893
|
+
let currentX;
|
|
3894
|
+
let currentT;
|
|
3895
|
+
let i = 0;
|
|
3896
|
+
do {
|
|
3897
|
+
currentT = aA + (aB - aA) / 2.0;
|
|
3898
|
+
currentX = calcBezier(currentT, mX1, mX2) - aX;
|
|
3899
|
+
if (currentX > 0.0) {
|
|
3900
|
+
aB = currentT;
|
|
3901
|
+
}
|
|
3902
|
+
else {
|
|
3903
|
+
aA = currentT;
|
|
3904
|
+
}
|
|
3905
|
+
} while (Math.abs(currentX) > subdivisionPrecision &&
|
|
3906
|
+
++i < subdivisionMaxIterations);
|
|
3907
|
+
return currentT;
|
|
3908
|
+
}
|
|
3909
|
+
const newtonIterations = 8;
|
|
3910
|
+
const newtonMinSlope = 0.001;
|
|
3911
|
+
function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {
|
|
3912
|
+
for (let i = 0; i < newtonIterations; ++i) {
|
|
3913
|
+
const currentSlope = getSlope(aGuessT, mX1, mX2);
|
|
3914
|
+
if (currentSlope === 0.0) {
|
|
3915
|
+
return aGuessT;
|
|
3916
|
+
}
|
|
3917
|
+
const currentX = calcBezier(aGuessT, mX1, mX2) - aX;
|
|
3918
|
+
aGuessT -= currentX / currentSlope;
|
|
3919
|
+
}
|
|
3920
|
+
return aGuessT;
|
|
3921
|
+
}
|
|
3922
|
+
const kSplineTableSize = 11;
|
|
3923
|
+
const kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);
|
|
3924
|
+
function cubicBezier(mX1, mY1, mX2, mY2) {
|
|
3925
|
+
if (mX1 === mY1 && mX2 === mY2)
|
|
3926
|
+
return linear;
|
|
3927
|
+
const sampleValues = new Float32Array(kSplineTableSize);
|
|
3928
|
+
for (let i = 0; i < kSplineTableSize; ++i) {
|
|
3929
|
+
sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
|
|
3930
|
+
}
|
|
3931
|
+
function getTForX(aX) {
|
|
3932
|
+
let intervalStart = 0.0;
|
|
3933
|
+
let currentSample = 1;
|
|
3934
|
+
const lastSample = kSplineTableSize - 1;
|
|
3935
|
+
for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {
|
|
3936
|
+
intervalStart += kSampleStepSize;
|
|
3937
|
+
}
|
|
3938
|
+
--currentSample;
|
|
3939
|
+
const dist = (aX - sampleValues[currentSample]) /
|
|
3940
|
+
(sampleValues[currentSample + 1] - sampleValues[currentSample]);
|
|
3941
|
+
const guessForT = intervalStart + dist * kSampleStepSize;
|
|
3942
|
+
const initialSlope = getSlope(guessForT, mX1, mX2);
|
|
3943
|
+
if (initialSlope >= newtonMinSlope) {
|
|
3944
|
+
return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
|
|
3945
|
+
}
|
|
3946
|
+
else if (initialSlope === 0.0) {
|
|
3947
|
+
return guessForT;
|
|
3948
|
+
}
|
|
3949
|
+
else {
|
|
3950
|
+
return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);
|
|
3951
|
+
}
|
|
3952
|
+
}
|
|
3953
|
+
return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);
|
|
3954
|
+
}
|
|
3955
|
+
|
|
3956
|
+
/**
|
|
3957
|
+
* Read current box metrics (height + vertical margins).
|
|
3958
|
+
* @param {HTMLElement} node - The element to measure.
|
|
3959
|
+
* @returns {object} The box metrics.
|
|
3960
|
+
*/
|
|
3961
|
+
function getBoxMetrics(node) {
|
|
3962
|
+
const rectHeight = node.getBoundingClientRect().height;
|
|
3963
|
+
const style = getComputedStyle(node);
|
|
3964
|
+
const marginTop = parseFloat(style.marginTop) || 0;
|
|
3965
|
+
const marginBottom = parseFloat(style.marginBottom) || 0;
|
|
3966
|
+
const total = rectHeight + marginTop + marginBottom;
|
|
3967
|
+
return { height: rectHeight, marginTop, marginBottom, total };
|
|
3968
|
+
}
|
|
3969
|
+
const useCollapse = (node, { duration = 200, overflow = 'hidden' } = {}) => {
|
|
3970
|
+
let currentAnimation = null;
|
|
3971
|
+
const stop = () => {
|
|
3972
|
+
if (currentAnimation) {
|
|
3973
|
+
currentAnimation.stop();
|
|
3974
|
+
currentAnimation = null;
|
|
3975
|
+
}
|
|
3976
|
+
};
|
|
3977
|
+
const setStyle = (styles) => {
|
|
3978
|
+
for (const [k, v] of Object.entries(styles)) {
|
|
3979
|
+
node.style[k] = v;
|
|
3980
|
+
}
|
|
3981
|
+
};
|
|
3982
|
+
/** Instantly apply collapsed styles (no animation). */
|
|
3983
|
+
function setCollapsed() {
|
|
3984
|
+
stop();
|
|
3985
|
+
setStyle({
|
|
3986
|
+
height: '0px',
|
|
3987
|
+
marginTop: '0px',
|
|
3988
|
+
marginBottom: '0px',
|
|
3989
|
+
overflow,
|
|
3990
|
+
});
|
|
3991
|
+
}
|
|
3992
|
+
/** Instantly apply expanded styles (no animation). */
|
|
3993
|
+
function setExpanded() {
|
|
3994
|
+
stop();
|
|
3995
|
+
setStyle({
|
|
3996
|
+
height: '',
|
|
3997
|
+
marginTop: '',
|
|
3998
|
+
marginBottom: '',
|
|
3999
|
+
overflow: '',
|
|
4000
|
+
});
|
|
4001
|
+
}
|
|
4002
|
+
/**
|
|
4003
|
+
* Collapse: animate from current box (height + margins) down to 0.
|
|
4004
|
+
*/
|
|
4005
|
+
function collapse() {
|
|
4006
|
+
stop();
|
|
4007
|
+
return new Promise(resolve => {
|
|
4008
|
+
const { height, marginTop, marginBottom, total } = getBoxMetrics(node);
|
|
4009
|
+
// Lock current box
|
|
4010
|
+
setStyle({
|
|
4011
|
+
height: `${height}px`,
|
|
4012
|
+
marginTop: `${marginTop}px`,
|
|
4013
|
+
marginBottom: `${marginBottom}px`,
|
|
4014
|
+
overflow,
|
|
4015
|
+
willChange: 'height, margin',
|
|
4016
|
+
});
|
|
4017
|
+
const denom = total > 0 ? total : 0.0001; // avoid divide-by-zero
|
|
4018
|
+
currentAnimation = animate({
|
|
4019
|
+
from: total,
|
|
4020
|
+
to: 0,
|
|
4021
|
+
duration,
|
|
4022
|
+
ease: cubicBezier(0.2, 0, 0, 1),
|
|
4023
|
+
onUpdate: v => {
|
|
4024
|
+
const ratio = v / denom;
|
|
4025
|
+
setStyle({
|
|
4026
|
+
height: `${height * ratio}px`,
|
|
4027
|
+
marginTop: `${marginTop * ratio}px`,
|
|
4028
|
+
marginBottom: `${marginBottom * ratio}px`,
|
|
4029
|
+
});
|
|
4030
|
+
},
|
|
4031
|
+
onComplete: () => {
|
|
4032
|
+
setStyle({
|
|
4033
|
+
height: '0px',
|
|
4034
|
+
marginTop: '0px',
|
|
4035
|
+
marginBottom: '0px',
|
|
4036
|
+
willChange: '',
|
|
4037
|
+
});
|
|
4038
|
+
resolve();
|
|
4039
|
+
},
|
|
4040
|
+
});
|
|
4041
|
+
});
|
|
4042
|
+
}
|
|
4043
|
+
/**
|
|
4044
|
+
* Expand: animate from 0 box to the element's natural box (height + margins),
|
|
4045
|
+
* then restore `height: auto` and computed margins.
|
|
4046
|
+
*/
|
|
4047
|
+
function expand() {
|
|
4048
|
+
stop();
|
|
4049
|
+
return new Promise(resolve => {
|
|
4050
|
+
// Let the element size naturally to measure the target box
|
|
4051
|
+
setStyle({
|
|
4052
|
+
height: '',
|
|
4053
|
+
marginTop: '',
|
|
4054
|
+
marginBottom: '',
|
|
4055
|
+
overflow,
|
|
4056
|
+
});
|
|
4057
|
+
const { height, marginTop, marginBottom, total } = getBoxMetrics(node);
|
|
4058
|
+
// Start locked at zero box
|
|
4059
|
+
setStyle({
|
|
4060
|
+
height: '0px',
|
|
4061
|
+
marginTop: '0px',
|
|
4062
|
+
marginBottom: '0px',
|
|
4063
|
+
willChange: 'height, margin',
|
|
4064
|
+
});
|
|
4065
|
+
const denom = total > 0 ? total : 0.0001;
|
|
4066
|
+
currentAnimation = animate({
|
|
4067
|
+
from: 0,
|
|
4068
|
+
to: total,
|
|
4069
|
+
duration,
|
|
4070
|
+
ease: cubicBezier(0.2, 0, 0, 1),
|
|
4071
|
+
onUpdate: v => {
|
|
4072
|
+
const ratio = v / denom;
|
|
4073
|
+
setStyle({
|
|
4074
|
+
height: `${height * ratio}px`,
|
|
4075
|
+
marginTop: `${marginTop * ratio}px`,
|
|
4076
|
+
marginBottom: `${marginBottom * ratio}px`,
|
|
4077
|
+
});
|
|
4078
|
+
},
|
|
4079
|
+
onComplete: () => {
|
|
4080
|
+
// Restore natural layout
|
|
4081
|
+
setStyle({
|
|
4082
|
+
height: '',
|
|
4083
|
+
marginTop: '',
|
|
4084
|
+
marginBottom: '',
|
|
4085
|
+
overflow: '',
|
|
4086
|
+
willChange: '',
|
|
4087
|
+
});
|
|
4088
|
+
resolve();
|
|
4089
|
+
},
|
|
4090
|
+
});
|
|
4091
|
+
});
|
|
4092
|
+
}
|
|
4093
|
+
return { collapse, expand, setCollapsed, setExpanded };
|
|
4094
|
+
};
|
|
4095
|
+
|
|
3871
4096
|
/*! *****************************************************************************
|
|
3872
4097
|
Copyright (c) Microsoft Corporation.
|
|
3873
4098
|
|
|
@@ -4702,85 +4927,6 @@ function index(nodeOrSelector, props) {
|
|
|
4702
4927
|
return getStyler(node, props);
|
|
4703
4928
|
}
|
|
4704
4929
|
|
|
4705
|
-
const useCollapse = (node, { duration } = { duration: 200 }) => {
|
|
4706
|
-
const nodeStyler = index(node);
|
|
4707
|
-
/**
|
|
4708
|
-
* Will set the overflow to hidden, and animate the max height to 0. Make sure
|
|
4709
|
-
* the element has no border or y padding set, otherwise the animation will
|
|
4710
|
-
* not work as expected.
|
|
4711
|
-
*/
|
|
4712
|
-
function collapse() {
|
|
4713
|
-
return new Promise(resolve => {
|
|
4714
|
-
const height = node.getBoundingClientRect().height;
|
|
4715
|
-
nodeStyler.set({ overflow: 'hidden' });
|
|
4716
|
-
animate({
|
|
4717
|
-
from: height,
|
|
4718
|
-
to: 0,
|
|
4719
|
-
duration,
|
|
4720
|
-
onUpdate: value => {
|
|
4721
|
-
nodeStyler.set({
|
|
4722
|
-
maxHeight: value,
|
|
4723
|
-
});
|
|
4724
|
-
},
|
|
4725
|
-
onComplete: () => {
|
|
4726
|
-
resolve();
|
|
4727
|
-
},
|
|
4728
|
-
});
|
|
4729
|
-
});
|
|
4730
|
-
}
|
|
4731
|
-
/**
|
|
4732
|
-
* Apply the collapsed styles without animating, useful when initial state
|
|
4733
|
-
* is collapsed.
|
|
4734
|
-
*/
|
|
4735
|
-
function setCollapsed() {
|
|
4736
|
-
node.style.maxHeight = '0';
|
|
4737
|
-
node.style.overflow = 'hidden';
|
|
4738
|
-
}
|
|
4739
|
-
/**
|
|
4740
|
-
* Apply the expanded styles without animating, useful when initial state
|
|
4741
|
-
* is expanded.
|
|
4742
|
-
*/
|
|
4743
|
-
function setExpanded() {
|
|
4744
|
-
node.style.maxHeight = '';
|
|
4745
|
-
node.style.overflow = '';
|
|
4746
|
-
}
|
|
4747
|
-
/**
|
|
4748
|
-
* Will set the overflow to hidden, and animate the max height to the value
|
|
4749
|
-
* of the scrollHeight. Make sure the element has no border or y padding set,
|
|
4750
|
-
* otherwise the animation will not work as expected. Once complete, the
|
|
4751
|
-
* max-height and overflow style properties will be removed.
|
|
4752
|
-
*/
|
|
4753
|
-
function expand() {
|
|
4754
|
-
return new Promise(resolve => {
|
|
4755
|
-
const scrollHeight = node.scrollHeight;
|
|
4756
|
-
nodeStyler.set({
|
|
4757
|
-
overflow: 'hidden',
|
|
4758
|
-
});
|
|
4759
|
-
animate({
|
|
4760
|
-
from: 0,
|
|
4761
|
-
to: scrollHeight,
|
|
4762
|
-
duration,
|
|
4763
|
-
onUpdate: value => {
|
|
4764
|
-
nodeStyler.set({
|
|
4765
|
-
maxHeight: value,
|
|
4766
|
-
});
|
|
4767
|
-
},
|
|
4768
|
-
onComplete: () => {
|
|
4769
|
-
node.style.removeProperty('max-height');
|
|
4770
|
-
node.style.removeProperty('overflow');
|
|
4771
|
-
resolve();
|
|
4772
|
-
},
|
|
4773
|
-
});
|
|
4774
|
-
});
|
|
4775
|
-
}
|
|
4776
|
-
return {
|
|
4777
|
-
collapse,
|
|
4778
|
-
expand,
|
|
4779
|
-
setCollapsed,
|
|
4780
|
-
setExpanded,
|
|
4781
|
-
};
|
|
4782
|
-
};
|
|
4783
|
-
|
|
4784
4930
|
const useFade = (node, { duration } = { duration: 200 }) => {
|
|
4785
4931
|
const nodeStyler = index(node);
|
|
4786
4932
|
/**
|
|
@@ -4928,6 +5074,68 @@ const useGrow = (node, { duration = 200, amount = 0.8, hasFade = true } = {}) =>
|
|
|
4928
5074
|
};
|
|
4929
5075
|
};
|
|
4930
5076
|
|
|
5077
|
+
const useSlide = (node, { duration } = { duration: 200 }) => {
|
|
5078
|
+
const nodeStyler = index(node);
|
|
5079
|
+
/**
|
|
5080
|
+
* Will animate the translateX to 100%, sliding the element to the right.
|
|
5081
|
+
*/
|
|
5082
|
+
function slideOut() {
|
|
5083
|
+
return new Promise(resolve => {
|
|
5084
|
+
animate({
|
|
5085
|
+
from: { x: 0 },
|
|
5086
|
+
to: { x: 100 },
|
|
5087
|
+
ease: easeOut,
|
|
5088
|
+
duration,
|
|
5089
|
+
onUpdate(latest) {
|
|
5090
|
+
nodeStyler.set({ transform: `translateX(${latest.x}%)` });
|
|
5091
|
+
},
|
|
5092
|
+
onComplete() {
|
|
5093
|
+
resolve();
|
|
5094
|
+
},
|
|
5095
|
+
});
|
|
5096
|
+
});
|
|
5097
|
+
}
|
|
5098
|
+
/**
|
|
5099
|
+
* Applies the slideOut styles without animating, useful when initial state
|
|
5100
|
+
* is slid out.
|
|
5101
|
+
*/
|
|
5102
|
+
function setSlideOut() {
|
|
5103
|
+
node.style.transform = 'translateX(100%)';
|
|
5104
|
+
}
|
|
5105
|
+
/**
|
|
5106
|
+
* Applies the slideIn styles without animating, useful when initial state
|
|
5107
|
+
* is slid in.
|
|
5108
|
+
*/
|
|
5109
|
+
function setSlideIn() {
|
|
5110
|
+
node.style.transform = '';
|
|
5111
|
+
}
|
|
5112
|
+
/**
|
|
5113
|
+
* Will animate the translateX from 100% to 0%, sliding the element in from the right.
|
|
5114
|
+
*/
|
|
5115
|
+
function slideIn() {
|
|
5116
|
+
return new Promise(resolve => {
|
|
5117
|
+
animate({
|
|
5118
|
+
from: { x: 100 },
|
|
5119
|
+
to: { x: 0 },
|
|
5120
|
+
duration,
|
|
5121
|
+
onUpdate(latest) {
|
|
5122
|
+
nodeStyler.set({ transform: `translateX(${latest.x}%)` });
|
|
5123
|
+
},
|
|
5124
|
+
onComplete() {
|
|
5125
|
+
resolve();
|
|
5126
|
+
node.style.removeProperty('transform');
|
|
5127
|
+
},
|
|
5128
|
+
});
|
|
5129
|
+
});
|
|
5130
|
+
}
|
|
5131
|
+
return {
|
|
5132
|
+
slideIn,
|
|
5133
|
+
slideOut,
|
|
5134
|
+
setSlideOut,
|
|
5135
|
+
setSlideIn,
|
|
5136
|
+
};
|
|
5137
|
+
};
|
|
5138
|
+
|
|
4931
5139
|
/**
|
|
4932
5140
|
* Will execute a series of animation promises in sequence.
|
|
4933
5141
|
* This is useful for chaining animations where each step depends on the
|
|
@@ -4947,8 +5155,26 @@ const timeline = (...animations) => ({
|
|
|
4947
5155
|
return animations.reduce((promise, animation) => promise.then(() => animation()), Promise.resolve());
|
|
4948
5156
|
},
|
|
4949
5157
|
});
|
|
5158
|
+
/**
|
|
5159
|
+
* Will execute a series of animation promises in parallel.
|
|
5160
|
+
* This is useful for running multiple animations simultaneously.
|
|
5161
|
+
*
|
|
5162
|
+
* @param {Array<() => Promise<void>>} animations - The array of animation functions.
|
|
5163
|
+
* @returns {Object} - An object with a `start` method to begin the parallel animations.
|
|
5164
|
+
*
|
|
5165
|
+
* @example
|
|
5166
|
+
* const { fadeOut } = useFade(this.ref);
|
|
5167
|
+
* const { slideOut } = useSlide(this.containerRef);
|
|
5168
|
+
*
|
|
5169
|
+
* parallel(fadeOut, slideOut).start();
|
|
5170
|
+
*/
|
|
5171
|
+
const parallel = (...animations) => ({
|
|
5172
|
+
start: () => {
|
|
5173
|
+
return Promise.all(animations.map(animation => animation()));
|
|
5174
|
+
},
|
|
5175
|
+
});
|
|
4950
5176
|
|
|
4951
|
-
const nvAccordionItemCss = "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)}";
|
|
5177
|
+
const nvAccordionItemCss = "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)}nv-accordion-item:last-child .nv-accordion-item__content{border-radius:0 0 calc(var(--radius-rounded-lg) - var(--spacing-px)) calc(var(--radius-rounded-lg) - var(--spacing-px))}";
|
|
4952
5178
|
var NvAccordionItemStyle0 = nvAccordionItemCss;
|
|
4953
5179
|
|
|
4954
5180
|
/**
|
|
@@ -4961,16 +5187,25 @@ class NvAccordionItem {
|
|
|
4961
5187
|
constructor(hostRef) {
|
|
4962
5188
|
registerInstance(this, hostRef);
|
|
4963
5189
|
this.itemToggle = createEvent(this, "itemToggle", 7);
|
|
4964
|
-
|
|
5190
|
+
this.isToggling = false;
|
|
5191
|
+
/**
|
|
5192
|
+
* Open or closed
|
|
5193
|
+
*/
|
|
4965
5194
|
this.open = false;
|
|
4966
|
-
/**
|
|
5195
|
+
/**
|
|
5196
|
+
* Disables the item
|
|
5197
|
+
*/
|
|
4967
5198
|
this.disabled = false;
|
|
4968
|
-
/**
|
|
5199
|
+
/**
|
|
5200
|
+
* Parent expansion mode (accordion or multi)
|
|
5201
|
+
*/
|
|
4969
5202
|
this.mode = 'accordion';
|
|
4970
5203
|
//#endregion EVENTS
|
|
4971
5204
|
/****************************************************************************/
|
|
4972
5205
|
//#region STATE
|
|
4973
|
-
/**
|
|
5206
|
+
/**
|
|
5207
|
+
* Internal state for open/close rendering
|
|
5208
|
+
*/
|
|
4974
5209
|
this.currentOpenState = false;
|
|
4975
5210
|
/**
|
|
4976
5211
|
* Controls if the panel has been initialized for animations
|
|
@@ -4991,7 +5226,7 @@ class NvAccordionItem {
|
|
|
4991
5226
|
* @param {Event} e - Click event
|
|
4992
5227
|
*/
|
|
4993
5228
|
this.handleIconClick = (e) => {
|
|
4994
|
-
e.stopPropagation();
|
|
5229
|
+
e.stopPropagation();
|
|
4995
5230
|
this.toggle();
|
|
4996
5231
|
};
|
|
4997
5232
|
/**
|
|
@@ -4999,8 +5234,10 @@ class NvAccordionItem {
|
|
|
4999
5234
|
* @param {KeyboardEvent} e - Keyboard event
|
|
5000
5235
|
*/
|
|
5001
5236
|
this.handleHeaderKeyDown = (e) => {
|
|
5002
|
-
if (this.disabled)
|
|
5237
|
+
if (this.disabled) {
|
|
5238
|
+
console.warn('[handleHeaderKeyDown] Ignored (disabled)');
|
|
5003
5239
|
return;
|
|
5240
|
+
}
|
|
5004
5241
|
switch (e.key) {
|
|
5005
5242
|
case 'Enter':
|
|
5006
5243
|
case ' ':
|
|
@@ -5010,17 +5247,19 @@ class NvAccordionItem {
|
|
|
5010
5247
|
case 'ArrowDown':
|
|
5011
5248
|
e.preventDefault();
|
|
5012
5249
|
if (!this.open) {
|
|
5250
|
+
this.isToggling = true;
|
|
5013
5251
|
this.open = true;
|
|
5014
|
-
this.itemToggle.emit(
|
|
5015
|
-
this.
|
|
5252
|
+
this.itemToggle.emit(true);
|
|
5253
|
+
this.isToggling = false;
|
|
5016
5254
|
}
|
|
5017
5255
|
break;
|
|
5018
5256
|
case 'ArrowUp':
|
|
5019
5257
|
e.preventDefault();
|
|
5020
5258
|
if (this.open) {
|
|
5259
|
+
this.isToggling = true;
|
|
5021
5260
|
this.open = false;
|
|
5022
|
-
this.itemToggle.emit(
|
|
5023
|
-
this.
|
|
5261
|
+
this.itemToggle.emit(false);
|
|
5262
|
+
this.isToggling = false;
|
|
5024
5263
|
}
|
|
5025
5264
|
break;
|
|
5026
5265
|
}
|
|
@@ -5030,12 +5269,23 @@ class NvAccordionItem {
|
|
|
5030
5269
|
/****************************************************************************/
|
|
5031
5270
|
//#region WATCHERS
|
|
5032
5271
|
async onOpenChanged(newValue, oldValue) {
|
|
5033
|
-
this.
|
|
5034
|
-
|
|
5035
|
-
|
|
5272
|
+
if (this.disabled) {
|
|
5273
|
+
console.warn('[onOpenChanged] Item is disabled, forcing closed state');
|
|
5274
|
+
this.currentOpenState = false;
|
|
5275
|
+
this.open = false;
|
|
5036
5276
|
return;
|
|
5037
5277
|
}
|
|
5038
|
-
|
|
5278
|
+
this.currentOpenState = newValue;
|
|
5279
|
+
const isInitialRender = oldValue === undefined;
|
|
5280
|
+
if (!isInitialRender) {
|
|
5281
|
+
if (newValue === false && !this.isToggling) {
|
|
5282
|
+
this.itemToggle.emit(newValue);
|
|
5283
|
+
}
|
|
5284
|
+
else if (newValue && !this.isToggling) {
|
|
5285
|
+
this.itemToggle.emit(newValue);
|
|
5286
|
+
}
|
|
5287
|
+
await this.updateVisibility(newValue);
|
|
5288
|
+
}
|
|
5039
5289
|
}
|
|
5040
5290
|
//#endregion WATCHERS
|
|
5041
5291
|
/****************************************************************************/
|
|
@@ -5045,18 +5295,18 @@ class NvAccordionItem {
|
|
|
5045
5295
|
* @param {boolean} open - Whether the accordion item should be open
|
|
5046
5296
|
*/
|
|
5047
5297
|
async updateVisibility(open) {
|
|
5048
|
-
if (!this.contentRef)
|
|
5298
|
+
if (!this.contentRef) {
|
|
5299
|
+
console.error('[updateVisibility] No contentRef available');
|
|
5049
5300
|
return;
|
|
5301
|
+
}
|
|
5050
5302
|
this.isAnimating = true;
|
|
5051
5303
|
const { collapse, expand } = useCollapse(this.contentRef, {
|
|
5052
5304
|
duration: 200,
|
|
5053
5305
|
});
|
|
5054
5306
|
if (open) {
|
|
5055
|
-
// Expand with animation
|
|
5056
5307
|
await expand();
|
|
5057
5308
|
}
|
|
5058
5309
|
else {
|
|
5059
|
-
// Collapse with animation
|
|
5060
5310
|
await collapse();
|
|
5061
5311
|
}
|
|
5062
5312
|
this.isAnimating = false;
|
|
@@ -5065,19 +5315,24 @@ class NvAccordionItem {
|
|
|
5065
5315
|
/****************************************************************************/
|
|
5066
5316
|
//#region LIFECYCLE
|
|
5067
5317
|
componentWillLoad() {
|
|
5068
|
-
this.currentOpenState = this.open;
|
|
5318
|
+
this.currentOpenState = this.open;
|
|
5069
5319
|
}
|
|
5070
5320
|
componentDidLoad() {
|
|
5071
5321
|
if (this.contentRef) {
|
|
5072
|
-
|
|
5073
|
-
|
|
5074
|
-
|
|
5075
|
-
|
|
5076
|
-
|
|
5077
|
-
|
|
5078
|
-
|
|
5079
|
-
|
|
5080
|
-
|
|
5322
|
+
setTimeout(() => {
|
|
5323
|
+
const { setExpanded, setCollapsed } = useCollapse(this.contentRef, {
|
|
5324
|
+
duration: 200,
|
|
5325
|
+
});
|
|
5326
|
+
if (this.open) {
|
|
5327
|
+
setExpanded();
|
|
5328
|
+
this.currentOpenState = true;
|
|
5329
|
+
}
|
|
5330
|
+
else {
|
|
5331
|
+
setCollapsed();
|
|
5332
|
+
this.currentOpenState = false;
|
|
5333
|
+
}
|
|
5334
|
+
this.isInitialized = true;
|
|
5335
|
+
}, 0);
|
|
5081
5336
|
}
|
|
5082
5337
|
}
|
|
5083
5338
|
disconnectedCallback() {
|
|
@@ -5093,10 +5348,14 @@ class NvAccordionItem {
|
|
|
5093
5348
|
*/
|
|
5094
5349
|
async toggle() {
|
|
5095
5350
|
if (!this.disabled && !this.isAnimating) {
|
|
5096
|
-
this.
|
|
5097
|
-
this.
|
|
5098
|
-
|
|
5099
|
-
|
|
5351
|
+
this.isToggling = true;
|
|
5352
|
+
const newOpen = !this.open;
|
|
5353
|
+
this.open = newOpen;
|
|
5354
|
+
this.itemToggle.emit(newOpen);
|
|
5355
|
+
this.isToggling = false;
|
|
5356
|
+
}
|
|
5357
|
+
else {
|
|
5358
|
+
console.warn('[toggle] Ignored toggle (disabled or animating)');
|
|
5100
5359
|
}
|
|
5101
5360
|
}
|
|
5102
5361
|
/**
|
|
@@ -5104,18 +5363,19 @@ class NvAccordionItem {
|
|
|
5104
5363
|
* @returns {string} The icon name to display in the chevron button
|
|
5105
5364
|
*/
|
|
5106
5365
|
get chevronIconName() {
|
|
5107
|
-
|
|
5366
|
+
const name = this.open ? 'chevron-top' : 'chevron-down';
|
|
5367
|
+
return name;
|
|
5108
5368
|
}
|
|
5109
5369
|
//#endregion METHODS
|
|
5110
5370
|
/****************************************************************************/
|
|
5111
5371
|
//#region RENDER
|
|
5112
5372
|
render() {
|
|
5113
|
-
return (hAsync(Host, { key: '
|
|
5373
|
+
return (hAsync(Host, { key: '4d5ae52ba3e8cac86316d790f95afd39f6c73019', class: {
|
|
5114
5374
|
'nv-accordion-item': true,
|
|
5115
|
-
'is-open': this.
|
|
5375
|
+
'is-open': this.currentOpenState,
|
|
5116
5376
|
'is-disabled': this.disabled,
|
|
5117
5377
|
'is-animating': this.isAnimating,
|
|
5118
|
-
}, role: "listitem", "aria-expanded": this.
|
|
5378
|
+
}, role: "listitem", "aria-expanded": this.currentOpenState ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, hAsync("div", { key: '866562d2f3033189e6d5df8fa5576d2f1540959e', class: "nv-accordion-item__header", onClick: this.handleHeaderClick, "aria-controls": "content" }, hAsync("slot", { key: '36d2b14528c6bd6665ccfc94707d62dc406262d0', name: "header" }, hAsync("div", { key: 'c78c1e485d0128708db6fc5fb2b64c6c01e4ed0f', class: "nv-accordion-item__header-content" }, this.itemTitle && (hAsync("span", { key: '524cf377a4c89752eeed1933dbb8fd2343cd8830', class: "nv-accordion-item__title" }, this.itemTitle)), this.subtitle && (hAsync("span", { key: 'b8ee5edc3c798218348490fc43c458c45934ee83', class: "nv-accordion-item__subtitle" }, this.subtitle)))), hAsync("nv-iconbutton", { key: 'aa474788bb5551ca7b94261dca1ccb2e5aced3d3', emphasis: "low", size: "sm", shape: "square", name: this.chevronIconName, tabindex: this.disabled ? -1 : 0, onClick: this.handleIconClick, onKeyDown: this.handleHeaderKeyDown, "aria-controls": "content", "aria-label": this.currentOpenState ? 'Close the section' : 'Open the section' })), hAsync("div", { key: '3b49afd97cc797b165a8fa6753f564349735aad1', id: "content", class: "nv-accordion-item__content", ref: el => (this.contentRef = el) }, hAsync("div", { key: '955b5c7cef3259a2531ecc14eafb806a9d28c9a6', class: "nv-accordion-item__content-inner" }, hAsync("slot", { key: '56ff89e2041d425f520fe6e62975bbb7193653f2', name: "content" })))));
|
|
5119
5379
|
}
|
|
5120
5380
|
get el() { return getElement(this); }
|
|
5121
5381
|
static get watchers() { return {
|
|
@@ -5189,6 +5449,11 @@ var ButtonType;
|
|
|
5189
5449
|
ButtonType["Reset"] = "reset";
|
|
5190
5450
|
ButtonType["Button"] = "button";
|
|
5191
5451
|
})(ButtonType || (ButtonType = {}));
|
|
5452
|
+
var NotificationEmphasis;
|
|
5453
|
+
(function (NotificationEmphasis) {
|
|
5454
|
+
NotificationEmphasis["Medium"] = "medium";
|
|
5455
|
+
NotificationEmphasis["High"] = "high";
|
|
5456
|
+
})(NotificationEmphasis || (NotificationEmphasis = {}));
|
|
5192
5457
|
var ToggleButtonEmphasis;
|
|
5193
5458
|
(function (ToggleButtonEmphasis) {
|
|
5194
5459
|
ToggleButtonEmphasis["High"] = "high";
|
|
@@ -5413,7 +5678,7 @@ const CUSTOM_MONTH_NAMES = {
|
|
|
5413
5678
|
],
|
|
5414
5679
|
};
|
|
5415
5680
|
|
|
5416
|
-
const nvAlertCss = "nv-alert{display:flex !important;align-items:flex-start;position:relative;gap:var(--alert-gap-x);border-radius:var(--alert-radius);font-family:\"TT Norms Pro\", \"Montserrat\", sans-serif}nv-alert>nv-icon{margin-left:var(--alert-icon-position-x);margin-top:var(--alert-icon-position-y)}nv-alert.hidden{display:none !important}nv-alert.feedback-information{background-color:var(--components-alert-information-background);border:1px solid var(--components-alert-information-border) !important}nv-alert.feedback-information>.close:focus,nv-alert.feedback-information>.close:focus-within{outline:none}nv-alert.feedback-information>.close:focus-visible,nv-alert.feedback-information>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-information-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-warning{background-color:var(--components-alert-warning-background);border:1px solid var(--components-alert-warning-border) !important}nv-alert.feedback-warning>.close:focus,nv-alert.feedback-warning>.close:focus-within{outline:none}nv-alert.feedback-warning>.close:focus-visible,nv-alert.feedback-warning>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-warning-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-error{background-color:var(--components-alert-error-background);border:1px solid var(--components-alert-error-border) !important}nv-alert.feedback-error>.close:focus,nv-alert.feedback-error>.close:focus-within{outline:none}nv-alert.feedback-error>.close:focus-visible,nv-alert.feedback-error>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-error-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-success{background-color:var(--components-alert-success-background);border:1px solid var(--components-alert-success-border) !important}nv-alert.feedback-success>.close:focus,nv-alert.feedback-success>.close:focus-within{outline:none}nv-alert.feedback-success>.close:focus-visible,nv-alert.feedback-success>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-success-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-neutral{background-color:var(--components-alert-neutral-background);border:1px solid var(--components-alert-neutral-border) !important}nv-alert.feedback-neutral>.close:focus,nv-alert.feedback-neutral>.close:focus-within{outline:none}nv-alert.feedback-neutral>.close:focus-visible,nv-alert.feedback-neutral>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-neutral-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert>nv-icon.icon-information{color:var(--components-alert-information-icon)}nv-alert>nv-icon.icon-warning{color:var(--components-alert-warning-icon)}nv-alert>nv-icon.icon-error{color:var(--components-alert-error-icon)}nv-alert>nv-icon.icon-success{color:var(--components-alert-success-icon)}nv-alert>nv-icon.icon-neutral{color:var(--components-alert-neutral-icon)}nv-alert>.content{display:flex;padding:var(--alert-padding);padding-right:calc(var(--alert-padding) + var(--
|
|
5681
|
+
const nvAlertCss = "nv-alert{display:flex !important;align-items:flex-start;position:relative;gap:var(--alert-gap-x);border-radius:var(--alert-radius);font-family:\"TT Norms Pro\", \"Montserrat\", sans-serif}nv-alert>nv-icon{margin-left:var(--alert-icon-position-x);margin-top:var(--alert-icon-position-y)}nv-alert.hidden{display:none !important}nv-alert.feedback-information{background-color:var(--components-alert-information-background);border:1px solid var(--components-alert-information-border) !important}nv-alert.feedback-information>.close:focus,nv-alert.feedback-information>.close:focus-within{outline:none}nv-alert.feedback-information>.close:focus-visible,nv-alert.feedback-information>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-information-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-warning{background-color:var(--components-alert-warning-background);border:1px solid var(--components-alert-warning-border) !important}nv-alert.feedback-warning>.close:focus,nv-alert.feedback-warning>.close:focus-within{outline:none}nv-alert.feedback-warning>.close:focus-visible,nv-alert.feedback-warning>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-warning-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-error{background-color:var(--components-alert-error-background);border:1px solid var(--components-alert-error-border) !important}nv-alert.feedback-error>.close:focus,nv-alert.feedback-error>.close:focus-within{outline:none}nv-alert.feedback-error>.close:focus-visible,nv-alert.feedback-error>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-error-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-success{background-color:var(--components-alert-success-background);border:1px solid var(--components-alert-success-border) !important}nv-alert.feedback-success>.close:focus,nv-alert.feedback-success>.close:focus-within{outline:none}nv-alert.feedback-success>.close:focus-visible,nv-alert.feedback-success>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-success-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-neutral{background-color:var(--components-alert-neutral-background);border:1px solid var(--components-alert-neutral-border) !important}nv-alert.feedback-neutral>.close:focus,nv-alert.feedback-neutral>.close:focus-within{outline:none}nv-alert.feedback-neutral>.close:focus-visible,nv-alert.feedback-neutral>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-neutral-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert>nv-icon.icon-information{color:var(--components-alert-information-icon)}nv-alert>nv-icon.icon-warning{color:var(--components-alert-warning-icon)}nv-alert>nv-icon.icon-error{color:var(--components-alert-error-icon)}nv-alert>nv-icon.icon-success{color:var(--components-alert-success-icon)}nv-alert>nv-icon.icon-neutral{color:var(--components-alert-neutral-icon)}nv-alert>.content{display:flex;padding:var(--alert-padding);padding-right:calc(var(--alert-padding) + var(--spacing-5) + var(--spacing-1));padding-left:0;flex-direction:column;gap:var(--alert-gap-y)}nv-alert>.content>.heading{color:var(--components-alert-content-title);font-size:var(--alert-heading-font-size);line-height:var(--alert-heading-line-height);font-weight:var(--alert-heading-font-weight)}nv-alert>.content>.message{color:var(--components-alert-content-description);font-size:var(--alert-message-font-size);line-height:var(--alert-message-line-height)}nv-alert>.close{border-radius:var(--alert-radius);position:absolute;display:flex;top:var(--alert-icon-position-y);right:var(--alert-icon-position-x);padding:0;border:none;background:none;cursor:pointer}";
|
|
5417
5682
|
var NvAlertStyle0 = nvAlertCss;
|
|
5418
5683
|
|
|
5419
5684
|
/**
|
|
@@ -5524,8 +5789,8 @@ class NvAlert {
|
|
|
5524
5789
|
this.toggleHiddenClass(hidden);
|
|
5525
5790
|
return;
|
|
5526
5791
|
}
|
|
5527
|
-
const { fadeIn, fadeOut } = useFade(this.
|
|
5528
|
-
const { collapse, expand } = useCollapse(this.
|
|
5792
|
+
const { fadeIn, fadeOut } = useFade(this.el, { duration: 150 });
|
|
5793
|
+
const { collapse, expand } = useCollapse(this.el, { duration: 250 });
|
|
5529
5794
|
if (hidden) {
|
|
5530
5795
|
await timeline(fadeOut, collapse).start();
|
|
5531
5796
|
this.toggleHiddenClass(true);
|
|
@@ -5540,7 +5805,7 @@ class NvAlert {
|
|
|
5540
5805
|
* @param {boolean} hidden - Whether to add or remove the hidden class
|
|
5541
5806
|
*/
|
|
5542
5807
|
toggleHiddenClass(hidden) {
|
|
5543
|
-
this.
|
|
5808
|
+
this.el.classList.toggle('hidden', hidden);
|
|
5544
5809
|
}
|
|
5545
5810
|
//#endregion METHODS
|
|
5546
5811
|
/****************************************************************************/
|
|
@@ -5562,7 +5827,7 @@ class NvAlert {
|
|
|
5562
5827
|
}
|
|
5563
5828
|
}
|
|
5564
5829
|
if (this.hidden) {
|
|
5565
|
-
this.
|
|
5830
|
+
this.el.classList.add('hidden');
|
|
5566
5831
|
}
|
|
5567
5832
|
}
|
|
5568
5833
|
//#endregion LIFECYCLE
|
|
@@ -5570,9 +5835,9 @@ class NvAlert {
|
|
|
5570
5835
|
//#region RENDER
|
|
5571
5836
|
render() {
|
|
5572
5837
|
var _a;
|
|
5573
|
-
return (hAsync(Host, { key: '
|
|
5838
|
+
return (hAsync(Host, { key: '08bc48f1d9bba66505e46fb26b8400f185dcc716', role: "alert", class: clsx('root', `feedback-${this.feedback}`) }, hAsync("nv-icon", { key: 'b4846e6aee8cf6cfde913372b11675a3c0301fa3', name: (_a = this.icon) !== null && _a !== void 0 ? _a : this.getDefaultIcon(), class: `icon-${this.feedback}`, size: "md" }), hAsync("div", { key: '61edadca039963056bdf27914829286515269a4a', class: "content" }, this.heading && hAsync("p", { key: '25c0396ade2573a9f955302cfe52702fe5e4f531', class: "heading" }, this.heading), this.message && hAsync("p", { key: 'dbef6eac9028f5431bb9665ca5642af5278c20d7', class: "message" }, this.message), hAsync("slot", { key: '5aa607cb7c48783371887fd9126b247647e8b37c' })), this.dismissible && (hAsync("button", { key: 'e6be3501788f12fac97c162c0ed64c922acd4b22', class: "close", type: "button", onClick: this.handleDismiss }, hAsync("nv-icon", { key: 'f39c94a6cf82226eb77143bce7b4d74aff30c05a', name: "x", size: "sm" })))));
|
|
5574
5839
|
}
|
|
5575
|
-
get
|
|
5840
|
+
get el() { return getElement(this); }
|
|
5576
5841
|
static get watchers() { return {
|
|
5577
5842
|
"hidden": ["handleHiddenChange"]
|
|
5578
5843
|
}; }
|
|
@@ -6646,12 +6911,12 @@ const DayCell = props => {
|
|
|
6646
6911
|
* @returns {JSX.Element} JSX element representing the action buttons
|
|
6647
6912
|
*/
|
|
6648
6913
|
const CalendarActions = props => {
|
|
6649
|
-
const { onReset, onConfirm, useSlot = false } = props;
|
|
6914
|
+
const { onReset, onConfirm, cancelLabel = 'Cancel', primaryLabel = 'OK', useSlot = false, } = props;
|
|
6650
6915
|
return (hAsync("div", { class: "datepicker-actions" }, useSlot ? (hAsync("slot", { name: "actions" },
|
|
6651
|
-
hAsync("nv-button", { emphasis: "low", size: "xs", onClick: onReset },
|
|
6652
|
-
hAsync("nv-button", { size: "xs", onClick: onConfirm },
|
|
6653
|
-
hAsync("nv-button", { emphasis: "low", size: "xs", onClick: onReset },
|
|
6654
|
-
hAsync("nv-button", { size: "xs", onClick: onConfirm },
|
|
6916
|
+
hAsync("nv-button", { emphasis: "low", size: "xs", onClick: onReset }, cancelLabel),
|
|
6917
|
+
hAsync("nv-button", { size: "xs", onClick: onConfirm }, primaryLabel))) : (hAsync("div", { class: "actions-container" },
|
|
6918
|
+
hAsync("nv-button", { emphasis: "low", size: "xs", onClick: onReset }, cancelLabel),
|
|
6919
|
+
hAsync("nv-button", { size: "xs", onClick: onConfirm }, primaryLabel)))));
|
|
6655
6920
|
};
|
|
6656
6921
|
|
|
6657
6922
|
/**
|
|
@@ -6785,7 +7050,7 @@ const CalendarGrid = props => {
|
|
|
6785
7050
|
}))));
|
|
6786
7051
|
};
|
|
6787
7052
|
|
|
6788
|
-
const nvCalendarCss = "nv-calendar{display:block}.datepicker-root{display:flex;justify-content:center;align-items:flex-start;width:auto}.datepicker-container{font-family:system-ui, sans-serif;display:flex;flex-direction:column;align-items:stretch;background:var(--components-calendar-background);border-radius:var(--calendar-radius);padding:var(--calendar-padding);box-shadow:0px var(--shadow-y-axis-md-1) var(--shadow-blur-md-1) var(--shadow-spread-md, 0) var(--shadow-color-opacity-0), 0px var(--shadow-y-axis-md-2) var(--shadow-blur-md-2) var(--shadow-spread-md, 0) var(--shadow-color-opacity-2);border:1px solid var(--components-calendar-border);width:auto;max-width:100%}.datepicker-container-single{max-width:300px}.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-left),.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-container-single:has(.shortcuts-placement-left),.datepicker-container-single:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-wrapper{display:flex;justify-content:center;align-items:flex-start;gap:var(--calendar-gap-x);width:auto;overflow-x:hidden}.datepicker-wrapper::-webkit-scrollbar{width:6px;height:6px}.datepicker-wrapper::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}.datepicker-wrapper::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}.datepicker-wrapper.single{justify-content:center}.calendar-container{display:flex;flex-direction:column;align-items:center;padding:var(--calendar-padding);width:auto;position:relative}.calendar-separator{width:1px;background:var(--components-calendar-border);height:auto;min-height:100%;margin:0 10px}.header{display:flex;justify-content:start;align-items:center;margin-bottom:var(--calendar-header-margin-bottom);width:100%}.header nv-iconbutton{width:var(--calendar-header-button-size);height:var(--calendar-header-button-size)}.nav-buttons{display:flex;gap:var(--spacing-0);margin-left:auto}.nav-left{order:-1}.date-controls{display:flex;gap:var(--spacing-1);align-items:center;min-height:34px;justify-content:center}.datepicker-container-single .date-controls{justify-content:flex-start}.datepicker-container:not(.datepicker-container-single) .date-controls{justify-content:start;flex-grow:1}.date-controls .month-select,.date-controls .year-input{background:transparent !important}.calendar-wrapper:nth-child(n+2) .datepicker-container{margin-left:42px}.calendar-grid{display:grid;grid-template-columns:auto 1fr;column-gap:var(--calendar-weeks-calendar-gap-x);position:relative}.calendar-grid.slide-left{animation:slideLeft 0.3s ease-out}.calendar-grid.slide-right{animation:slideRight 0.3s ease-out}.week-numbers{display:grid;grid-template-rows:var(--calendar-cell-size) repeat(6, var(--calendar-cell-size));background:var(--components-calendar-weeks-background);color:var(--components-calendar-weeks-text);border-radius:var(--calendar-weeks-radius);width:var(--calendar-weeks-size);row-gap:var(--calendar-grid-gap-y)}.week-numbers .clickable{cursor:pointer}.week-numbers .clickable:hover{background-color:var(--components-calendar-weeks-background-hover);color:var(--components-calendar-weeks-text-hover);border-radius:var(--calendar-radius)}.week-header,.week-number{display:grid;place-items:center;font-size:var(--calendar-cell-font-size)}.week-header{font-weight:700;color:var(--components-calendar-weeks-text)}.week-number{color:var(--components-calendar-cell-text)}.days-container{display:grid;grid-template-rows:auto 1fr;row-gap:var(--calendar-grid-gap-y)}.days-header{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));height:var(--calendar-cell-size)}.day-header{display:grid;place-items:center;font-size:var(--calendar-cell-font-size);color:var(--components-calendar-cell-text)}.days-grid{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));grid-template-rows:repeat(6, var(--calendar-cell-size));animation:fadeIn 0.2s ease-in;row-gap:var(--calendar-grid-gap-y);z-index:0}.day{display:grid;place-items:center;width:var(--calendar-cell-size);height:var(--calendar-cell-size);font-size:var(--calendar-cell-font-size);border-radius:var(--calendar-cell-radius);cursor:pointer;border:none;background:transparent;transition:all 0.2s ease;text-align:center;animation:scaleIn 0.2s ease-out}.day:hover:not(.disabled,.empty,.selected){background:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}.day.selected,.day.selected:hover .day.is-today.selected,.day.is-today.selected:hover{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected) !important}.day.disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.day.is-empty{pointer-events:none;background-color:transparent;border-color:transparent}.day.day-blank{pointer-events:none;background-color:transparent;border-color:transparent}.day.outside-month{color:var(--components-calendar-cell-text);opacity:var(--opacity-disabled)}.day.outside-month.selected{opacity:1 !important;color:var(--components-calendar-cell-text-selected)}.day.outside-month.in-range{opacity:0.5 !important;background-color:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range)}.day.outside-month.in-range:hover{opacity:0.7 !important;background-color:var(--components-calendar-cell-background-in-range)}.day.in-range{background:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range);border-radius:0;position:relative}.day.range-start,.day.range-start:focus,.day.range-start:hover,.day.range-end,.day.range-end:focus,.day.range-end:hover{background-color:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected) !important}.day.range-start,.day.range-end,.day.range-start.is-today,.day.range-end.is-today{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected);position:relative;border-radius:var(--radius-rounded-full)}.day.range-start:hover,.day.range-end:hover,.day.range-start.is-today:hover,.day.range-end.is-today:hover{color:var(--components-calendar-cell-text-today)}.day.range-start:before,.day.range-end:before,.day.range-start.is-today:before,.day.range-end.is-today:before{content:\"\";position:absolute;bottom:0;left:0;right:0;top:0;z-index:-1;background-color:var(--components-calendar-cell-background-in-range);border-radius:var(--radius-rounded-full);width:auto;height:auto}.day.range-start:has(~.range-end):before,.day.range-start:has(+.in-range):before{border-top-right-radius:0;border-bottom-right-radius:0}.day.range-end:before{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.day.outside-month.range-start,.day.outside-month.range-end{opacity:1 !important;background:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected)}.day.is-today{font-weight:700;position:relative;color:var(--components-calendar-cell-text-today)}.day.is-today.range-start,.day.is-today.range-end{color:var(--components-calendar-cell-text-selected)}.day.is-today.range-start:hover,.day.is-today.range-end:hover{color:var(--components-calendar-cell-text-today)}.day.is-today::after{content:\"\";position:absolute;bottom:var(--spacing-1);left:50%;transform:translateX(-50%);width:var(--calendar-cell-dot-size);height:var(--calendar-cell-dot-size);background-color:currentColor;border-radius:50%}.day.is-today.selected::after{color:var(--components-calendar-cell-text-selected)}.day.is-today.selected::after::after{background-color:var(--components-calendar-cell-dot-selected)}.day.hover-range{background-color:var(--components-calendar-cell-background-hover)}.day.hover-blocked{background-color:var(--components-calendar-cell-background-hover)}.day.disabled.hover-blocked{background-color:transparent}.calendar-footer{display:flex;gap:var(--spacing-1);justify-content:flex-start;width:100%;flex-wrap:wrap}.footer-placement-left{justify-content:flex-start}.footer-placement-right{justify-content:flex-end}.footer-placement-center{justify-content:center}.datepicker-controls{display:flex;flex-direction:column;border-top:1px solid var(--components-calendar-border);padding:var(--calendar-controls-padding-top) var(--calendar-padding) var(--calendar-padding);gap:var(--calendar-grid-gap-y);margin-top:var(--calendar-controls-margin-top)}.datepicker-actions{display:flex;justify-content:flex-end;gap:var(--spacing-1);width:100%}.datepicker-actions slot-fb{display:contents !important}.calendar-footer+.datepicker-actions{margin-top:0}.shortcuts-placement-left,.shortcuts-placement-right{display:flex;flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-4)}.shortcuts-placement-left{align-items:flex-end}.shortcuts-placement-right{align-items:flex-start}@keyframes slideLeft{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}";
|
|
7053
|
+
const nvCalendarCss = "nv-calendar{display:block}.datepicker-root{display:flex;justify-content:center;align-items:flex-start;width:auto}.datepicker-container{font-family:system-ui, sans-serif;display:flex;flex-direction:column;align-items:stretch;background:var(--components-calendar-background);border-radius:var(--calendar-radius);padding:var(--calendar-padding);box-shadow:0px var(--shadow-y-axis-md-1) var(--shadow-blur-md-1) var(--shadow-spread-md, 0) var(--shadow-color-opacity-0), 0px var(--shadow-y-axis-md-2) var(--shadow-blur-md-2) var(--shadow-spread-md, 0) var(--shadow-color-opacity-2);border:1px solid var(--components-calendar-border);width:auto;max-width:100%}.datepicker-container-single{max-width:300px}.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-left),.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-container-single:has(.shortcuts-placement-left),.datepicker-container-single:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-wrapper{display:flex;justify-content:center;align-items:flex-start;gap:var(--calendar-gap-x);width:auto;overflow-x:hidden}.datepicker-wrapper::-webkit-scrollbar{width:6px;height:6px}.datepicker-wrapper::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}.datepicker-wrapper::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}.datepicker-wrapper.single{justify-content:center}.calendar-container{display:flex;flex-direction:column;align-items:center;padding:var(--calendar-padding);width:auto;position:relative}.calendar-separator{width:1px;background:var(--components-calendar-border);height:auto;min-height:100%;margin:0 10px}.header{display:flex;justify-content:start;align-items:center;margin-bottom:var(--calendar-header-margin-bottom);width:100%}.header nv-iconbutton{width:var(--calendar-header-button-size);height:var(--calendar-header-button-size)}.nav-buttons{display:flex;gap:var(--spacing-0);margin-left:auto}.nav-left{order:-1}.date-controls{display:flex;gap:var(--spacing-1);align-items:center;min-height:34px;justify-content:center}.datepicker-container-single .date-controls{justify-content:flex-start}.datepicker-container:not(.datepicker-container-single) .date-controls{justify-content:start;flex-grow:1}.date-controls .month-select,.date-controls .year-input{background:transparent !important}.calendar-wrapper:nth-child(n+2) .datepicker-container{margin-left:42px}.calendar-grid{display:grid;grid-template-columns:auto 1fr;column-gap:var(--calendar-weeks-calendar-gap-x);position:relative}.calendar-grid.slide-left{animation:slideLeft 0.3s ease-out}.calendar-grid.slide-right{animation:slideRight 0.3s ease-out}.week-numbers{display:grid;grid-template-rows:var(--calendar-cell-size) repeat(6, var(--calendar-cell-size));background:var(--components-calendar-weeks-background);color:var(--components-calendar-weeks-text);border-radius:var(--calendar-weeks-radius);width:var(--calendar-weeks-size);row-gap:var(--calendar-grid-gap-y)}.week-numbers .clickable{cursor:pointer}.week-numbers .clickable:hover{background-color:var(--components-calendar-weeks-background-hover);color:var(--components-calendar-weeks-text-hover);border-radius:var(--calendar-radius)}.week-header,.week-number{display:grid;place-items:center;font-size:var(--calendar-cell-font-size)}.week-header{font-weight:700;color:var(--components-calendar-weeks-text)}.week-number{color:var(--components-calendar-cell-text)}.days-container{display:grid;grid-template-rows:auto 1fr;row-gap:var(--calendar-grid-gap-y)}.days-header{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));height:var(--calendar-cell-size)}.day-header{display:grid;place-items:center;font-size:var(--calendar-cell-font-size);color:var(--components-calendar-cell-text)}.days-grid{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));grid-template-rows:repeat(6, var(--calendar-cell-size));animation:fadeIn 0.2s ease-in;row-gap:var(--calendar-grid-gap-y);z-index:0}.day{display:grid;place-items:center;width:var(--calendar-cell-size);height:var(--calendar-cell-size);font-size:var(--calendar-cell-font-size);border-radius:var(--calendar-cell-radius);cursor:pointer;border:none;background:transparent;transition:all 0.2s ease;text-align:center;animation:scaleIn 0.2s ease-out}.day:hover:not(.disabled,.empty,.selected){background:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}.day.selected,.day.selected:hover .day.is-today.selected,.day.is-today.selected:hover{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected) !important}.day.disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.day.is-empty{pointer-events:none;background-color:transparent;border-color:transparent}.day.day-blank{pointer-events:none;background-color:transparent;border-color:transparent}.day.outside-month{color:var(--components-calendar-cell-text);opacity:var(--opacity-disabled)}.day.outside-month.selected{opacity:1 !important;color:var(--components-calendar-cell-text-selected)}.day.outside-month.in-range{opacity:0.5 !important;background-color:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range)}.day.outside-month.in-range:hover{opacity:0.7 !important;background-color:var(--components-calendar-cell-background-in-range)}.day.in-range{background:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range);border-radius:0;position:relative}.day.range-start,.day.range-start:focus,.day.range-start:hover,.day.range-end,.day.range-end:focus,.day.range-end:hover{background-color:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected) !important}.day.range-start,.day.range-end,.day.range-start.is-today,.day.range-end.is-today{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected);position:relative;border-radius:var(--radius-rounded-full)}.day.range-start:hover,.day.range-end:hover,.day.range-start.is-today:hover,.day.range-end.is-today:hover{color:var(--components-calendar-cell-text-today)}.day.range-start:before,.day.range-end:before,.day.range-start.is-today:before,.day.range-end.is-today:before{content:\"\";position:absolute;bottom:0;left:0;right:0;top:0;z-index:-1;background-color:var(--components-calendar-cell-background-in-range);border-radius:var(--radius-rounded-full);width:auto;height:auto}.day.range-start:has(~.range-end):before,.day.range-start:has(+.in-range):before{border-top-right-radius:0;border-bottom-right-radius:0}.day.range-end:before{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.day.outside-month.range-start,.day.outside-month.range-end{opacity:1 !important;background:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected)}.day.is-today{font-weight:700;position:relative;color:var(--components-calendar-cell-text-today)}.day.is-today.range-start,.day.is-today.range-end{color:var(--components-calendar-cell-text-selected)}.day.is-today.range-start:hover,.day.is-today.range-end:hover{color:var(--components-calendar-cell-text-today)}.day.is-today::after{content:\"\";position:absolute;bottom:var(--spacing-1);left:50%;transform:translateX(-50%);width:var(--calendar-cell-dot-size);height:var(--calendar-cell-dot-size);background-color:currentColor;border-radius:50%}.day.is-today.selected::after{color:var(--components-calendar-cell-text-selected)}.day.is-today.selected::after::after{background-color:var(--components-calendar-cell-dot-selected)}.day.hover-range{background-color:var(--components-calendar-cell-background-hover)}.day.hover-blocked{background-color:var(--components-calendar-cell-background-hover)}.day.disabled.hover-blocked{background-color:transparent}.calendar-footer{display:flex;gap:var(--spacing-1);justify-content:flex-start;width:100%;flex-wrap:wrap}.footer-placement-left{justify-content:flex-start}.footer-placement-right{justify-content:flex-end}.footer-placement-center{justify-content:center}.datepicker-controls{display:flex;flex-direction:column;border-top:1px solid var(--components-calendar-border);padding:var(--calendar-controls-padding-top) var(--calendar-padding) var(--calendar-padding);gap:var(--calendar-grid-gap-y);margin-top:var(--calendar-controls-margin-top)}.datepicker-actions{display:flex;justify-content:flex-end;gap:var(--spacing-1);width:100%}.datepicker-actions slot-fb{display:contents !important}.datepicker-actions .actions-container{display:flex;gap:var(--spacing-1)}.calendar-footer+.datepicker-actions{margin-top:0}.shortcuts-placement-left,.shortcuts-placement-right{display:flex;flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-4)}.shortcuts-placement-left{align-items:flex-end}.shortcuts-placement-right{align-items:flex-start}@keyframes slideLeft{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}";
|
|
6789
7054
|
var NvCalendarStyle0 = nvCalendarCss;
|
|
6790
7055
|
|
|
6791
7056
|
/**
|
|
@@ -6845,6 +7110,10 @@ class NvCalendar {
|
|
|
6845
7110
|
* Show action buttons
|
|
6846
7111
|
*/
|
|
6847
7112
|
this.showActions = false;
|
|
7113
|
+
/** Sets the label for the cancel button in actions. */
|
|
7114
|
+
this.cancelLabel = 'Cancel';
|
|
7115
|
+
/** Sets the label for the primary (OK) button in actions. */
|
|
7116
|
+
this.primaryLabel = 'OK';
|
|
6848
7117
|
/** Cache for parsed disabled dates */
|
|
6849
7118
|
this.parsedDisabledDates = [];
|
|
6850
7119
|
/** Flag to indicate a user click for selection */
|
|
@@ -7499,7 +7768,7 @@ class NvCalendar {
|
|
|
7499
7768
|
* @slot actions - Child content of the component.
|
|
7500
7769
|
*/
|
|
7501
7770
|
this.renderActions = () => {
|
|
7502
|
-
return (hAsync("div", { class: "datepicker-actions" }, hAsync("slot", { name: "actions" }, hAsync(CalendarActions, { onReset: this.resetSelection, onConfirm: this.confirmSelection, useSlot: false }))));
|
|
7771
|
+
return (hAsync("div", { class: "datepicker-actions" }, hAsync("slot", { name: "actions" }, hAsync(CalendarActions, { onReset: this.resetSelection, onConfirm: this.confirmSelection, cancelLabel: this.cancelLabel, primaryLabel: this.primaryLabel, useSlot: false }))));
|
|
7503
7772
|
};
|
|
7504
7773
|
}
|
|
7505
7774
|
//#endregion EVENTS
|
|
@@ -7699,8 +7968,8 @@ class NvCalendar {
|
|
|
7699
7968
|
* @slot default - Child content of the component.
|
|
7700
7969
|
*/
|
|
7701
7970
|
render() {
|
|
7702
|
-
return (hAsync(Host, { key: '
|
|
7703
|
-
this.hasActions) && (hAsync("div", { key: '
|
|
7971
|
+
return (hAsync(Host, { key: '9856eac375fde00aa98f18766e52673ac00fbf0d' }, hAsync("div", { key: 'c25e3fc04ed553e086116a40aff0c302c1cbb75b', class: "datepicker-root" }, hAsync("div", { key: 'b32891731ba9f84d1e5ce2a00e4c48d243478816', class: `datepicker-container ${this.numberOfCalendars === 1 ? 'datepicker-container-single' : ''}` }, hAsync("div", { key: 'd051841a48835b7d1637aea05071a4e8ae0cc0aa', class: `datepicker-wrapper ${this.numberOfCalendars === 1 ? 'single' : ''}` }, this.shortcutsPlacement === 'left' && this.renderShortcuts(), Array.from({ length: this.numberOfCalendars }, (_, index) => this.renderCalendar(index, index)), this.shortcutsPlacement === 'right' && this.renderShortcuts()), ((this.hasShortcuts && this.shortcutsPlacement === 'bottom') ||
|
|
7972
|
+
this.hasActions) && (hAsync("div", { key: 'e2f7beb10f042d7694f02453a6d181ba37fa607c', class: "datepicker-controls" }, this.shortcutsPlacement === 'bottom' && this.renderShortcuts(), this.hasActions && this.renderActions())))), hAsync("slot", { key: '77d2bd14bc703b825b2b77c67c99e364e2a58c88' })));
|
|
7704
7973
|
}
|
|
7705
7974
|
get el() { return getElement(this); }
|
|
7706
7975
|
static get watchers() { return {
|
|
@@ -7730,6 +7999,8 @@ class NvCalendar {
|
|
|
7730
7999
|
"showActions": [516, "show-actions"],
|
|
7731
8000
|
"shortcuts": [16],
|
|
7732
8001
|
"showWeekNumbers": [516, "show-week-numbers"],
|
|
8002
|
+
"cancelLabel": [513, "cancel-label"],
|
|
8003
|
+
"primaryLabel": [513, "primary-label"],
|
|
7733
8004
|
"currentDate": [32],
|
|
7734
8005
|
"selectedDate": [32],
|
|
7735
8006
|
"startDate": [32],
|
|
@@ -7740,7 +8011,7 @@ class NvCalendar {
|
|
|
7740
8011
|
},
|
|
7741
8012
|
"$listeners$": undefined,
|
|
7742
8013
|
"$lazyBundleId$": "-",
|
|
7743
|
-
"$attrsToReflect$": [["firstDayOfWeek", "first-day-of-week"], ["numberOfCalendars", "number-of-calendars"], ["value", "value"], ["singleValue", "single-value"], ["min", "min"], ["max", "max"], ["locale", "locale"], ["dateFormat", "date-format"], ["shortcutsPlacement", "shortcuts-placement"], ["selectionType", "selection-type"], ["showActions", "show-actions"], ["showWeekNumbers", "show-week-numbers"]]
|
|
8014
|
+
"$attrsToReflect$": [["firstDayOfWeek", "first-day-of-week"], ["numberOfCalendars", "number-of-calendars"], ["value", "value"], ["singleValue", "single-value"], ["min", "min"], ["max", "max"], ["locale", "locale"], ["dateFormat", "date-format"], ["shortcutsPlacement", "shortcuts-placement"], ["selectionType", "selection-type"], ["showActions", "show-actions"], ["showWeekNumbers", "show-week-numbers"], ["cancelLabel", "cancel-label"], ["primaryLabel", "primary-label"]]
|
|
7744
8015
|
}; }
|
|
7745
8016
|
}
|
|
7746
8017
|
|
|
@@ -13307,10 +13578,6 @@ class NvDialogfooter {
|
|
|
13307
13578
|
* Sets the label for the primary button.
|
|
13308
13579
|
*/
|
|
13309
13580
|
this.primaryLabel = 'Primary';
|
|
13310
|
-
/**
|
|
13311
|
-
* Sets the type of the primary button.
|
|
13312
|
-
*/
|
|
13313
|
-
this.primaryButtonType = ButtonType.Button;
|
|
13314
13581
|
//#endregion EVENTS
|
|
13315
13582
|
/****************************************************************************/
|
|
13316
13583
|
//#region METHODS
|
|
@@ -13341,11 +13608,18 @@ class NvDialogfooter {
|
|
|
13341
13608
|
!node.hasAttribute('slot'));
|
|
13342
13609
|
});
|
|
13343
13610
|
}
|
|
13611
|
+
componentDidLoad() {
|
|
13612
|
+
// Set the default button type based on the form property
|
|
13613
|
+
this.primaryButtonType =
|
|
13614
|
+
this.primaryButtonType || this.form
|
|
13615
|
+
? ButtonType.Submit
|
|
13616
|
+
: ButtonType.Button;
|
|
13617
|
+
}
|
|
13344
13618
|
//#endregion LIFECYCLE
|
|
13345
13619
|
/****************************************************************************/
|
|
13346
13620
|
//#region RENDER
|
|
13347
13621
|
render() {
|
|
13348
|
-
return (hAsync(Host, { key: '
|
|
13622
|
+
return (hAsync(Host, { key: '0868c3af73f89219eee7c006b4ddca47c6da29b0' }, !this.hasSlot ? (hAsync(Fragment, null, !this.undismissable && (hAsync("nv-button", { onClick: this.handleCancel, emphasis: "low", size: "sm" }, this.cancelLabel)), hAsync("nv-button", { onClick: this.handlePrimary, disabled: this.disabled, danger: this.danger, size: "sm", emphasis: "high", form: this.form, type: this.primaryButtonType }, this.leadingIcon && (hAsync("nv-icon", { slot: "leading-icon", name: this.leadingIcon, size: "sm" })), this.primaryLabel, this.trailingIcon && (hAsync("nv-icon", { slot: "trailing-icon", name: this.trailingIcon, size: "sm" }))))) : (hAsync("slot", null))));
|
|
13349
13623
|
}
|
|
13350
13624
|
static get formAssociated() { return true; }
|
|
13351
13625
|
get el() { return getElement(this); }
|
|
@@ -13361,7 +13635,7 @@ class NvDialogfooter {
|
|
|
13361
13635
|
"danger": [516],
|
|
13362
13636
|
"cancelLabel": [513, "cancel-label"],
|
|
13363
13637
|
"primaryLabel": [513, "primary-label"],
|
|
13364
|
-
"primaryButtonType": [
|
|
13638
|
+
"primaryButtonType": [1537, "primary-button-type"],
|
|
13365
13639
|
"form": [513]
|
|
13366
13640
|
},
|
|
13367
13641
|
"$listeners$": undefined,
|
|
@@ -18980,7 +19254,6 @@ class NvFieldmultiselect {
|
|
|
18980
19254
|
* Handle badge close for options mode.
|
|
18981
19255
|
*/
|
|
18982
19256
|
this.handleBadgeCloseOptions = () => {
|
|
18983
|
-
console.info('handleBadgeCloseOptions:', this.value);
|
|
18984
19257
|
this.value = [];
|
|
18985
19258
|
this.valueChanged.emit(this.value);
|
|
18986
19259
|
// Uncheck all elements
|
|
@@ -18998,7 +19271,6 @@ class NvFieldmultiselect {
|
|
|
18998
19271
|
* Handle badge close for slots mode.
|
|
18999
19272
|
*/
|
|
19000
19273
|
this.handleBadgeCloseSlots = () => {
|
|
19001
|
-
console.info('handleBadgeCloseSlots:', this.value);
|
|
19002
19274
|
this.value = [];
|
|
19003
19275
|
this.valueChanged.emit(this.value);
|
|
19004
19276
|
// Uncheck all elements
|
|
@@ -19207,7 +19479,6 @@ class NvFieldmultiselect {
|
|
|
19207
19479
|
try {
|
|
19208
19480
|
// Get visible and enabled option values from DOM
|
|
19209
19481
|
const visibleOptionValues = this.getVisibleEnabledOptionItems();
|
|
19210
|
-
console.info('[SelectAll][Options] toggleSelectAllOptions called. selectAll:', selectAll, 'visibleOptionValues:', visibleOptionValues, 'Current value:', this.value);
|
|
19211
19482
|
if (selectAll) {
|
|
19212
19483
|
// Select all visible options - merge with existing selections
|
|
19213
19484
|
this.value = [...new Set([...this.value, ...visibleOptionValues])];
|
|
@@ -19216,7 +19487,6 @@ class NvFieldmultiselect {
|
|
|
19216
19487
|
// Deselect only the visible options, keep others that might be filtered out
|
|
19217
19488
|
this.value = this.value.filter(val => !visibleOptionValues.includes(val));
|
|
19218
19489
|
}
|
|
19219
|
-
console.info('[SelectAll][Options] New value after toggle:', this.value);
|
|
19220
19490
|
// Emit the change event
|
|
19221
19491
|
this.valueChanged.emit(this.value);
|
|
19222
19492
|
// Synchronize child components
|
|
@@ -19242,7 +19512,6 @@ class NvFieldmultiselect {
|
|
|
19242
19512
|
try {
|
|
19243
19513
|
// Get visible and enabled items
|
|
19244
19514
|
const items = this.getVisibleEnabledSlotItems();
|
|
19245
|
-
console.info('[SelectAll][Slots] toggleSelectAllSlots called. selectAll:', selectAll, 'visible slot items:', items.map(item => item.getAttribute('value') || item.getAttribute('label')), 'Current value:', this.value);
|
|
19246
19515
|
if (selectAll) {
|
|
19247
19516
|
// Select all visible items
|
|
19248
19517
|
const allActiveValues = items
|
|
@@ -19257,7 +19526,6 @@ class NvFieldmultiselect {
|
|
|
19257
19526
|
.filter(value => value !== '');
|
|
19258
19527
|
this.value = this.value.filter(val => !visibleValues.includes(val));
|
|
19259
19528
|
}
|
|
19260
|
-
console.info('[SelectAll][Slots] New value after toggle:', this.value);
|
|
19261
19529
|
// Emit the change event
|
|
19262
19530
|
this.valueChanged.emit(this.value);
|
|
19263
19531
|
// Force synchronization with a small delay to ensure DOM is updated
|
|
@@ -19280,15 +19548,12 @@ class NvFieldmultiselect {
|
|
|
19280
19548
|
this.handleSelectAllCheckboxOptionsClick = (event) => {
|
|
19281
19549
|
event.stopPropagation();
|
|
19282
19550
|
event.preventDefault();
|
|
19283
|
-
console.info('[handleSelectAllCheckboxOptionsClick] event:', event);
|
|
19284
19551
|
const currentState = this.getSelectAllCheckboxStateOptions();
|
|
19285
|
-
console.info('[SelectAll][Options] Checkbox clicked. Current state:', currentState, 'Current value:', this.value);
|
|
19286
19552
|
// Logic to handle the indeterminate state
|
|
19287
19553
|
// - unchecked → select all
|
|
19288
19554
|
// - indeterminate → select all (clicking on indeterminate will change to checked)
|
|
19289
19555
|
// - checked → deselect all
|
|
19290
19556
|
const shouldSelectAll = currentState === 'unchecked' || currentState === 'indeterminate';
|
|
19291
|
-
console.info('[SelectAll][Options] shouldSelectAll:', shouldSelectAll);
|
|
19292
19557
|
this.toggleSelectAllOptions(shouldSelectAll);
|
|
19293
19558
|
};
|
|
19294
19559
|
/**
|
|
@@ -19298,15 +19563,12 @@ class NvFieldmultiselect {
|
|
|
19298
19563
|
this.handleSelectAllCheckboxSlotsClick = (event) => {
|
|
19299
19564
|
event.stopPropagation();
|
|
19300
19565
|
event.preventDefault();
|
|
19301
|
-
console.info('[handleSelectAllCheckboxSlotsClick] event:', event);
|
|
19302
19566
|
const currentState = this.getSelectAllCheckboxStateSlots();
|
|
19303
|
-
console.info('[SelectAll][Slots] Checkbox clicked. Current state:', currentState, 'Current value:', this.value);
|
|
19304
19567
|
// Logic to handle the indeterminate state
|
|
19305
19568
|
// - unchecked → select all
|
|
19306
19569
|
// - indeterminate → select all (clicking on indeterminate will change to checked)
|
|
19307
19570
|
// - checked → deselect all
|
|
19308
19571
|
const shouldSelectAll = currentState === 'unchecked' || currentState === 'indeterminate';
|
|
19309
|
-
console.info('[SelectAll][Slots] shouldSelectAll:', shouldSelectAll);
|
|
19310
19572
|
this.toggleSelectAllSlots(shouldSelectAll);
|
|
19311
19573
|
};
|
|
19312
19574
|
//#endregion METHODS
|
|
@@ -19349,8 +19611,6 @@ class NvFieldmultiselect {
|
|
|
19349
19611
|
/****************************************************************************/
|
|
19350
19612
|
//#region WATCHERS
|
|
19351
19613
|
handleOptionsChange(newValue) {
|
|
19352
|
-
console.info('[Watch:options] newValue:', newValue);
|
|
19353
|
-
console.info('[Watch:options] current value before update:', this.value);
|
|
19354
19614
|
if (!newValue)
|
|
19355
19615
|
return;
|
|
19356
19616
|
// If the parent has set a value prop, use it. Otherwise, derive from checked options.
|
|
@@ -19359,22 +19619,18 @@ class NvFieldmultiselect {
|
|
|
19359
19619
|
this.value = newValue
|
|
19360
19620
|
.filter(option => option.checked)
|
|
19361
19621
|
.map(option => option.value);
|
|
19362
|
-
console.info('[Watch:options] updated value from checked options:', this.value);
|
|
19363
19622
|
}
|
|
19364
19623
|
else {
|
|
19365
19624
|
// If value is set, ensure checked states in options match value
|
|
19366
19625
|
newValue.forEach(option => {
|
|
19367
19626
|
option.checked = this.value.includes(option.value);
|
|
19368
19627
|
});
|
|
19369
|
-
console.info('[Watch:options] options checked state synced to value:', newValue);
|
|
19370
19628
|
}
|
|
19371
19629
|
this.reorderOptionsContent();
|
|
19372
19630
|
}
|
|
19373
19631
|
watchValueHandler() {
|
|
19374
|
-
console.info('[Watch:value] Value changed:', this.value, 'isBulkOperation:', this.isBulkOperation);
|
|
19375
19632
|
// Skip processing during bulk operations
|
|
19376
19633
|
if (this.isBulkOperation) {
|
|
19377
|
-
console.info('[Watch:value] Skipping syncChildComponents and options update due to bulk operation');
|
|
19378
19634
|
return;
|
|
19379
19635
|
}
|
|
19380
19636
|
// Synchronize child components when value changes programmatically
|
|
@@ -19423,11 +19679,9 @@ class NvFieldmultiselect {
|
|
|
19423
19679
|
handleItemChecked(event) {
|
|
19424
19680
|
if (this.disabled || this.readonly || this.isBulkOperation) {
|
|
19425
19681
|
// Skip processing itemChecked events during bulk operations
|
|
19426
|
-
console.info('[Event:itemChecked] Skipped due to bulk operation or disabled/readonly', event.detail);
|
|
19427
19682
|
return;
|
|
19428
19683
|
}
|
|
19429
19684
|
const { value, checked } = event.detail;
|
|
19430
|
-
console.info('[Event:itemChecked] value:', value, 'checked:', checked, 'current value:', this.value);
|
|
19431
19685
|
if (value !== undefined && value !== null) {
|
|
19432
19686
|
const newValue = [...this.value];
|
|
19433
19687
|
const valueIndex = newValue.indexOf(value);
|
|
@@ -19440,7 +19694,6 @@ class NvFieldmultiselect {
|
|
|
19440
19694
|
newValue.splice(valueIndex, 1);
|
|
19441
19695
|
hasChanged = true;
|
|
19442
19696
|
}
|
|
19443
|
-
console.info('[Event:itemChecked] newValue after update:', newValue);
|
|
19444
19697
|
if (hasChanged) {
|
|
19445
19698
|
this.value = newValue;
|
|
19446
19699
|
this.valueChanged.emit(this.value);
|
|
@@ -19474,7 +19727,6 @@ class NvFieldmultiselect {
|
|
|
19474
19727
|
* Subscribe to click outside event.
|
|
19475
19728
|
*/
|
|
19476
19729
|
connectedCallback() {
|
|
19477
|
-
console.info('[Lifecycle] connectedCallback - value:', this.value);
|
|
19478
19730
|
// Bind once and reuse the same reference for add/remove to avoid leaks
|
|
19479
19731
|
if (!this._boundHandleClickOutside) {
|
|
19480
19732
|
this._boundHandleClickOutside = this.handleClickOutside.bind(this);
|
|
@@ -19486,7 +19738,6 @@ class NvFieldmultiselect {
|
|
|
19486
19738
|
*/
|
|
19487
19739
|
componentWillLoad() {
|
|
19488
19740
|
var _a;
|
|
19489
|
-
console.info('[Lifecycle] componentWillLoad - value:', this.value, 'options:', this.options);
|
|
19490
19741
|
// Don't call handleOptionsChange if we are in slots mode
|
|
19491
19742
|
if (this.options) {
|
|
19492
19743
|
this.handleOptionsChange(this.options);
|
|
@@ -19520,7 +19771,6 @@ class NvFieldmultiselect {
|
|
|
19520
19771
|
* Force reorder if options mode in componentDidLoad because of the initial render not trigger @watch
|
|
19521
19772
|
*/
|
|
19522
19773
|
componentDidLoad() {
|
|
19523
|
-
console.info('[Lifecycle] componentDidLoad - value:', this.value, 'options:', this.options);
|
|
19524
19774
|
if (this.options) {
|
|
19525
19775
|
this.handleOptionsChange(this.options);
|
|
19526
19776
|
}
|
|
@@ -19536,7 +19786,6 @@ class NvFieldmultiselect {
|
|
|
19536
19786
|
* Unsubscribe from click outside event.
|
|
19537
19787
|
*/
|
|
19538
19788
|
disconnectedCallback() {
|
|
19539
|
-
console.info('[Lifecycle] disconnectedCallback - value:', this.value);
|
|
19540
19789
|
if (this._boundHandleClickOutside) {
|
|
19541
19790
|
document.removeEventListener('click', this._boundHandleClickOutside);
|
|
19542
19791
|
}
|
|
@@ -19581,7 +19830,6 @@ class NvFieldmultiselect {
|
|
|
19581
19830
|
* @returns {string[]} The selected values.
|
|
19582
19831
|
*/
|
|
19583
19832
|
async getSelectedValues() {
|
|
19584
|
-
console.info('getSelectedValues:', this.value);
|
|
19585
19833
|
return this.value;
|
|
19586
19834
|
}
|
|
19587
19835
|
/**
|
|
@@ -20062,12 +20310,10 @@ class NvFieldmultiselect {
|
|
|
20062
20310
|
return;
|
|
20063
20311
|
}
|
|
20064
20312
|
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
20065
|
-
console.info('[syncChildComponents] value:', this.value);
|
|
20066
20313
|
items.forEach(item => {
|
|
20067
20314
|
// Get the effective value: use explicit value if present, otherwise use label
|
|
20068
20315
|
const itemValue = item.getAttribute('value') || item.getAttribute('label') || '';
|
|
20069
20316
|
const shouldBeChecked = this.value.includes(itemValue);
|
|
20070
|
-
console.info('[syncChildComponents] itemValue:', itemValue, 'shouldBeChecked:', shouldBeChecked, 'item.checked(before):', item.checked);
|
|
20071
20317
|
// Only update if the checked state differs to avoid triggering unnecessary events
|
|
20072
20318
|
if (item.checked !== shouldBeChecked) {
|
|
20073
20319
|
// Set attribute and property, but avoid triggering itemChecked during bulk
|
|
@@ -20086,7 +20332,6 @@ class NvFieldmultiselect {
|
|
|
20086
20332
|
item.checked = shouldBeChecked;
|
|
20087
20333
|
}
|
|
20088
20334
|
}
|
|
20089
|
-
console.info('[syncChildComponents] itemValue:', itemValue, 'item.checked(after):', item.checked);
|
|
20090
20335
|
});
|
|
20091
20336
|
}
|
|
20092
20337
|
/**
|
|
@@ -20184,7 +20429,6 @@ class NvFieldmultiselect {
|
|
|
20184
20429
|
.map(item => item.getAttribute('value') || item.getAttribute('label') || '');
|
|
20185
20430
|
// Combine with current this.value (set by code), ensuring uniqueness
|
|
20186
20431
|
this.value = Array.from(new Set([...(this.value || []), ...checkedValues]));
|
|
20187
|
-
console.info('[initializeValueFromSlots] checkedValues:', checkedValues, 'combined value:', this.value);
|
|
20188
20432
|
}
|
|
20189
20433
|
/**
|
|
20190
20434
|
* Renders description and error description sections
|
|
@@ -20331,7 +20575,7 @@ class NvFieldnumber {
|
|
|
20331
20575
|
//#region METHODS
|
|
20332
20576
|
this.handleInput = (event) => {
|
|
20333
20577
|
const input = event.target;
|
|
20334
|
-
this.value =
|
|
20578
|
+
this.value = input.valueAsNumber;
|
|
20335
20579
|
};
|
|
20336
20580
|
this.handleInputContainerClick = () => {
|
|
20337
20581
|
this.inputElement.focus();
|
|
@@ -21301,17 +21545,24 @@ const FieldInput = props => {
|
|
|
21301
21545
|
else {
|
|
21302
21546
|
inputName = name || '';
|
|
21303
21547
|
}
|
|
21304
|
-
|
|
21305
|
-
|
|
21306
|
-
|
|
21307
|
-
|
|
21308
|
-
|
|
21309
|
-
|
|
21548
|
+
const handleValueChanged = (event) => {
|
|
21549
|
+
event.stopPropagation();
|
|
21550
|
+
const newValue = event.detail;
|
|
21551
|
+
if (isNaN(newValue)) {
|
|
21552
|
+
return;
|
|
21553
|
+
}
|
|
21554
|
+
onInput({
|
|
21555
|
+
value: newValue,
|
|
21556
|
+
index,
|
|
21557
|
+
});
|
|
21558
|
+
};
|
|
21559
|
+
return hasField ? (hAsync("div", { class: clsx(!hasField && 'hidden-input') },
|
|
21560
|
+
hAsync("nv-fieldnumber", Object.assign({ id: inputId, value: fieldValue, min: min, max: max, step: step, disabled: disabled, readonly: readonly, name: inputName }, dataAttrs, { onInput: e => e.stopPropagation(), onValueChanged: handleValueChanged }),
|
|
21310
21561
|
labelBeforeValue && (hAsync("span", { class: "label-before", slot: "leading-input" }, labelBeforeValue)),
|
|
21311
21562
|
labelAfterValue && (hAsync("span", { class: "label-after", slot: "trailing-input" }, labelAfterValue))))) : (hAsync("input", { id: inputId, type: "hidden", value: fieldValue, disabled: disabled, readonly: readonly, name: inputName }));
|
|
21312
21563
|
};
|
|
21313
21564
|
|
|
21314
|
-
const nvFieldsliderCss = "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}";
|
|
21565
|
+
const nvFieldsliderCss = "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;touch-action:none;user-select:none}nv-fieldslider .slider-container .track-container .track::after{content:\"\";position:absolute;top:calc(-13px + var(--slider-track-height) / 2);left:0;width:100%;height:26px;background:rgba(255, 255, 255, 0)}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;touch-action:none;user-select:none;transition:width 0.2s, height 0.2s, box-shadow 0.2s, background-color 0.2s}nv-fieldslider .slider-container .track-container .track .thumb:after{content:\"\";position:absolute;top:-7px;left:-7px;width:calc(100% + 14px);height:calc(100% + 14px);background:rgba(255, 255, 255, 0)}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%);backface-visibility:hidden;-webkit-font-smoothing:antialiased;transform-style:preserve-3d}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;backface-visibility:hidden;will-change:transform, opacity}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}";
|
|
21315
21566
|
var NvFieldsliderStyle0 = nvFieldsliderCss;
|
|
21316
21567
|
|
|
21317
21568
|
/**
|
|
@@ -21344,7 +21595,8 @@ class NvFieldslider {
|
|
|
21344
21595
|
/**
|
|
21345
21596
|
* Enables an optional numeric input field alongside the slider, allowing
|
|
21346
21597
|
* users to type a value directly instead of—or in addition to—using the
|
|
21347
|
-
* slider handle.
|
|
21598
|
+
* slider handle. The field accepts numeric values in the format based on
|
|
21599
|
+
* client-side local settings.
|
|
21348
21600
|
*/
|
|
21349
21601
|
this.hasField = false;
|
|
21350
21602
|
/**
|
|
@@ -21595,16 +21847,15 @@ class NvFieldslider {
|
|
|
21595
21847
|
};
|
|
21596
21848
|
/**
|
|
21597
21849
|
* Handles field input value changes.
|
|
21598
|
-
* @param {
|
|
21850
|
+
* @param {FieldInputProps['onInput']} details - The parsed value and index
|
|
21599
21851
|
*/
|
|
21600
|
-
this.handleFieldChange = (
|
|
21601
|
-
const
|
|
21602
|
-
const newValue = parseFloat(input.value);
|
|
21852
|
+
this.handleFieldChange = (details) => {
|
|
21853
|
+
const newValue = details.value;
|
|
21603
21854
|
if (isNaN(newValue)) {
|
|
21604
21855
|
return;
|
|
21605
21856
|
}
|
|
21606
21857
|
if (this.range) {
|
|
21607
|
-
const fieldIndex =
|
|
21858
|
+
const fieldIndex = details.index === 0 ? 0 : 1;
|
|
21608
21859
|
const updatedRange = [...this.rangeValueInternal];
|
|
21609
21860
|
updatedRange[fieldIndex] = newValue;
|
|
21610
21861
|
this.handleValueChange(updatedRange);
|
|
@@ -21775,11 +22026,11 @@ class NvFieldslider {
|
|
|
21775
22026
|
/****************************************************************************/
|
|
21776
22027
|
//#region RENDER
|
|
21777
22028
|
render() {
|
|
21778
|
-
return (hAsync(Host, { key: '
|
|
22029
|
+
return (hAsync(Host, { key: '5256401116f099a480f35552c3a38072c60d74ed' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'ae1c59b2561f0b007d3f6da3ef379a32fe2ff449', htmlFor: this.startInputId }, hAsync("slot", { key: '6d0b7e287276082ea680fc7fdfaabe428648df03', name: "label" }, this.label))), hAsync("div", { key: '3c09727930e4d7bbde1f1ad578fb87e18f04c8dc', class: "slider-container" }, this.range ? (hAsync(FieldInput, { 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, hAsync("div", { key: 'db7e57716f9fc13e9ecd2e81c4126ccd8ceade9f', class: "track-container" }, hAsync("div", { key: '8b5cc8d661b8179fa71c6729291e72bc743dcb13', class: "track", onPointerDown: this.onTrackInteraction }, this.range ? (hAsync(RangeThumb, { 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 })) : (hAsync(SingleThumb, { 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 }))), hAsync(TickMarks, { key: '4f7ee0f6eccff4a2539b9f33c9f1dd68e0e8afa1', ticks: this.internalTicks, min: this.min, max: this.max })), this.range ? (hAsync(FieldInput, { 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 })) : (hAsync(FieldInput, { 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 ||
|
|
21779
22030
|
this.description ||
|
|
21780
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
22031
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '40b921d84578b1d7ae18fa5f1ebcc34cc1678df2', class: "description" }, this.success && (hAsync("nv-icon", { key: 'c0c7e52eb9118154f18280fdcb09ca4a5db63c74', name: "circle-check", class: "validation", size: "md" })), hAsync("slot", { key: '2d764e1dabf08abb3271de1f8c2cf6f8418d9d5d', name: "description" }, this.description))), (this.error ||
|
|
21781
22032
|
this.errorDescription ||
|
|
21782
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
22033
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '96f9424431a2adcca98f4619350e6d34c2037bc2', class: "error-description", hidden: !this.error }, this.error && (hAsync("nv-icon", { key: 'b77e2b14a5f4e9cdf49c173f5fbf24d6a3f081ff', name: "alert-circle", class: "validation", size: "md" })), hAsync("slot", { key: 'f04a20c146d54c405669109436b28bf9ad99ebd8', name: "error-description" }, this.errorDescription)))));
|
|
21783
22034
|
}
|
|
21784
22035
|
static get formAssociated() { return true; }
|
|
21785
22036
|
get el() { return getElement(this); }
|
|
@@ -23825,6 +24076,133 @@ class NvMenuitem {
|
|
|
23825
24076
|
}; }
|
|
23826
24077
|
}
|
|
23827
24078
|
|
|
24079
|
+
const nvNotificationCss = "nv-notification{display:block}nv-notification [data-scope=container]{display:flex;position:relative;max-width:512px;width:100%;padding:var(--notification-padding);align-items:flex-start;gap:var(--notification-gap-x);border-radius:var(--notification-radius);border-style:solid;box-shadow:0 var(--shadow-y-axis-lg-1, 4px) var(--shadow-blur-lg-1, 6px) var(--shadow-spread-lg-1, -2px) var(--shadow-color-opacity-1, rgba(14, 14, 14, 0.06)), 0 var(--shadow-y-axis-lg-2, 10px) var(--shadow-blur-lg-2, 15px) var(--shadow-spread-lg-2, -3px) var(--shadow-color-opacity-2, rgba(14, 14, 14, 0.1))}nv-notification [data-scope=container]>nv-icon{flex-shrink:0}nv-notification [data-scope=container] [data-scope=dismiss]{padding:var(--button-sm-icon-button-padding, 8px);justify-content:center;align-items:center;gap:var(--button-sm-gap, 6px);display:flex;position:absolute;right:8px;top:8px;border-radius:var(--button-sm-border-radius, 4px);background:var(--components-button-lower-background, rgba(255, 255, 255, 0));color:var(--components-button-lower-icon)}nv-notification [data-scope=container] [data-scope=content]{display:flex;padding-right:var(--notification-padding-right);flex-direction:column;align-items:flex-start;gap:var(--notification-gap-y);flex:1 0 0}nv-notification [data-scope=container] [data-scope=content] [data-scope=heading]{display:flex;align-items:flex-start;gap:var(--notification-gap-x);align-self:stretch;color:var(--components-notification-content-title);font-size:var(--notification-title-font-size);font-style:normal;font-weight:500;line-height:20px;}nv-notification [data-scope=container] [data-scope=content] [data-scope=message]{display:flex;flex-direction:column;align-items:flex-start;gap:var(--notification-gap-y);align-self:stretch;color:var(--components-notification-content-description);font-variant-numeric:lining-nums tabular-nums slashed-zero;font-size:var(--font-size-sm, 14px);font-style:normal;font-weight:400;line-height:var(--line-height-sm, 20px)}nv-notification [data-scope=container] [data-scope=content] [data-scope=actions]{display:flex;padding:var(--spacing-2, 8px) 0;padding-bottom:0px;align-items:flex-start;gap:var(--notification-gap-x);align-self:stretch;margin-left:calc(-1 * var(--button-sm-padding-x))}nv-notification[feedback=information] [data-scope=container]{background-color:var(--components-notification-information-background);border-color:var(--components-notification-information-border)}nv-notification[feedback=information] [data-scope=container]>nv-icon{color:var(--components-notification-information-icon)}nv-notification[feedback=information]>[data-scope=close]:focus,nv-notification[feedback=information]>[data-scope=close]:focus-within{outline:none}nv-notification[feedback=information]>[data-scope=close]:focus-visible,nv-notification[feedback=information]>[data-scope=close]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-notification-information-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-notification[feedback=warning] [data-scope=container]{background-color:var(--components-notification-warning-background);border-color:var(--components-notification-warning-border)}nv-notification[feedback=warning] [data-scope=container]>nv-icon{color:var(--components-notification-warning-icon)}nv-notification[feedback=warning]>[data-scope=close]:focus,nv-notification[feedback=warning]>[data-scope=close]:focus-within{outline:none}nv-notification[feedback=warning]>[data-scope=close]:focus-visible,nv-notification[feedback=warning]>[data-scope=close]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-notification-warning-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-notification[feedback=error] [data-scope=container]{background-color:var(--components-notification-error-background);border-color:var(--components-notification-error-border)}nv-notification[feedback=error] [data-scope=container]>nv-icon{color:var(--components-notification-error-icon)}nv-notification[feedback=error]>[data-scope=close]:focus,nv-notification[feedback=error]>[data-scope=close]:focus-within{outline:none}nv-notification[feedback=error]>[data-scope=close]:focus-visible,nv-notification[feedback=error]>[data-scope=close]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-notification-error-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-notification[feedback=success] [data-scope=container]{background-color:var(--components-notification-success-background);border-color:var(--components-notification-success-border)}nv-notification[feedback=success] [data-scope=container]>nv-icon{color:var(--components-notification-success-icon)}nv-notification[feedback=success]>[data-scope=close]:focus,nv-notification[feedback=success]>[data-scope=close]:focus-within{outline:none}nv-notification[feedback=success]>[data-scope=close]:focus-visible,nv-notification[feedback=success]>[data-scope=close]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-notification-success-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-notification[feedback=neutral] [data-scope=container]{background-color:var(--components-notification-neutral-background);border-color:var(--components-notification-neutral-border)}nv-notification[feedback=neutral] [data-scope=container]>nv-icon{color:var(--components-notification-neutral-icon)}nv-notification[feedback=neutral]>[data-scope=close]:focus,nv-notification[feedback=neutral]>[data-scope=close]:focus-within{outline:none}nv-notification[feedback=neutral]>[data-scope=close]:focus-visible,nv-notification[feedback=neutral]>[data-scope=close]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-notification-neutral-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-notification[emphasis=high] [data-scope=container]{border-width:1px;border-left-width:var(--notification-border-width-high-emphasis);padding-left:calc(var(--notification-padding) - var(--notification-border-width-high-emphasis) + 1px)}nv-notification[emphasis=medium] [data-scope=container]{border-width:var(--notification-border-width-low-emphasis);border-color:var(--color-content-low-border, #E3E3E3)}";
|
|
24080
|
+
var NvNotificationStyle0 = nvNotificationCss;
|
|
24081
|
+
|
|
24082
|
+
/**
|
|
24083
|
+
* @slot heading - Use this slot to insert HTML as the notification title.
|
|
24084
|
+
* @slot content - Use this slot to insert HTML as the notification message.
|
|
24085
|
+
* @slot actions - Use this slot for custom actions.
|
|
24086
|
+
*/
|
|
24087
|
+
class NvNotification {
|
|
24088
|
+
constructor(hostRef) {
|
|
24089
|
+
registerInstance(this, hostRef);
|
|
24090
|
+
this.hiddenChanged = createEvent(this, "hiddenChanged", 7);
|
|
24091
|
+
/****************************************************************************/
|
|
24092
|
+
//#region PROPERTIES
|
|
24093
|
+
/**
|
|
24094
|
+
* Set a unique ID for the notification. Used for aria attributes and managing
|
|
24095
|
+
* multiple notifications.
|
|
24096
|
+
*/
|
|
24097
|
+
this.uid = v4();
|
|
24098
|
+
/**
|
|
24099
|
+
* Specifies the notification type which determines the color and default icon.
|
|
24100
|
+
*/
|
|
24101
|
+
this.feedback = 'information';
|
|
24102
|
+
/**
|
|
24103
|
+
* Adjusts the emphasis to make the notification more or less visually
|
|
24104
|
+
* prominent to users. Use this to draw attention to important actions or
|
|
24105
|
+
* reduce focus on less critical ones
|
|
24106
|
+
*/
|
|
24107
|
+
this.emphasis = 'medium';
|
|
24108
|
+
/**
|
|
24109
|
+
* Allows the notification to be dismissed via a close button (x). The
|
|
24110
|
+
* notification is not dismissible unless explicitly enabled.
|
|
24111
|
+
*/
|
|
24112
|
+
this.dismissible = false;
|
|
24113
|
+
/**
|
|
24114
|
+
* Controls the visibility of the notification.
|
|
24115
|
+
*/
|
|
24116
|
+
this.hidden = false; // eslint-disable-line @stencil-community/reserved-member-names
|
|
24117
|
+
//#endregion EVENTS
|
|
24118
|
+
/****************************************************************************/
|
|
24119
|
+
//#region INTERNAL
|
|
24120
|
+
this.iconByFeedback = {
|
|
24121
|
+
[FeedbackColors.Warning]: 'alert-circle',
|
|
24122
|
+
[FeedbackColors.Information]: 'info-circle',
|
|
24123
|
+
[FeedbackColors.Success]: 'circle-check',
|
|
24124
|
+
[FeedbackColors.Error]: 'alert-triangle',
|
|
24125
|
+
[FeedbackColors.Neutral]: 'help',
|
|
24126
|
+
};
|
|
24127
|
+
this.roleByFeedback = {
|
|
24128
|
+
[FeedbackColors.Error]: 'alert',
|
|
24129
|
+
[FeedbackColors.Warning]: 'alert',
|
|
24130
|
+
[FeedbackColors.Information]: 'status',
|
|
24131
|
+
[FeedbackColors.Success]: 'status',
|
|
24132
|
+
[FeedbackColors.Neutral]: 'status',
|
|
24133
|
+
};
|
|
24134
|
+
}
|
|
24135
|
+
//#endregion PROPERTIES
|
|
24136
|
+
/****************************************************************************/
|
|
24137
|
+
//#region METHODS
|
|
24138
|
+
async dismiss() {
|
|
24139
|
+
await this.dismissAnimation();
|
|
24140
|
+
}
|
|
24141
|
+
getDefaultIcon() {
|
|
24142
|
+
var _a;
|
|
24143
|
+
return (_a = this.iconByFeedback[this.feedback]) !== null && _a !== void 0 ? _a : 'info-circle';
|
|
24144
|
+
}
|
|
24145
|
+
getAriaRole() {
|
|
24146
|
+
var _a;
|
|
24147
|
+
return (_a = this.roleByFeedback[this.feedback]) !== null && _a !== void 0 ? _a : 'status';
|
|
24148
|
+
}
|
|
24149
|
+
getAriaLive() {
|
|
24150
|
+
return this.getAriaRole() === 'alert' ? 'assertive' : 'polite';
|
|
24151
|
+
}
|
|
24152
|
+
getHeadingId() {
|
|
24153
|
+
return this.heading ? `nv-notification-${this.uid}-heading` : null;
|
|
24154
|
+
}
|
|
24155
|
+
getMessageId() {
|
|
24156
|
+
return this.message ? `nv-notification-${this.uid}-message` : null;
|
|
24157
|
+
}
|
|
24158
|
+
async dismissAnimation() {
|
|
24159
|
+
const { fadeOut } = useFade(this.container, { duration: 300 });
|
|
24160
|
+
const { slideOut } = useSlide(this.container, { duration: 800 });
|
|
24161
|
+
const { collapse } = useCollapse(this.el, {
|
|
24162
|
+
duration: 800,
|
|
24163
|
+
overflow: 'visible',
|
|
24164
|
+
});
|
|
24165
|
+
await parallel(fadeOut, slideOut, collapse).start();
|
|
24166
|
+
this.hidden = true;
|
|
24167
|
+
this.hiddenChanged.emit(true);
|
|
24168
|
+
}
|
|
24169
|
+
//#endregion INTERNAL
|
|
24170
|
+
/****************************************************************************/
|
|
24171
|
+
//#region LIFECYCLE
|
|
24172
|
+
componentWillLoad() {
|
|
24173
|
+
this.headingSlot = this.el.querySelector('[slot="heading"]');
|
|
24174
|
+
this.messageSlot = this.el.querySelector('[slot="content"]');
|
|
24175
|
+
this.actionsSlot = this.el.querySelector('[slot="actions"]');
|
|
24176
|
+
}
|
|
24177
|
+
//#endregion LIFECYCLE
|
|
24178
|
+
/****************************************************************************/
|
|
24179
|
+
//#region RENDER
|
|
24180
|
+
render() {
|
|
24181
|
+
var _a, _b, _c;
|
|
24182
|
+
return (hAsync(Host, { key: '9146cea4ed72801aadf2fb4b7e44895038c98437', role: this.getAriaRole(), "aria-live": this.getAriaLive(), "aria-atomic": true, "aria-labelledby": (_a = this.getHeadingId()) !== null && _a !== void 0 ? _a : null, "aria-describedby": (_b = this.getMessageId()) !== null && _b !== void 0 ? _b : null, tabindex: "-1" }, hAsync("div", { key: 'beed9ae5f6fac1b0c6d103dd75a41e0aede84041', "data-scope": "container", ref: el => (this.container = el) }, this.dismissible && (hAsync("button", { key: '8e17f33867c2563de719dc1b0f0e2d4ae39ad1a6', "data-scope": "dismiss", type: "button", onClick: this.dismiss.bind(this) }, hAsync("nv-icon", { key: 'cb8850135bb2383e33a16671569547611b55e434', name: "x", size: "sm" }))), hAsync("nv-icon", { key: 'f5f58e1c3a94d854841271eb12af047322b2f0b4', name: (_c = this.icon) !== null && _c !== void 0 ? _c : this.getDefaultIcon(), size: "md" }), hAsync("div", { key: '9c6f6bb0315cd25260d483472a24832031ce45da', "data-scope": "content" }, (this.heading || this.headingSlot) && (hAsync("p", { key: '1013d6b6790f75682a1db0e43293b61e614f1c07', id: this.getHeadingId(), "data-scope": "heading" }, hAsync("slot", { key: '844a7bccf6f365d4e59dfdec9b3c9096cbeda798', name: "heading" }, this.heading))), (this.message || this.messageSlot) && (hAsync("p", { key: '6688e9dc927f6164ce60f27b84fdbeb257296504', id: this.getMessageId(), "data-scope": "message" }, hAsync("slot", { key: 'f0c0790faa40411970575240a081f0f0bf0e9aff', name: "content" }, this.message))), this.actionsSlot && (hAsync("div", { key: '0ba946edf5b3a8410da3b375e589613a2674fd15', "data-scope": "actions" }, hAsync("slot", { key: '0360ab92db66957f0290569c39307ced2be5922d', name: "actions" })))))));
|
|
24183
|
+
}
|
|
24184
|
+
get el() { return getElement(this); }
|
|
24185
|
+
static get style() { return NvNotificationStyle0; }
|
|
24186
|
+
static get cmpMeta() { return {
|
|
24187
|
+
"$flags$": 4,
|
|
24188
|
+
"$tagName$": "nv-notification",
|
|
24189
|
+
"$members$": {
|
|
24190
|
+
"uid": [513],
|
|
24191
|
+
"feedback": [513],
|
|
24192
|
+
"emphasis": [513],
|
|
24193
|
+
"heading": [513],
|
|
24194
|
+
"message": [513],
|
|
24195
|
+
"icon": [513],
|
|
24196
|
+
"dismissible": [516],
|
|
24197
|
+
"hidden": [1540],
|
|
24198
|
+
"dismiss": [64]
|
|
24199
|
+
},
|
|
24200
|
+
"$listeners$": undefined,
|
|
24201
|
+
"$lazyBundleId$": "-",
|
|
24202
|
+
"$attrsToReflect$": [["uid", "uid"], ["feedback", "feedback"], ["emphasis", "emphasis"], ["heading", "heading"], ["message", "message"], ["icon", "icon"], ["dismissible", "dismissible"], ["hidden", "hidden"]]
|
|
24203
|
+
}; }
|
|
24204
|
+
}
|
|
24205
|
+
|
|
23828
24206
|
/**
|
|
23829
24207
|
* Custom positioning reference element.
|
|
23830
24208
|
* @see https://floating-ui.com/docs/virtual-elements
|
|
@@ -26205,7 +26583,7 @@ class NvPopover {
|
|
|
26205
26583
|
/****************************************************************************/
|
|
26206
26584
|
//#region RENDER
|
|
26207
26585
|
render() {
|
|
26208
|
-
return (hAsync(Host, { key: '
|
|
26586
|
+
return (hAsync(Host, { key: 'dc7ef1862f1a1da4b32e02bee827f81545df73d1' }, hAsync("slot", { key: '7535c2ba2b1f600c237602c68a04c85fd9d6d98b', name: "trigger" }), hAsync("div", { key: '8e7907e2fda20d35b00642eca0507aa20e56f7cb', "data-scope": "popover", "data-strategy": this.strategy, hidden: true, ref: el => (this.popoverElement = el) }, this.hasArrow && (hAsync("div", { key: '4e081e84e9597b69351253d1c1b89c115cdcfd9a', "data-scope": "arrow", ref: el => (this.arrowElement = el) })), hAsync("slot", { key: '5bcd80588e9746db974cee69c5963b698665d105', name: "content" }))));
|
|
26209
26587
|
}
|
|
26210
26588
|
get el() { return getElement(this); }
|
|
26211
26589
|
static get watchers() { return {
|
|
@@ -26252,7 +26630,7 @@ class NvRow {
|
|
|
26252
26630
|
/****************************************************************************/
|
|
26253
26631
|
//#region RENDER
|
|
26254
26632
|
render() {
|
|
26255
|
-
return (hAsync(Host, { key: '
|
|
26633
|
+
return (hAsync(Host, { key: '8415bdad0106bd3d836996c617a749294e0c19e2' }, hAsync("slot", { key: '77c069ced0dc25c4169945877c388f30d27fdc4f' })));
|
|
26256
26634
|
}
|
|
26257
26635
|
static get style() { return NvRowStyle0; }
|
|
26258
26636
|
static get cmpMeta() { return {
|
|
@@ -26287,7 +26665,7 @@ class NvStack {
|
|
|
26287
26665
|
/****************************************************************************/
|
|
26288
26666
|
//#region RENDER
|
|
26289
26667
|
render() {
|
|
26290
|
-
return (hAsync(Host, { key: '
|
|
26668
|
+
return (hAsync(Host, { key: '66123f22ad4a6ebefe8663c795274eb900d2c178', class: clsx(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') }, hAsync("slot", { key: '7b3d395c3490664f0e2f337a04f69cc717ed6c0e' })));
|
|
26291
26669
|
}
|
|
26292
26670
|
static get style() { return NvStackStyle0; }
|
|
26293
26671
|
static get cmpMeta() { return {
|
|
@@ -26624,14 +27002,14 @@ class NvTable {
|
|
|
26624
27002
|
const rows = !this.table || this.table === undefined || this.parsedData.length === 0
|
|
26625
27003
|
? []
|
|
26626
27004
|
: this.table.data;
|
|
26627
|
-
return (hAsync(Host, { key: '
|
|
27005
|
+
return (hAsync(Host, { key: 'ea0b3237145fbc199d356010f1e001797afc52d6' }, hAsync("div", { key: 'd3bf41bad48e549d1799b2c8e55a308a7d767973', class: "hidden" }, hAsync("slot", { key: '8263220ebd266240b16228b67f8d215d7d56afd7' })), hAsync("slot", { key: '36d43d6870cf9a6021521579c0507afd1fe85081', name: "before" }), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (hAsync("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (hAsync("table", { class: "table" }, this.parsedColumns.length > 0 && headerGroups.length > 0 && (hAsync("thead", { class: "table-header" }, hAsync("tr", null, headerGroups &&
|
|
26628
27006
|
headerGroups.map(col => {
|
|
26629
27007
|
return (hAsync("th", { key: col.name }, this.renderTemplate(this.headerTemplateCache.get(col.name), {}) || col.header));
|
|
26630
27008
|
})))), hAsync("tbody", { class: "table-body" }, !rows || rows.length === 0 ? (hAsync("tr", null, hAsync("td", { colSpan: headerGroups.length || 12, class: "no-data" }, this.noDataMessage))) : (rows.map(row => (hAsync("tr", { key: JSON.stringify(row) }, headerGroups.map(col => {
|
|
26631
27009
|
var _a;
|
|
26632
27010
|
return (hAsync("td", null, this.renderTemplate(this.templateCache.get(col.name), row) ||
|
|
26633
27011
|
((_a = row[col.name]) !== null && _a !== void 0 ? _a : this.fallbackValue)));
|
|
26634
|
-
})))))))), hAsync("slot", { key: '
|
|
27012
|
+
})))))))), hAsync("slot", { key: '233b61e9099f58ca0eeeb7d0f7fdc7bd71bc9065', name: "after" })));
|
|
26635
27013
|
}
|
|
26636
27014
|
get el() { return getElement(this); }
|
|
26637
27015
|
static get watchers() { return {
|
|
@@ -26751,8 +27129,8 @@ class NvToggle {
|
|
|
26751
27129
|
/****************************************************************************/
|
|
26752
27130
|
//#region RENDER
|
|
26753
27131
|
render() {
|
|
26754
|
-
return (hAsync(Host, { key: '
|
|
26755
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
27132
|
+
return (hAsync(Host, { key: 'db161d2edfcf7f83381b6431c8bc70a22c04fbf3', class: clsx(this.labelPlacement === 'before' && 'label-placement-before') }, hAsync("div", { key: '086d6c429b4b7bcaa23093b13d30cf6ba21912f8', class: "input-container" }, hAsync("input", { key: 'e83f407f2c3643c245198131a7991545b73dde78', type: "checkbox", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly })), hAsync("div", { key: 'eb5af410d1c643c70a4364948bf8fad9d54e74df', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '54793fd81258bee7676801f23da4f5fb554242bf', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, hAsync("slot", { key: '6af650d9677d1eb0f8cfa77cbcd6318f2d6f8aaf', name: "label" }, this.label))), (this.description ||
|
|
27133
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '2c157429288779ad6cc18d4e318e64830a657c54', class: "description" }, hAsync("slot", { key: 'fcfae2a0d7cdcc76d4b23c4b376c8e2496e11bb5', name: "description" }, this.description))))));
|
|
26756
27134
|
}
|
|
26757
27135
|
static get formAssociated() { return true; }
|
|
26758
27136
|
get el() { return getElement(this); }
|
|
@@ -26828,7 +27206,7 @@ class NvTogglebutton {
|
|
|
26828
27206
|
/****************************************************************************/
|
|
26829
27207
|
//#region RENDER
|
|
26830
27208
|
render() {
|
|
26831
|
-
return (hAsync(Host, { key: '
|
|
27209
|
+
return (hAsync(Host, { key: 'cb15a84c7e7cc27a80773613f31b98168eee8475', role: "button", tabindex: "0", "aria-pressed": String(this.active), onClick: this.handleClick }, hAsync("slot", { key: '32d6b9394088d88c4671fb7809ad6aa85b240fff' })));
|
|
26832
27210
|
}
|
|
26833
27211
|
static get style() { return NvTogglebuttonStyle0; }
|
|
26834
27212
|
static get cmpMeta() { return {
|
|
@@ -27004,7 +27382,7 @@ class NvTogglebuttongroup {
|
|
|
27004
27382
|
/****************************************************************************/
|
|
27005
27383
|
//#region RENDER
|
|
27006
27384
|
render() {
|
|
27007
|
-
return (hAsync(Host, { key: '
|
|
27385
|
+
return (hAsync(Host, { key: 'ce185699fabd71bb5c22e5a0d73df88067acb9d6' }, hAsync("slot", { key: 'a1e375fb1e8660f3fdb75d96f18db20735a3a64d' })));
|
|
27008
27386
|
}
|
|
27009
27387
|
get el() { return getElement(this); }
|
|
27010
27388
|
static get watchers() { return {
|
|
@@ -27075,7 +27453,7 @@ class NvTooltip {
|
|
|
27075
27453
|
/****************************************************************************/
|
|
27076
27454
|
//#region RENDER
|
|
27077
27455
|
render() {
|
|
27078
|
-
return (hAsync(Host, { key: '
|
|
27456
|
+
return (hAsync(Host, { key: 'e0b68e5ade824e2b0f9c5e5cac140349412c919d' }, hAsync("slot", { key: 'd61a58d034818fdba87b4ab17ce903bbb13a47ff' }), hAsync("nv-popover", { key: '408df675045f95adf270025f83285b2e125873c5', triggerMode: "hover", hasArrow: true, placement: this.placement, strategy: this.strategy, triggerElement: this.triggerElement, groupName: 'tooltip', enterDelay: this.enterDelay }, hAsync("p", { key: 'e4f860f09f5e5ef83b5e704c271781f41a643e59', slot: "content" }, this.message), hAsync("slot", { key: '2e2e4dcae68651d734696e718c59389f712562df', name: "content" }))));
|
|
27079
27457
|
}
|
|
27080
27458
|
get el() { return getElement(this); }
|
|
27081
27459
|
static get style() { return NvTooltipStyle0; }
|
|
@@ -27132,6 +27510,7 @@ registerComponents([
|
|
|
27132
27510
|
NvLoader,
|
|
27133
27511
|
NvMenu,
|
|
27134
27512
|
NvMenuitem,
|
|
27513
|
+
NvNotification,
|
|
27135
27514
|
NvPopover,
|
|
27136
27515
|
NvRow,
|
|
27137
27516
|
NvStack,
|