@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.js
CHANGED
|
@@ -2745,13 +2745,14 @@ class NvAccordion {
|
|
|
2745
2745
|
* Expansion mode: 'accordion' (single open) or 'multi' (multiple open)
|
|
2746
2746
|
*/
|
|
2747
2747
|
this.mode = 'accordion';
|
|
2748
|
+
/**
|
|
2749
|
+
* Index of open items (external control possible)
|
|
2750
|
+
*/
|
|
2751
|
+
this.openIndexes = [];
|
|
2748
2752
|
//#endregion PROPERTIES
|
|
2749
2753
|
/****************************************************************************/
|
|
2750
2754
|
//#region STATE
|
|
2751
|
-
|
|
2752
|
-
* Internal index of open items (not exposed)
|
|
2753
|
-
*/
|
|
2754
|
-
this.internalOpenIndexes = [];
|
|
2755
|
+
this.updatingFromInternal = false;
|
|
2755
2756
|
}
|
|
2756
2757
|
//#endregion EVENTS
|
|
2757
2758
|
/****************************************************************************/
|
|
@@ -2776,113 +2777,125 @@ class NvAccordion {
|
|
|
2776
2777
|
* @param {boolean} [forceOpen] Force open (true) or close (false)
|
|
2777
2778
|
*/
|
|
2778
2779
|
toggleItem(index, forceOpen) {
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2780
|
+
const items = Array.from(this.el.querySelectorAll('nv-accordion-item'));
|
|
2781
|
+
const item = items[index];
|
|
2782
|
+
if (!item || item.disabled) {
|
|
2783
|
+
console.warn('[toggleItem] Item not found or disabled:', index);
|
|
2784
|
+
this.openChanged.emit({ openIndexes: [...(this.openIndexes || [])] });
|
|
2785
|
+
return;
|
|
2786
|
+
}
|
|
2787
|
+
let openIndexes = [...(this.openIndexes || [])];
|
|
2782
2788
|
const isOpen = openIndexes.includes(index);
|
|
2783
2789
|
if (this.mode === 'accordion') {
|
|
2784
|
-
openIndexes =
|
|
2790
|
+
openIndexes =
|
|
2791
|
+
forceOpen === false || (forceOpen === undefined && isOpen)
|
|
2792
|
+
? []
|
|
2793
|
+
: [index];
|
|
2785
2794
|
}
|
|
2786
2795
|
else {
|
|
2787
2796
|
if (forceOpen === false) {
|
|
2788
2797
|
openIndexes = openIndexes.filter(i => i !== index);
|
|
2789
2798
|
}
|
|
2790
|
-
else if (!isOpen) {
|
|
2799
|
+
else if (forceOpen === true && !isOpen) {
|
|
2791
2800
|
openIndexes.push(index);
|
|
2792
2801
|
}
|
|
2802
|
+
else if (forceOpen === undefined) {
|
|
2803
|
+
openIndexes = isOpen
|
|
2804
|
+
? openIndexes.filter(i => i !== index)
|
|
2805
|
+
: [...openIndexes, index];
|
|
2806
|
+
}
|
|
2793
2807
|
}
|
|
2794
|
-
this.
|
|
2795
|
-
this.
|
|
2796
|
-
if (this.openIndexes !== undefined) {
|
|
2797
|
-
this.openIndexes =
|
|
2798
|
-
this.mode === 'accordion'
|
|
2799
|
-
? [openIndexes[0]].filter(x => x !== undefined)
|
|
2800
|
-
: [...openIndexes];
|
|
2801
|
-
}
|
|
2802
|
-
// Update child elements state - for both data and slot usage
|
|
2808
|
+
this.updatingFromInternal = true;
|
|
2809
|
+
this.openIndexes = [...openIndexes];
|
|
2803
2810
|
this.updateChildrenState();
|
|
2811
|
+
this.updatingFromInternal = false;
|
|
2812
|
+
this.openChanged.emit({ openIndexes: [...openIndexes] });
|
|
2804
2813
|
}
|
|
2805
2814
|
/**
|
|
2806
|
-
* Updates the open state of child elements based on
|
|
2815
|
+
* Updates the open state of child elements based on openIndexes
|
|
2807
2816
|
*/
|
|
2808
2817
|
async updateChildrenState() {
|
|
2809
|
-
|
|
2810
|
-
|
|
2818
|
+
const items = Array.from(this.el.querySelectorAll('nv-accordion-item'));
|
|
2819
|
+
items.forEach((item, i) => {
|
|
2820
|
+
const shouldBeOpen = (this.openIndexes || []).includes(i);
|
|
2821
|
+
item.open = shouldBeOpen;
|
|
2822
|
+
item.mode = this.mode;
|
|
2823
|
+
item.setAttribute('aria-expanded', shouldBeOpen ? 'true' : 'false');
|
|
2824
|
+
});
|
|
2811
2825
|
}
|
|
2812
2826
|
/**
|
|
2813
2827
|
* Listens to itemToggle events from nv-accordion-item elements
|
|
2814
2828
|
* @param {CustomEvent<boolean>} event Event emitted by nv-accordion-item
|
|
2815
2829
|
*/
|
|
2816
2830
|
onItemToggle(event) {
|
|
2817
|
-
|
|
2831
|
+
if (this.updatingFromInternal) {
|
|
2832
|
+
return;
|
|
2833
|
+
}
|
|
2818
2834
|
const items = Array.from(this.el.querySelectorAll('nv-accordion-item'));
|
|
2819
2835
|
const targetItem = event.target;
|
|
2820
2836
|
const index = items.indexOf(targetItem);
|
|
2821
2837
|
if (index !== -1) {
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
items.forEach((item, i) => {
|
|
2827
|
-
if (i !== index && item.open) {
|
|
2828
|
-
item.open = false;
|
|
2829
|
-
}
|
|
2830
|
-
});
|
|
2831
|
-
this.internalOpenIndexes = [index];
|
|
2832
|
-
}
|
|
2833
|
-
else {
|
|
2834
|
-
// Add index to internalOpenIndexes if not already present
|
|
2835
|
-
if (!this.internalOpenIndexes.includes(index)) {
|
|
2836
|
-
this.internalOpenIndexes = [...this.internalOpenIndexes, index];
|
|
2837
|
-
}
|
|
2838
|
-
}
|
|
2839
|
-
}
|
|
2840
|
-
else {
|
|
2841
|
-
// If the item is closing, remove it from internalOpenIndexes
|
|
2842
|
-
this.internalOpenIndexes = this.internalOpenIndexes.filter(i => i !== index);
|
|
2843
|
-
}
|
|
2844
|
-
// Emit openChanged event
|
|
2845
|
-
this.openChanged.emit({ openIndexes: this.internalOpenIndexes });
|
|
2846
|
-
if (this.openIndexes !== undefined) {
|
|
2847
|
-
this.openIndexes =
|
|
2848
|
-
this.mode === 'accordion'
|
|
2849
|
-
? [this.internalOpenIndexes[0]].filter(x => x !== undefined)
|
|
2850
|
-
: [...this.internalOpenIndexes];
|
|
2851
|
-
}
|
|
2838
|
+
this.toggleItem(index, event.detail);
|
|
2839
|
+
}
|
|
2840
|
+
else {
|
|
2841
|
+
console.warn('[onItemToggle] Target item not found in items list');
|
|
2852
2842
|
}
|
|
2853
2843
|
}
|
|
2854
2844
|
//#endregion METHODS
|
|
2855
2845
|
/****************************************************************************/
|
|
2856
2846
|
//#region WATCHERS
|
|
2847
|
+
onOpenIndexesChange(newValue, oldValue) {
|
|
2848
|
+
if (!this.updatingFromInternal &&
|
|
2849
|
+
newValue !== undefined &&
|
|
2850
|
+
newValue !== oldValue) {
|
|
2851
|
+
this.updateChildrenState();
|
|
2852
|
+
}
|
|
2853
|
+
}
|
|
2854
|
+
onModeChange() {
|
|
2855
|
+
this.updateChildrenState();
|
|
2856
|
+
}
|
|
2857
2857
|
//#endregion WATCHERS
|
|
2858
2858
|
/****************************************************************************/
|
|
2859
2859
|
//#region LIFECYCLE
|
|
2860
2860
|
componentWillLoad() {
|
|
2861
|
-
if (this.openIndexes
|
|
2862
|
-
this.
|
|
2863
|
-
}
|
|
2864
|
-
}
|
|
2865
|
-
componentDidLoad() {
|
|
2866
|
-
// If using direct child elements, initialize their state
|
|
2867
|
-
if (!this.data || this.data.length === 0) {
|
|
2868
|
-
this.updateChildrenState();
|
|
2861
|
+
if (this.openIndexes === undefined) {
|
|
2862
|
+
this.openIndexes = [];
|
|
2869
2863
|
}
|
|
2870
2864
|
}
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2865
|
+
async componentDidLoad() {
|
|
2866
|
+
var _a;
|
|
2867
|
+
const items = Array.from(this.el.querySelectorAll('nv-accordion-item'));
|
|
2868
|
+
// Only initialize openIndexes from child items if no data is provided and openIndexes is not explicitly set
|
|
2869
|
+
if (!((_a = this.data) === null || _a === void 0 ? void 0 : _a.length) &&
|
|
2870
|
+
(!this.openIndexes || this.openIndexes.length === 0)) {
|
|
2871
|
+
const childOpenIndexes = items
|
|
2872
|
+
.map((item, i) => (item.hasAttribute('open') || item.open ? i : -1))
|
|
2873
|
+
.filter(i => i !== -1);
|
|
2874
|
+
if (childOpenIndexes.length > 0) {
|
|
2875
|
+
this.updatingFromInternal = true;
|
|
2876
|
+
this.openIndexes = [...childOpenIndexes];
|
|
2877
|
+
this.updatingFromInternal = false;
|
|
2878
|
+
this.openChanged.emit({ openIndexes: [...this.openIndexes] });
|
|
2879
|
+
}
|
|
2880
|
+
}
|
|
2881
|
+
// Ensure children are in sync with current openIndexes state
|
|
2882
|
+
await this.updateChildrenState();
|
|
2875
2883
|
}
|
|
2876
2884
|
//#endregion LIFECYCLE
|
|
2877
2885
|
/****************************************************************************/
|
|
2878
2886
|
//#region RENDER
|
|
2879
2887
|
render() {
|
|
2880
|
-
|
|
2888
|
+
var _a;
|
|
2889
|
+
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) => {
|
|
2881
2890
|
var _a;
|
|
2882
|
-
return (hAsync("nv-accordion-item", { key: (_a = item.id) !== null && _a !== void 0 ? _a : i, itemTitle: item.title, disabled: item.disabled, open: (this.
|
|
2891
|
+
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)));
|
|
2883
2892
|
})) : (hAsync("slot", null))));
|
|
2884
2893
|
}
|
|
2885
2894
|
get el() { return getElement(this); }
|
|
2895
|
+
static get watchers() { return {
|
|
2896
|
+
"openIndexes": ["onOpenIndexesChange"],
|
|
2897
|
+
"mode": ["onModeChange"]
|
|
2898
|
+
}; }
|
|
2886
2899
|
static get style() { return NvAccordionStyle0; }
|
|
2887
2900
|
static get cmpMeta() { return {
|
|
2888
2901
|
"$flags$": 4,
|
|
@@ -2891,7 +2904,7 @@ class NvAccordion {
|
|
|
2891
2904
|
"data": [16],
|
|
2892
2905
|
"mode": [513],
|
|
2893
2906
|
"openIndexes": [1040],
|
|
2894
|
-
"
|
|
2907
|
+
"updatingFromInternal": [32],
|
|
2895
2908
|
"open": [64],
|
|
2896
2909
|
"close": [64]
|
|
2897
2910
|
},
|
|
@@ -3551,8 +3564,9 @@ const DEFAULT_OVERSHOOT_STRENGTH = 1.525;
|
|
|
3551
3564
|
const BOUNCE_FIRST_THRESHOLD = 4.0 / 11.0;
|
|
3552
3565
|
const BOUNCE_SECOND_THRESHOLD = 8.0 / 11.0;
|
|
3553
3566
|
const BOUNCE_THIRD_THRESHOLD = 9.0 / 10.0;
|
|
3567
|
+
const linear = p => p;
|
|
3554
3568
|
const easeIn = createExpoIn(2);
|
|
3555
|
-
reverseEasing(easeIn);
|
|
3569
|
+
const easeOut = reverseEasing(easeIn);
|
|
3556
3570
|
const easeInOut = mirrorEasing(easeIn);
|
|
3557
3571
|
const circIn = p => 1 - Math.sin(Math.acos(p));
|
|
3558
3572
|
const circOut = reverseEasing(circIn);
|
|
@@ -3872,6 +3886,217 @@ function animate(_a) {
|
|
|
3872
3886
|
};
|
|
3873
3887
|
}
|
|
3874
3888
|
|
|
3889
|
+
const a = (a1, a2) => 1.0 - 3.0 * a2 + 3.0 * a1;
|
|
3890
|
+
const b = (a1, a2) => 3.0 * a2 - 6.0 * a1;
|
|
3891
|
+
const c = (a1) => 3.0 * a1;
|
|
3892
|
+
const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;
|
|
3893
|
+
const getSlope = (t, a1, a2) => 3.0 * a(a1, a2) * t * t + 2.0 * b(a1, a2) * t + c(a1);
|
|
3894
|
+
const subdivisionPrecision = 0.0000001;
|
|
3895
|
+
const subdivisionMaxIterations = 10;
|
|
3896
|
+
function binarySubdivide(aX, aA, aB, mX1, mX2) {
|
|
3897
|
+
let currentX;
|
|
3898
|
+
let currentT;
|
|
3899
|
+
let i = 0;
|
|
3900
|
+
do {
|
|
3901
|
+
currentT = aA + (aB - aA) / 2.0;
|
|
3902
|
+
currentX = calcBezier(currentT, mX1, mX2) - aX;
|
|
3903
|
+
if (currentX > 0.0) {
|
|
3904
|
+
aB = currentT;
|
|
3905
|
+
}
|
|
3906
|
+
else {
|
|
3907
|
+
aA = currentT;
|
|
3908
|
+
}
|
|
3909
|
+
} while (Math.abs(currentX) > subdivisionPrecision &&
|
|
3910
|
+
++i < subdivisionMaxIterations);
|
|
3911
|
+
return currentT;
|
|
3912
|
+
}
|
|
3913
|
+
const newtonIterations = 8;
|
|
3914
|
+
const newtonMinSlope = 0.001;
|
|
3915
|
+
function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {
|
|
3916
|
+
for (let i = 0; i < newtonIterations; ++i) {
|
|
3917
|
+
const currentSlope = getSlope(aGuessT, mX1, mX2);
|
|
3918
|
+
if (currentSlope === 0.0) {
|
|
3919
|
+
return aGuessT;
|
|
3920
|
+
}
|
|
3921
|
+
const currentX = calcBezier(aGuessT, mX1, mX2) - aX;
|
|
3922
|
+
aGuessT -= currentX / currentSlope;
|
|
3923
|
+
}
|
|
3924
|
+
return aGuessT;
|
|
3925
|
+
}
|
|
3926
|
+
const kSplineTableSize = 11;
|
|
3927
|
+
const kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);
|
|
3928
|
+
function cubicBezier(mX1, mY1, mX2, mY2) {
|
|
3929
|
+
if (mX1 === mY1 && mX2 === mY2)
|
|
3930
|
+
return linear;
|
|
3931
|
+
const sampleValues = new Float32Array(kSplineTableSize);
|
|
3932
|
+
for (let i = 0; i < kSplineTableSize; ++i) {
|
|
3933
|
+
sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
|
|
3934
|
+
}
|
|
3935
|
+
function getTForX(aX) {
|
|
3936
|
+
let intervalStart = 0.0;
|
|
3937
|
+
let currentSample = 1;
|
|
3938
|
+
const lastSample = kSplineTableSize - 1;
|
|
3939
|
+
for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {
|
|
3940
|
+
intervalStart += kSampleStepSize;
|
|
3941
|
+
}
|
|
3942
|
+
--currentSample;
|
|
3943
|
+
const dist = (aX - sampleValues[currentSample]) /
|
|
3944
|
+
(sampleValues[currentSample + 1] - sampleValues[currentSample]);
|
|
3945
|
+
const guessForT = intervalStart + dist * kSampleStepSize;
|
|
3946
|
+
const initialSlope = getSlope(guessForT, mX1, mX2);
|
|
3947
|
+
if (initialSlope >= newtonMinSlope) {
|
|
3948
|
+
return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
|
|
3949
|
+
}
|
|
3950
|
+
else if (initialSlope === 0.0) {
|
|
3951
|
+
return guessForT;
|
|
3952
|
+
}
|
|
3953
|
+
else {
|
|
3954
|
+
return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);
|
|
3955
|
+
}
|
|
3956
|
+
}
|
|
3957
|
+
return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);
|
|
3958
|
+
}
|
|
3959
|
+
|
|
3960
|
+
/**
|
|
3961
|
+
* Read current box metrics (height + vertical margins).
|
|
3962
|
+
* @param {HTMLElement} node - The element to measure.
|
|
3963
|
+
* @returns {object} The box metrics.
|
|
3964
|
+
*/
|
|
3965
|
+
function getBoxMetrics(node) {
|
|
3966
|
+
const rectHeight = node.getBoundingClientRect().height;
|
|
3967
|
+
const style = getComputedStyle(node);
|
|
3968
|
+
const marginTop = parseFloat(style.marginTop) || 0;
|
|
3969
|
+
const marginBottom = parseFloat(style.marginBottom) || 0;
|
|
3970
|
+
const total = rectHeight + marginTop + marginBottom;
|
|
3971
|
+
return { height: rectHeight, marginTop, marginBottom, total };
|
|
3972
|
+
}
|
|
3973
|
+
const useCollapse = (node, { duration = 200, overflow = 'hidden' } = {}) => {
|
|
3974
|
+
let currentAnimation = null;
|
|
3975
|
+
const stop = () => {
|
|
3976
|
+
if (currentAnimation) {
|
|
3977
|
+
currentAnimation.stop();
|
|
3978
|
+
currentAnimation = null;
|
|
3979
|
+
}
|
|
3980
|
+
};
|
|
3981
|
+
const setStyle = (styles) => {
|
|
3982
|
+
for (const [k, v] of Object.entries(styles)) {
|
|
3983
|
+
node.style[k] = v;
|
|
3984
|
+
}
|
|
3985
|
+
};
|
|
3986
|
+
/** Instantly apply collapsed styles (no animation). */
|
|
3987
|
+
function setCollapsed() {
|
|
3988
|
+
stop();
|
|
3989
|
+
setStyle({
|
|
3990
|
+
height: '0px',
|
|
3991
|
+
marginTop: '0px',
|
|
3992
|
+
marginBottom: '0px',
|
|
3993
|
+
overflow,
|
|
3994
|
+
});
|
|
3995
|
+
}
|
|
3996
|
+
/** Instantly apply expanded styles (no animation). */
|
|
3997
|
+
function setExpanded() {
|
|
3998
|
+
stop();
|
|
3999
|
+
setStyle({
|
|
4000
|
+
height: '',
|
|
4001
|
+
marginTop: '',
|
|
4002
|
+
marginBottom: '',
|
|
4003
|
+
overflow: '',
|
|
4004
|
+
});
|
|
4005
|
+
}
|
|
4006
|
+
/**
|
|
4007
|
+
* Collapse: animate from current box (height + margins) down to 0.
|
|
4008
|
+
*/
|
|
4009
|
+
function collapse() {
|
|
4010
|
+
stop();
|
|
4011
|
+
return new Promise(resolve => {
|
|
4012
|
+
const { height, marginTop, marginBottom, total } = getBoxMetrics(node);
|
|
4013
|
+
// Lock current box
|
|
4014
|
+
setStyle({
|
|
4015
|
+
height: `${height}px`,
|
|
4016
|
+
marginTop: `${marginTop}px`,
|
|
4017
|
+
marginBottom: `${marginBottom}px`,
|
|
4018
|
+
overflow,
|
|
4019
|
+
willChange: 'height, margin',
|
|
4020
|
+
});
|
|
4021
|
+
const denom = total > 0 ? total : 0.0001; // avoid divide-by-zero
|
|
4022
|
+
currentAnimation = animate({
|
|
4023
|
+
from: total,
|
|
4024
|
+
to: 0,
|
|
4025
|
+
duration,
|
|
4026
|
+
ease: cubicBezier(0.2, 0, 0, 1),
|
|
4027
|
+
onUpdate: v => {
|
|
4028
|
+
const ratio = v / denom;
|
|
4029
|
+
setStyle({
|
|
4030
|
+
height: `${height * ratio}px`,
|
|
4031
|
+
marginTop: `${marginTop * ratio}px`,
|
|
4032
|
+
marginBottom: `${marginBottom * ratio}px`,
|
|
4033
|
+
});
|
|
4034
|
+
},
|
|
4035
|
+
onComplete: () => {
|
|
4036
|
+
setStyle({
|
|
4037
|
+
height: '0px',
|
|
4038
|
+
marginTop: '0px',
|
|
4039
|
+
marginBottom: '0px',
|
|
4040
|
+
willChange: '',
|
|
4041
|
+
});
|
|
4042
|
+
resolve();
|
|
4043
|
+
},
|
|
4044
|
+
});
|
|
4045
|
+
});
|
|
4046
|
+
}
|
|
4047
|
+
/**
|
|
4048
|
+
* Expand: animate from 0 box to the element's natural box (height + margins),
|
|
4049
|
+
* then restore `height: auto` and computed margins.
|
|
4050
|
+
*/
|
|
4051
|
+
function expand() {
|
|
4052
|
+
stop();
|
|
4053
|
+
return new Promise(resolve => {
|
|
4054
|
+
// Let the element size naturally to measure the target box
|
|
4055
|
+
setStyle({
|
|
4056
|
+
height: '',
|
|
4057
|
+
marginTop: '',
|
|
4058
|
+
marginBottom: '',
|
|
4059
|
+
overflow,
|
|
4060
|
+
});
|
|
4061
|
+
const { height, marginTop, marginBottom, total } = getBoxMetrics(node);
|
|
4062
|
+
// Start locked at zero box
|
|
4063
|
+
setStyle({
|
|
4064
|
+
height: '0px',
|
|
4065
|
+
marginTop: '0px',
|
|
4066
|
+
marginBottom: '0px',
|
|
4067
|
+
willChange: 'height, margin',
|
|
4068
|
+
});
|
|
4069
|
+
const denom = total > 0 ? total : 0.0001;
|
|
4070
|
+
currentAnimation = animate({
|
|
4071
|
+
from: 0,
|
|
4072
|
+
to: total,
|
|
4073
|
+
duration,
|
|
4074
|
+
ease: cubicBezier(0.2, 0, 0, 1),
|
|
4075
|
+
onUpdate: v => {
|
|
4076
|
+
const ratio = v / denom;
|
|
4077
|
+
setStyle({
|
|
4078
|
+
height: `${height * ratio}px`,
|
|
4079
|
+
marginTop: `${marginTop * ratio}px`,
|
|
4080
|
+
marginBottom: `${marginBottom * ratio}px`,
|
|
4081
|
+
});
|
|
4082
|
+
},
|
|
4083
|
+
onComplete: () => {
|
|
4084
|
+
// Restore natural layout
|
|
4085
|
+
setStyle({
|
|
4086
|
+
height: '',
|
|
4087
|
+
marginTop: '',
|
|
4088
|
+
marginBottom: '',
|
|
4089
|
+
overflow: '',
|
|
4090
|
+
willChange: '',
|
|
4091
|
+
});
|
|
4092
|
+
resolve();
|
|
4093
|
+
},
|
|
4094
|
+
});
|
|
4095
|
+
});
|
|
4096
|
+
}
|
|
4097
|
+
return { collapse, expand, setCollapsed, setExpanded };
|
|
4098
|
+
};
|
|
4099
|
+
|
|
3875
4100
|
/*! *****************************************************************************
|
|
3876
4101
|
Copyright (c) Microsoft Corporation.
|
|
3877
4102
|
|
|
@@ -4706,85 +4931,6 @@ function index(nodeOrSelector, props) {
|
|
|
4706
4931
|
return getStyler(node, props);
|
|
4707
4932
|
}
|
|
4708
4933
|
|
|
4709
|
-
const useCollapse = (node, { duration } = { duration: 200 }) => {
|
|
4710
|
-
const nodeStyler = index(node);
|
|
4711
|
-
/**
|
|
4712
|
-
* Will set the overflow to hidden, and animate the max height to 0. Make sure
|
|
4713
|
-
* the element has no border or y padding set, otherwise the animation will
|
|
4714
|
-
* not work as expected.
|
|
4715
|
-
*/
|
|
4716
|
-
function collapse() {
|
|
4717
|
-
return new Promise(resolve => {
|
|
4718
|
-
const height = node.getBoundingClientRect().height;
|
|
4719
|
-
nodeStyler.set({ overflow: 'hidden' });
|
|
4720
|
-
animate({
|
|
4721
|
-
from: height,
|
|
4722
|
-
to: 0,
|
|
4723
|
-
duration,
|
|
4724
|
-
onUpdate: value => {
|
|
4725
|
-
nodeStyler.set({
|
|
4726
|
-
maxHeight: value,
|
|
4727
|
-
});
|
|
4728
|
-
},
|
|
4729
|
-
onComplete: () => {
|
|
4730
|
-
resolve();
|
|
4731
|
-
},
|
|
4732
|
-
});
|
|
4733
|
-
});
|
|
4734
|
-
}
|
|
4735
|
-
/**
|
|
4736
|
-
* Apply the collapsed styles without animating, useful when initial state
|
|
4737
|
-
* is collapsed.
|
|
4738
|
-
*/
|
|
4739
|
-
function setCollapsed() {
|
|
4740
|
-
node.style.maxHeight = '0';
|
|
4741
|
-
node.style.overflow = 'hidden';
|
|
4742
|
-
}
|
|
4743
|
-
/**
|
|
4744
|
-
* Apply the expanded styles without animating, useful when initial state
|
|
4745
|
-
* is expanded.
|
|
4746
|
-
*/
|
|
4747
|
-
function setExpanded() {
|
|
4748
|
-
node.style.maxHeight = '';
|
|
4749
|
-
node.style.overflow = '';
|
|
4750
|
-
}
|
|
4751
|
-
/**
|
|
4752
|
-
* Will set the overflow to hidden, and animate the max height to the value
|
|
4753
|
-
* of the scrollHeight. Make sure the element has no border or y padding set,
|
|
4754
|
-
* otherwise the animation will not work as expected. Once complete, the
|
|
4755
|
-
* max-height and overflow style properties will be removed.
|
|
4756
|
-
*/
|
|
4757
|
-
function expand() {
|
|
4758
|
-
return new Promise(resolve => {
|
|
4759
|
-
const scrollHeight = node.scrollHeight;
|
|
4760
|
-
nodeStyler.set({
|
|
4761
|
-
overflow: 'hidden',
|
|
4762
|
-
});
|
|
4763
|
-
animate({
|
|
4764
|
-
from: 0,
|
|
4765
|
-
to: scrollHeight,
|
|
4766
|
-
duration,
|
|
4767
|
-
onUpdate: value => {
|
|
4768
|
-
nodeStyler.set({
|
|
4769
|
-
maxHeight: value,
|
|
4770
|
-
});
|
|
4771
|
-
},
|
|
4772
|
-
onComplete: () => {
|
|
4773
|
-
node.style.removeProperty('max-height');
|
|
4774
|
-
node.style.removeProperty('overflow');
|
|
4775
|
-
resolve();
|
|
4776
|
-
},
|
|
4777
|
-
});
|
|
4778
|
-
});
|
|
4779
|
-
}
|
|
4780
|
-
return {
|
|
4781
|
-
collapse,
|
|
4782
|
-
expand,
|
|
4783
|
-
setCollapsed,
|
|
4784
|
-
setExpanded,
|
|
4785
|
-
};
|
|
4786
|
-
};
|
|
4787
|
-
|
|
4788
4934
|
const useFade = (node, { duration } = { duration: 200 }) => {
|
|
4789
4935
|
const nodeStyler = index(node);
|
|
4790
4936
|
/**
|
|
@@ -4932,6 +5078,68 @@ const useGrow = (node, { duration = 200, amount = 0.8, hasFade = true } = {}) =>
|
|
|
4932
5078
|
};
|
|
4933
5079
|
};
|
|
4934
5080
|
|
|
5081
|
+
const useSlide = (node, { duration } = { duration: 200 }) => {
|
|
5082
|
+
const nodeStyler = index(node);
|
|
5083
|
+
/**
|
|
5084
|
+
* Will animate the translateX to 100%, sliding the element to the right.
|
|
5085
|
+
*/
|
|
5086
|
+
function slideOut() {
|
|
5087
|
+
return new Promise(resolve => {
|
|
5088
|
+
animate({
|
|
5089
|
+
from: { x: 0 },
|
|
5090
|
+
to: { x: 100 },
|
|
5091
|
+
ease: easeOut,
|
|
5092
|
+
duration,
|
|
5093
|
+
onUpdate(latest) {
|
|
5094
|
+
nodeStyler.set({ transform: `translateX(${latest.x}%)` });
|
|
5095
|
+
},
|
|
5096
|
+
onComplete() {
|
|
5097
|
+
resolve();
|
|
5098
|
+
},
|
|
5099
|
+
});
|
|
5100
|
+
});
|
|
5101
|
+
}
|
|
5102
|
+
/**
|
|
5103
|
+
* Applies the slideOut styles without animating, useful when initial state
|
|
5104
|
+
* is slid out.
|
|
5105
|
+
*/
|
|
5106
|
+
function setSlideOut() {
|
|
5107
|
+
node.style.transform = 'translateX(100%)';
|
|
5108
|
+
}
|
|
5109
|
+
/**
|
|
5110
|
+
* Applies the slideIn styles without animating, useful when initial state
|
|
5111
|
+
* is slid in.
|
|
5112
|
+
*/
|
|
5113
|
+
function setSlideIn() {
|
|
5114
|
+
node.style.transform = '';
|
|
5115
|
+
}
|
|
5116
|
+
/**
|
|
5117
|
+
* Will animate the translateX from 100% to 0%, sliding the element in from the right.
|
|
5118
|
+
*/
|
|
5119
|
+
function slideIn() {
|
|
5120
|
+
return new Promise(resolve => {
|
|
5121
|
+
animate({
|
|
5122
|
+
from: { x: 100 },
|
|
5123
|
+
to: { x: 0 },
|
|
5124
|
+
duration,
|
|
5125
|
+
onUpdate(latest) {
|
|
5126
|
+
nodeStyler.set({ transform: `translateX(${latest.x}%)` });
|
|
5127
|
+
},
|
|
5128
|
+
onComplete() {
|
|
5129
|
+
resolve();
|
|
5130
|
+
node.style.removeProperty('transform');
|
|
5131
|
+
},
|
|
5132
|
+
});
|
|
5133
|
+
});
|
|
5134
|
+
}
|
|
5135
|
+
return {
|
|
5136
|
+
slideIn,
|
|
5137
|
+
slideOut,
|
|
5138
|
+
setSlideOut,
|
|
5139
|
+
setSlideIn,
|
|
5140
|
+
};
|
|
5141
|
+
};
|
|
5142
|
+
|
|
4935
5143
|
/**
|
|
4936
5144
|
* Will execute a series of animation promises in sequence.
|
|
4937
5145
|
* This is useful for chaining animations where each step depends on the
|
|
@@ -4951,8 +5159,26 @@ const timeline = (...animations) => ({
|
|
|
4951
5159
|
return animations.reduce((promise, animation) => promise.then(() => animation()), Promise.resolve());
|
|
4952
5160
|
},
|
|
4953
5161
|
});
|
|
5162
|
+
/**
|
|
5163
|
+
* Will execute a series of animation promises in parallel.
|
|
5164
|
+
* This is useful for running multiple animations simultaneously.
|
|
5165
|
+
*
|
|
5166
|
+
* @param {Array<() => Promise<void>>} animations - The array of animation functions.
|
|
5167
|
+
* @returns {Object} - An object with a `start` method to begin the parallel animations.
|
|
5168
|
+
*
|
|
5169
|
+
* @example
|
|
5170
|
+
* const { fadeOut } = useFade(this.ref);
|
|
5171
|
+
* const { slideOut } = useSlide(this.containerRef);
|
|
5172
|
+
*
|
|
5173
|
+
* parallel(fadeOut, slideOut).start();
|
|
5174
|
+
*/
|
|
5175
|
+
const parallel = (...animations) => ({
|
|
5176
|
+
start: () => {
|
|
5177
|
+
return Promise.all(animations.map(animation => animation()));
|
|
5178
|
+
},
|
|
5179
|
+
});
|
|
4954
5180
|
|
|
4955
|
-
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)}";
|
|
5181
|
+
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))}";
|
|
4956
5182
|
var NvAccordionItemStyle0 = nvAccordionItemCss;
|
|
4957
5183
|
|
|
4958
5184
|
/**
|
|
@@ -4965,16 +5191,25 @@ class NvAccordionItem {
|
|
|
4965
5191
|
constructor(hostRef) {
|
|
4966
5192
|
registerInstance(this, hostRef);
|
|
4967
5193
|
this.itemToggle = createEvent(this, "itemToggle", 7);
|
|
4968
|
-
|
|
5194
|
+
this.isToggling = false;
|
|
5195
|
+
/**
|
|
5196
|
+
* Open or closed
|
|
5197
|
+
*/
|
|
4969
5198
|
this.open = false;
|
|
4970
|
-
/**
|
|
5199
|
+
/**
|
|
5200
|
+
* Disables the item
|
|
5201
|
+
*/
|
|
4971
5202
|
this.disabled = false;
|
|
4972
|
-
/**
|
|
5203
|
+
/**
|
|
5204
|
+
* Parent expansion mode (accordion or multi)
|
|
5205
|
+
*/
|
|
4973
5206
|
this.mode = 'accordion';
|
|
4974
5207
|
//#endregion EVENTS
|
|
4975
5208
|
/****************************************************************************/
|
|
4976
5209
|
//#region STATE
|
|
4977
|
-
/**
|
|
5210
|
+
/**
|
|
5211
|
+
* Internal state for open/close rendering
|
|
5212
|
+
*/
|
|
4978
5213
|
this.currentOpenState = false;
|
|
4979
5214
|
/**
|
|
4980
5215
|
* Controls if the panel has been initialized for animations
|
|
@@ -4995,7 +5230,7 @@ class NvAccordionItem {
|
|
|
4995
5230
|
* @param {Event} e - Click event
|
|
4996
5231
|
*/
|
|
4997
5232
|
this.handleIconClick = (e) => {
|
|
4998
|
-
e.stopPropagation();
|
|
5233
|
+
e.stopPropagation();
|
|
4999
5234
|
this.toggle();
|
|
5000
5235
|
};
|
|
5001
5236
|
/**
|
|
@@ -5003,8 +5238,10 @@ class NvAccordionItem {
|
|
|
5003
5238
|
* @param {KeyboardEvent} e - Keyboard event
|
|
5004
5239
|
*/
|
|
5005
5240
|
this.handleHeaderKeyDown = (e) => {
|
|
5006
|
-
if (this.disabled)
|
|
5241
|
+
if (this.disabled) {
|
|
5242
|
+
console.warn('[handleHeaderKeyDown] Ignored (disabled)');
|
|
5007
5243
|
return;
|
|
5244
|
+
}
|
|
5008
5245
|
switch (e.key) {
|
|
5009
5246
|
case 'Enter':
|
|
5010
5247
|
case ' ':
|
|
@@ -5014,17 +5251,19 @@ class NvAccordionItem {
|
|
|
5014
5251
|
case 'ArrowDown':
|
|
5015
5252
|
e.preventDefault();
|
|
5016
5253
|
if (!this.open) {
|
|
5254
|
+
this.isToggling = true;
|
|
5017
5255
|
this.open = true;
|
|
5018
|
-
this.itemToggle.emit(
|
|
5019
|
-
this.
|
|
5256
|
+
this.itemToggle.emit(true);
|
|
5257
|
+
this.isToggling = false;
|
|
5020
5258
|
}
|
|
5021
5259
|
break;
|
|
5022
5260
|
case 'ArrowUp':
|
|
5023
5261
|
e.preventDefault();
|
|
5024
5262
|
if (this.open) {
|
|
5263
|
+
this.isToggling = true;
|
|
5025
5264
|
this.open = false;
|
|
5026
|
-
this.itemToggle.emit(
|
|
5027
|
-
this.
|
|
5265
|
+
this.itemToggle.emit(false);
|
|
5266
|
+
this.isToggling = false;
|
|
5028
5267
|
}
|
|
5029
5268
|
break;
|
|
5030
5269
|
}
|
|
@@ -5034,12 +5273,23 @@ class NvAccordionItem {
|
|
|
5034
5273
|
/****************************************************************************/
|
|
5035
5274
|
//#region WATCHERS
|
|
5036
5275
|
async onOpenChanged(newValue, oldValue) {
|
|
5037
|
-
this.
|
|
5038
|
-
|
|
5039
|
-
|
|
5276
|
+
if (this.disabled) {
|
|
5277
|
+
console.warn('[onOpenChanged] Item is disabled, forcing closed state');
|
|
5278
|
+
this.currentOpenState = false;
|
|
5279
|
+
this.open = false;
|
|
5040
5280
|
return;
|
|
5041
5281
|
}
|
|
5042
|
-
|
|
5282
|
+
this.currentOpenState = newValue;
|
|
5283
|
+
const isInitialRender = oldValue === undefined;
|
|
5284
|
+
if (!isInitialRender) {
|
|
5285
|
+
if (newValue === false && !this.isToggling) {
|
|
5286
|
+
this.itemToggle.emit(newValue);
|
|
5287
|
+
}
|
|
5288
|
+
else if (newValue && !this.isToggling) {
|
|
5289
|
+
this.itemToggle.emit(newValue);
|
|
5290
|
+
}
|
|
5291
|
+
await this.updateVisibility(newValue);
|
|
5292
|
+
}
|
|
5043
5293
|
}
|
|
5044
5294
|
//#endregion WATCHERS
|
|
5045
5295
|
/****************************************************************************/
|
|
@@ -5049,18 +5299,18 @@ class NvAccordionItem {
|
|
|
5049
5299
|
* @param {boolean} open - Whether the accordion item should be open
|
|
5050
5300
|
*/
|
|
5051
5301
|
async updateVisibility(open) {
|
|
5052
|
-
if (!this.contentRef)
|
|
5302
|
+
if (!this.contentRef) {
|
|
5303
|
+
console.error('[updateVisibility] No contentRef available');
|
|
5053
5304
|
return;
|
|
5305
|
+
}
|
|
5054
5306
|
this.isAnimating = true;
|
|
5055
5307
|
const { collapse, expand } = useCollapse(this.contentRef, {
|
|
5056
5308
|
duration: 200,
|
|
5057
5309
|
});
|
|
5058
5310
|
if (open) {
|
|
5059
|
-
// Expand with animation
|
|
5060
5311
|
await expand();
|
|
5061
5312
|
}
|
|
5062
5313
|
else {
|
|
5063
|
-
// Collapse with animation
|
|
5064
5314
|
await collapse();
|
|
5065
5315
|
}
|
|
5066
5316
|
this.isAnimating = false;
|
|
@@ -5069,19 +5319,24 @@ class NvAccordionItem {
|
|
|
5069
5319
|
/****************************************************************************/
|
|
5070
5320
|
//#region LIFECYCLE
|
|
5071
5321
|
componentWillLoad() {
|
|
5072
|
-
this.currentOpenState = this.open;
|
|
5322
|
+
this.currentOpenState = this.open;
|
|
5073
5323
|
}
|
|
5074
5324
|
componentDidLoad() {
|
|
5075
5325
|
if (this.contentRef) {
|
|
5076
|
-
|
|
5077
|
-
|
|
5078
|
-
|
|
5079
|
-
|
|
5080
|
-
|
|
5081
|
-
|
|
5082
|
-
|
|
5083
|
-
|
|
5084
|
-
|
|
5326
|
+
setTimeout(() => {
|
|
5327
|
+
const { setExpanded, setCollapsed } = useCollapse(this.contentRef, {
|
|
5328
|
+
duration: 200,
|
|
5329
|
+
});
|
|
5330
|
+
if (this.open) {
|
|
5331
|
+
setExpanded();
|
|
5332
|
+
this.currentOpenState = true;
|
|
5333
|
+
}
|
|
5334
|
+
else {
|
|
5335
|
+
setCollapsed();
|
|
5336
|
+
this.currentOpenState = false;
|
|
5337
|
+
}
|
|
5338
|
+
this.isInitialized = true;
|
|
5339
|
+
}, 0);
|
|
5085
5340
|
}
|
|
5086
5341
|
}
|
|
5087
5342
|
disconnectedCallback() {
|
|
@@ -5097,10 +5352,14 @@ class NvAccordionItem {
|
|
|
5097
5352
|
*/
|
|
5098
5353
|
async toggle() {
|
|
5099
5354
|
if (!this.disabled && !this.isAnimating) {
|
|
5100
|
-
this.
|
|
5101
|
-
this.
|
|
5102
|
-
|
|
5103
|
-
|
|
5355
|
+
this.isToggling = true;
|
|
5356
|
+
const newOpen = !this.open;
|
|
5357
|
+
this.open = newOpen;
|
|
5358
|
+
this.itemToggle.emit(newOpen);
|
|
5359
|
+
this.isToggling = false;
|
|
5360
|
+
}
|
|
5361
|
+
else {
|
|
5362
|
+
console.warn('[toggle] Ignored toggle (disabled or animating)');
|
|
5104
5363
|
}
|
|
5105
5364
|
}
|
|
5106
5365
|
/**
|
|
@@ -5108,18 +5367,19 @@ class NvAccordionItem {
|
|
|
5108
5367
|
* @returns {string} The icon name to display in the chevron button
|
|
5109
5368
|
*/
|
|
5110
5369
|
get chevronIconName() {
|
|
5111
|
-
|
|
5370
|
+
const name = this.open ? 'chevron-top' : 'chevron-down';
|
|
5371
|
+
return name;
|
|
5112
5372
|
}
|
|
5113
5373
|
//#endregion METHODS
|
|
5114
5374
|
/****************************************************************************/
|
|
5115
5375
|
//#region RENDER
|
|
5116
5376
|
render() {
|
|
5117
|
-
return (hAsync(Host, { key: '
|
|
5377
|
+
return (hAsync(Host, { key: '4d5ae52ba3e8cac86316d790f95afd39f6c73019', class: {
|
|
5118
5378
|
'nv-accordion-item': true,
|
|
5119
|
-
'is-open': this.
|
|
5379
|
+
'is-open': this.currentOpenState,
|
|
5120
5380
|
'is-disabled': this.disabled,
|
|
5121
5381
|
'is-animating': this.isAnimating,
|
|
5122
|
-
}, role: "listitem", "aria-expanded": this.
|
|
5382
|
+
}, 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" })))));
|
|
5123
5383
|
}
|
|
5124
5384
|
get el() { return getElement(this); }
|
|
5125
5385
|
static get watchers() { return {
|
|
@@ -5193,6 +5453,11 @@ var ButtonType;
|
|
|
5193
5453
|
ButtonType["Reset"] = "reset";
|
|
5194
5454
|
ButtonType["Button"] = "button";
|
|
5195
5455
|
})(ButtonType || (ButtonType = {}));
|
|
5456
|
+
var NotificationEmphasis;
|
|
5457
|
+
(function (NotificationEmphasis) {
|
|
5458
|
+
NotificationEmphasis["Medium"] = "medium";
|
|
5459
|
+
NotificationEmphasis["High"] = "high";
|
|
5460
|
+
})(NotificationEmphasis || (NotificationEmphasis = {}));
|
|
5196
5461
|
var ToggleButtonEmphasis;
|
|
5197
5462
|
(function (ToggleButtonEmphasis) {
|
|
5198
5463
|
ToggleButtonEmphasis["High"] = "high";
|
|
@@ -5417,7 +5682,7 @@ const CUSTOM_MONTH_NAMES = {
|
|
|
5417
5682
|
],
|
|
5418
5683
|
};
|
|
5419
5684
|
|
|
5420
|
-
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(--
|
|
5685
|
+
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}";
|
|
5421
5686
|
var NvAlertStyle0 = nvAlertCss;
|
|
5422
5687
|
|
|
5423
5688
|
/**
|
|
@@ -5528,8 +5793,8 @@ class NvAlert {
|
|
|
5528
5793
|
this.toggleHiddenClass(hidden);
|
|
5529
5794
|
return;
|
|
5530
5795
|
}
|
|
5531
|
-
const { fadeIn, fadeOut } = useFade(this.
|
|
5532
|
-
const { collapse, expand } = useCollapse(this.
|
|
5796
|
+
const { fadeIn, fadeOut } = useFade(this.el, { duration: 150 });
|
|
5797
|
+
const { collapse, expand } = useCollapse(this.el, { duration: 250 });
|
|
5533
5798
|
if (hidden) {
|
|
5534
5799
|
await timeline(fadeOut, collapse).start();
|
|
5535
5800
|
this.toggleHiddenClass(true);
|
|
@@ -5544,7 +5809,7 @@ class NvAlert {
|
|
|
5544
5809
|
* @param {boolean} hidden - Whether to add or remove the hidden class
|
|
5545
5810
|
*/
|
|
5546
5811
|
toggleHiddenClass(hidden) {
|
|
5547
|
-
this.
|
|
5812
|
+
this.el.classList.toggle('hidden', hidden);
|
|
5548
5813
|
}
|
|
5549
5814
|
//#endregion METHODS
|
|
5550
5815
|
/****************************************************************************/
|
|
@@ -5566,7 +5831,7 @@ class NvAlert {
|
|
|
5566
5831
|
}
|
|
5567
5832
|
}
|
|
5568
5833
|
if (this.hidden) {
|
|
5569
|
-
this.
|
|
5834
|
+
this.el.classList.add('hidden');
|
|
5570
5835
|
}
|
|
5571
5836
|
}
|
|
5572
5837
|
//#endregion LIFECYCLE
|
|
@@ -5574,9 +5839,9 @@ class NvAlert {
|
|
|
5574
5839
|
//#region RENDER
|
|
5575
5840
|
render() {
|
|
5576
5841
|
var _a;
|
|
5577
|
-
return (hAsync(Host, { key: '
|
|
5842
|
+
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" })))));
|
|
5578
5843
|
}
|
|
5579
|
-
get
|
|
5844
|
+
get el() { return getElement(this); }
|
|
5580
5845
|
static get watchers() { return {
|
|
5581
5846
|
"hidden": ["handleHiddenChange"]
|
|
5582
5847
|
}; }
|
|
@@ -6650,12 +6915,12 @@ const DayCell = props => {
|
|
|
6650
6915
|
* @returns {JSX.Element} JSX element representing the action buttons
|
|
6651
6916
|
*/
|
|
6652
6917
|
const CalendarActions = props => {
|
|
6653
|
-
const { onReset, onConfirm, useSlot = false } = props;
|
|
6918
|
+
const { onReset, onConfirm, cancelLabel = 'Cancel', primaryLabel = 'OK', useSlot = false, } = props;
|
|
6654
6919
|
return (hAsync("div", { class: "datepicker-actions" }, useSlot ? (hAsync("slot", { name: "actions" },
|
|
6655
|
-
hAsync("nv-button", { emphasis: "low", size: "xs", onClick: onReset },
|
|
6656
|
-
hAsync("nv-button", { size: "xs", onClick: onConfirm },
|
|
6657
|
-
hAsync("nv-button", { emphasis: "low", size: "xs", onClick: onReset },
|
|
6658
|
-
hAsync("nv-button", { size: "xs", onClick: onConfirm },
|
|
6920
|
+
hAsync("nv-button", { emphasis: "low", size: "xs", onClick: onReset }, cancelLabel),
|
|
6921
|
+
hAsync("nv-button", { size: "xs", onClick: onConfirm }, primaryLabel))) : (hAsync("div", { class: "actions-container" },
|
|
6922
|
+
hAsync("nv-button", { emphasis: "low", size: "xs", onClick: onReset }, cancelLabel),
|
|
6923
|
+
hAsync("nv-button", { size: "xs", onClick: onConfirm }, primaryLabel)))));
|
|
6659
6924
|
};
|
|
6660
6925
|
|
|
6661
6926
|
/**
|
|
@@ -6789,7 +7054,7 @@ const CalendarGrid = props => {
|
|
|
6789
7054
|
}))));
|
|
6790
7055
|
};
|
|
6791
7056
|
|
|
6792
|
-
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)}}";
|
|
7057
|
+
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)}}";
|
|
6793
7058
|
var NvCalendarStyle0 = nvCalendarCss;
|
|
6794
7059
|
|
|
6795
7060
|
/**
|
|
@@ -6849,6 +7114,10 @@ class NvCalendar {
|
|
|
6849
7114
|
* Show action buttons
|
|
6850
7115
|
*/
|
|
6851
7116
|
this.showActions = false;
|
|
7117
|
+
/** Sets the label for the cancel button in actions. */
|
|
7118
|
+
this.cancelLabel = 'Cancel';
|
|
7119
|
+
/** Sets the label for the primary (OK) button in actions. */
|
|
7120
|
+
this.primaryLabel = 'OK';
|
|
6852
7121
|
/** Cache for parsed disabled dates */
|
|
6853
7122
|
this.parsedDisabledDates = [];
|
|
6854
7123
|
/** Flag to indicate a user click for selection */
|
|
@@ -7503,7 +7772,7 @@ class NvCalendar {
|
|
|
7503
7772
|
* @slot actions - Child content of the component.
|
|
7504
7773
|
*/
|
|
7505
7774
|
this.renderActions = () => {
|
|
7506
|
-
return (hAsync("div", { class: "datepicker-actions" }, hAsync("slot", { name: "actions" }, hAsync(CalendarActions, { onReset: this.resetSelection, onConfirm: this.confirmSelection, useSlot: false }))));
|
|
7775
|
+
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 }))));
|
|
7507
7776
|
};
|
|
7508
7777
|
}
|
|
7509
7778
|
//#endregion EVENTS
|
|
@@ -7703,8 +7972,8 @@ class NvCalendar {
|
|
|
7703
7972
|
* @slot default - Child content of the component.
|
|
7704
7973
|
*/
|
|
7705
7974
|
render() {
|
|
7706
|
-
return (hAsync(Host, { key: '
|
|
7707
|
-
this.hasActions) && (hAsync("div", { key: '
|
|
7975
|
+
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') ||
|
|
7976
|
+
this.hasActions) && (hAsync("div", { key: 'e2f7beb10f042d7694f02453a6d181ba37fa607c', class: "datepicker-controls" }, this.shortcutsPlacement === 'bottom' && this.renderShortcuts(), this.hasActions && this.renderActions())))), hAsync("slot", { key: '77d2bd14bc703b825b2b77c67c99e364e2a58c88' })));
|
|
7708
7977
|
}
|
|
7709
7978
|
get el() { return getElement(this); }
|
|
7710
7979
|
static get watchers() { return {
|
|
@@ -7734,6 +8003,8 @@ class NvCalendar {
|
|
|
7734
8003
|
"showActions": [516, "show-actions"],
|
|
7735
8004
|
"shortcuts": [16],
|
|
7736
8005
|
"showWeekNumbers": [516, "show-week-numbers"],
|
|
8006
|
+
"cancelLabel": [513, "cancel-label"],
|
|
8007
|
+
"primaryLabel": [513, "primary-label"],
|
|
7737
8008
|
"currentDate": [32],
|
|
7738
8009
|
"selectedDate": [32],
|
|
7739
8010
|
"startDate": [32],
|
|
@@ -7744,7 +8015,7 @@ class NvCalendar {
|
|
|
7744
8015
|
},
|
|
7745
8016
|
"$listeners$": undefined,
|
|
7746
8017
|
"$lazyBundleId$": "-",
|
|
7747
|
-
"$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"]]
|
|
8018
|
+
"$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"]]
|
|
7748
8019
|
}; }
|
|
7749
8020
|
}
|
|
7750
8021
|
|
|
@@ -13311,10 +13582,6 @@ class NvDialogfooter {
|
|
|
13311
13582
|
* Sets the label for the primary button.
|
|
13312
13583
|
*/
|
|
13313
13584
|
this.primaryLabel = 'Primary';
|
|
13314
|
-
/**
|
|
13315
|
-
* Sets the type of the primary button.
|
|
13316
|
-
*/
|
|
13317
|
-
this.primaryButtonType = ButtonType.Button;
|
|
13318
13585
|
//#endregion EVENTS
|
|
13319
13586
|
/****************************************************************************/
|
|
13320
13587
|
//#region METHODS
|
|
@@ -13345,11 +13612,18 @@ class NvDialogfooter {
|
|
|
13345
13612
|
!node.hasAttribute('slot'));
|
|
13346
13613
|
});
|
|
13347
13614
|
}
|
|
13615
|
+
componentDidLoad() {
|
|
13616
|
+
// Set the default button type based on the form property
|
|
13617
|
+
this.primaryButtonType =
|
|
13618
|
+
this.primaryButtonType || this.form
|
|
13619
|
+
? ButtonType.Submit
|
|
13620
|
+
: ButtonType.Button;
|
|
13621
|
+
}
|
|
13348
13622
|
//#endregion LIFECYCLE
|
|
13349
13623
|
/****************************************************************************/
|
|
13350
13624
|
//#region RENDER
|
|
13351
13625
|
render() {
|
|
13352
|
-
return (hAsync(Host, { key: '
|
|
13626
|
+
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))));
|
|
13353
13627
|
}
|
|
13354
13628
|
static get formAssociated() { return true; }
|
|
13355
13629
|
get el() { return getElement(this); }
|
|
@@ -13365,7 +13639,7 @@ class NvDialogfooter {
|
|
|
13365
13639
|
"danger": [516],
|
|
13366
13640
|
"cancelLabel": [513, "cancel-label"],
|
|
13367
13641
|
"primaryLabel": [513, "primary-label"],
|
|
13368
|
-
"primaryButtonType": [
|
|
13642
|
+
"primaryButtonType": [1537, "primary-button-type"],
|
|
13369
13643
|
"form": [513]
|
|
13370
13644
|
},
|
|
13371
13645
|
"$listeners$": undefined,
|
|
@@ -18984,7 +19258,6 @@ class NvFieldmultiselect {
|
|
|
18984
19258
|
* Handle badge close for options mode.
|
|
18985
19259
|
*/
|
|
18986
19260
|
this.handleBadgeCloseOptions = () => {
|
|
18987
|
-
console.info('handleBadgeCloseOptions:', this.value);
|
|
18988
19261
|
this.value = [];
|
|
18989
19262
|
this.valueChanged.emit(this.value);
|
|
18990
19263
|
// Uncheck all elements
|
|
@@ -19002,7 +19275,6 @@ class NvFieldmultiselect {
|
|
|
19002
19275
|
* Handle badge close for slots mode.
|
|
19003
19276
|
*/
|
|
19004
19277
|
this.handleBadgeCloseSlots = () => {
|
|
19005
|
-
console.info('handleBadgeCloseSlots:', this.value);
|
|
19006
19278
|
this.value = [];
|
|
19007
19279
|
this.valueChanged.emit(this.value);
|
|
19008
19280
|
// Uncheck all elements
|
|
@@ -19211,7 +19483,6 @@ class NvFieldmultiselect {
|
|
|
19211
19483
|
try {
|
|
19212
19484
|
// Get visible and enabled option values from DOM
|
|
19213
19485
|
const visibleOptionValues = this.getVisibleEnabledOptionItems();
|
|
19214
|
-
console.info('[SelectAll][Options] toggleSelectAllOptions called. selectAll:', selectAll, 'visibleOptionValues:', visibleOptionValues, 'Current value:', this.value);
|
|
19215
19486
|
if (selectAll) {
|
|
19216
19487
|
// Select all visible options - merge with existing selections
|
|
19217
19488
|
this.value = [...new Set([...this.value, ...visibleOptionValues])];
|
|
@@ -19220,7 +19491,6 @@ class NvFieldmultiselect {
|
|
|
19220
19491
|
// Deselect only the visible options, keep others that might be filtered out
|
|
19221
19492
|
this.value = this.value.filter(val => !visibleOptionValues.includes(val));
|
|
19222
19493
|
}
|
|
19223
|
-
console.info('[SelectAll][Options] New value after toggle:', this.value);
|
|
19224
19494
|
// Emit the change event
|
|
19225
19495
|
this.valueChanged.emit(this.value);
|
|
19226
19496
|
// Synchronize child components
|
|
@@ -19246,7 +19516,6 @@ class NvFieldmultiselect {
|
|
|
19246
19516
|
try {
|
|
19247
19517
|
// Get visible and enabled items
|
|
19248
19518
|
const items = this.getVisibleEnabledSlotItems();
|
|
19249
|
-
console.info('[SelectAll][Slots] toggleSelectAllSlots called. selectAll:', selectAll, 'visible slot items:', items.map(item => item.getAttribute('value') || item.getAttribute('label')), 'Current value:', this.value);
|
|
19250
19519
|
if (selectAll) {
|
|
19251
19520
|
// Select all visible items
|
|
19252
19521
|
const allActiveValues = items
|
|
@@ -19261,7 +19530,6 @@ class NvFieldmultiselect {
|
|
|
19261
19530
|
.filter(value => value !== '');
|
|
19262
19531
|
this.value = this.value.filter(val => !visibleValues.includes(val));
|
|
19263
19532
|
}
|
|
19264
|
-
console.info('[SelectAll][Slots] New value after toggle:', this.value);
|
|
19265
19533
|
// Emit the change event
|
|
19266
19534
|
this.valueChanged.emit(this.value);
|
|
19267
19535
|
// Force synchronization with a small delay to ensure DOM is updated
|
|
@@ -19284,15 +19552,12 @@ class NvFieldmultiselect {
|
|
|
19284
19552
|
this.handleSelectAllCheckboxOptionsClick = (event) => {
|
|
19285
19553
|
event.stopPropagation();
|
|
19286
19554
|
event.preventDefault();
|
|
19287
|
-
console.info('[handleSelectAllCheckboxOptionsClick] event:', event);
|
|
19288
19555
|
const currentState = this.getSelectAllCheckboxStateOptions();
|
|
19289
|
-
console.info('[SelectAll][Options] Checkbox clicked. Current state:', currentState, 'Current value:', this.value);
|
|
19290
19556
|
// Logic to handle the indeterminate state
|
|
19291
19557
|
// - unchecked → select all
|
|
19292
19558
|
// - indeterminate → select all (clicking on indeterminate will change to checked)
|
|
19293
19559
|
// - checked → deselect all
|
|
19294
19560
|
const shouldSelectAll = currentState === 'unchecked' || currentState === 'indeterminate';
|
|
19295
|
-
console.info('[SelectAll][Options] shouldSelectAll:', shouldSelectAll);
|
|
19296
19561
|
this.toggleSelectAllOptions(shouldSelectAll);
|
|
19297
19562
|
};
|
|
19298
19563
|
/**
|
|
@@ -19302,15 +19567,12 @@ class NvFieldmultiselect {
|
|
|
19302
19567
|
this.handleSelectAllCheckboxSlotsClick = (event) => {
|
|
19303
19568
|
event.stopPropagation();
|
|
19304
19569
|
event.preventDefault();
|
|
19305
|
-
console.info('[handleSelectAllCheckboxSlotsClick] event:', event);
|
|
19306
19570
|
const currentState = this.getSelectAllCheckboxStateSlots();
|
|
19307
|
-
console.info('[SelectAll][Slots] Checkbox clicked. Current state:', currentState, 'Current value:', this.value);
|
|
19308
19571
|
// Logic to handle the indeterminate state
|
|
19309
19572
|
// - unchecked → select all
|
|
19310
19573
|
// - indeterminate → select all (clicking on indeterminate will change to checked)
|
|
19311
19574
|
// - checked → deselect all
|
|
19312
19575
|
const shouldSelectAll = currentState === 'unchecked' || currentState === 'indeterminate';
|
|
19313
|
-
console.info('[SelectAll][Slots] shouldSelectAll:', shouldSelectAll);
|
|
19314
19576
|
this.toggleSelectAllSlots(shouldSelectAll);
|
|
19315
19577
|
};
|
|
19316
19578
|
//#endregion METHODS
|
|
@@ -19353,8 +19615,6 @@ class NvFieldmultiselect {
|
|
|
19353
19615
|
/****************************************************************************/
|
|
19354
19616
|
//#region WATCHERS
|
|
19355
19617
|
handleOptionsChange(newValue) {
|
|
19356
|
-
console.info('[Watch:options] newValue:', newValue);
|
|
19357
|
-
console.info('[Watch:options] current value before update:', this.value);
|
|
19358
19618
|
if (!newValue)
|
|
19359
19619
|
return;
|
|
19360
19620
|
// If the parent has set a value prop, use it. Otherwise, derive from checked options.
|
|
@@ -19363,22 +19623,18 @@ class NvFieldmultiselect {
|
|
|
19363
19623
|
this.value = newValue
|
|
19364
19624
|
.filter(option => option.checked)
|
|
19365
19625
|
.map(option => option.value);
|
|
19366
|
-
console.info('[Watch:options] updated value from checked options:', this.value);
|
|
19367
19626
|
}
|
|
19368
19627
|
else {
|
|
19369
19628
|
// If value is set, ensure checked states in options match value
|
|
19370
19629
|
newValue.forEach(option => {
|
|
19371
19630
|
option.checked = this.value.includes(option.value);
|
|
19372
19631
|
});
|
|
19373
|
-
console.info('[Watch:options] options checked state synced to value:', newValue);
|
|
19374
19632
|
}
|
|
19375
19633
|
this.reorderOptionsContent();
|
|
19376
19634
|
}
|
|
19377
19635
|
watchValueHandler() {
|
|
19378
|
-
console.info('[Watch:value] Value changed:', this.value, 'isBulkOperation:', this.isBulkOperation);
|
|
19379
19636
|
// Skip processing during bulk operations
|
|
19380
19637
|
if (this.isBulkOperation) {
|
|
19381
|
-
console.info('[Watch:value] Skipping syncChildComponents and options update due to bulk operation');
|
|
19382
19638
|
return;
|
|
19383
19639
|
}
|
|
19384
19640
|
// Synchronize child components when value changes programmatically
|
|
@@ -19427,11 +19683,9 @@ class NvFieldmultiselect {
|
|
|
19427
19683
|
handleItemChecked(event) {
|
|
19428
19684
|
if (this.disabled || this.readonly || this.isBulkOperation) {
|
|
19429
19685
|
// Skip processing itemChecked events during bulk operations
|
|
19430
|
-
console.info('[Event:itemChecked] Skipped due to bulk operation or disabled/readonly', event.detail);
|
|
19431
19686
|
return;
|
|
19432
19687
|
}
|
|
19433
19688
|
const { value, checked } = event.detail;
|
|
19434
|
-
console.info('[Event:itemChecked] value:', value, 'checked:', checked, 'current value:', this.value);
|
|
19435
19689
|
if (value !== undefined && value !== null) {
|
|
19436
19690
|
const newValue = [...this.value];
|
|
19437
19691
|
const valueIndex = newValue.indexOf(value);
|
|
@@ -19444,7 +19698,6 @@ class NvFieldmultiselect {
|
|
|
19444
19698
|
newValue.splice(valueIndex, 1);
|
|
19445
19699
|
hasChanged = true;
|
|
19446
19700
|
}
|
|
19447
|
-
console.info('[Event:itemChecked] newValue after update:', newValue);
|
|
19448
19701
|
if (hasChanged) {
|
|
19449
19702
|
this.value = newValue;
|
|
19450
19703
|
this.valueChanged.emit(this.value);
|
|
@@ -19478,7 +19731,6 @@ class NvFieldmultiselect {
|
|
|
19478
19731
|
* Subscribe to click outside event.
|
|
19479
19732
|
*/
|
|
19480
19733
|
connectedCallback() {
|
|
19481
|
-
console.info('[Lifecycle] connectedCallback - value:', this.value);
|
|
19482
19734
|
// Bind once and reuse the same reference for add/remove to avoid leaks
|
|
19483
19735
|
if (!this._boundHandleClickOutside) {
|
|
19484
19736
|
this._boundHandleClickOutside = this.handleClickOutside.bind(this);
|
|
@@ -19490,7 +19742,6 @@ class NvFieldmultiselect {
|
|
|
19490
19742
|
*/
|
|
19491
19743
|
componentWillLoad() {
|
|
19492
19744
|
var _a;
|
|
19493
|
-
console.info('[Lifecycle] componentWillLoad - value:', this.value, 'options:', this.options);
|
|
19494
19745
|
// Don't call handleOptionsChange if we are in slots mode
|
|
19495
19746
|
if (this.options) {
|
|
19496
19747
|
this.handleOptionsChange(this.options);
|
|
@@ -19524,7 +19775,6 @@ class NvFieldmultiselect {
|
|
|
19524
19775
|
* Force reorder if options mode in componentDidLoad because of the initial render not trigger @watch
|
|
19525
19776
|
*/
|
|
19526
19777
|
componentDidLoad() {
|
|
19527
|
-
console.info('[Lifecycle] componentDidLoad - value:', this.value, 'options:', this.options);
|
|
19528
19778
|
if (this.options) {
|
|
19529
19779
|
this.handleOptionsChange(this.options);
|
|
19530
19780
|
}
|
|
@@ -19540,7 +19790,6 @@ class NvFieldmultiselect {
|
|
|
19540
19790
|
* Unsubscribe from click outside event.
|
|
19541
19791
|
*/
|
|
19542
19792
|
disconnectedCallback() {
|
|
19543
|
-
console.info('[Lifecycle] disconnectedCallback - value:', this.value);
|
|
19544
19793
|
if (this._boundHandleClickOutside) {
|
|
19545
19794
|
document.removeEventListener('click', this._boundHandleClickOutside);
|
|
19546
19795
|
}
|
|
@@ -19585,7 +19834,6 @@ class NvFieldmultiselect {
|
|
|
19585
19834
|
* @returns {string[]} The selected values.
|
|
19586
19835
|
*/
|
|
19587
19836
|
async getSelectedValues() {
|
|
19588
|
-
console.info('getSelectedValues:', this.value);
|
|
19589
19837
|
return this.value;
|
|
19590
19838
|
}
|
|
19591
19839
|
/**
|
|
@@ -20066,12 +20314,10 @@ class NvFieldmultiselect {
|
|
|
20066
20314
|
return;
|
|
20067
20315
|
}
|
|
20068
20316
|
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
20069
|
-
console.info('[syncChildComponents] value:', this.value);
|
|
20070
20317
|
items.forEach(item => {
|
|
20071
20318
|
// Get the effective value: use explicit value if present, otherwise use label
|
|
20072
20319
|
const itemValue = item.getAttribute('value') || item.getAttribute('label') || '';
|
|
20073
20320
|
const shouldBeChecked = this.value.includes(itemValue);
|
|
20074
|
-
console.info('[syncChildComponents] itemValue:', itemValue, 'shouldBeChecked:', shouldBeChecked, 'item.checked(before):', item.checked);
|
|
20075
20321
|
// Only update if the checked state differs to avoid triggering unnecessary events
|
|
20076
20322
|
if (item.checked !== shouldBeChecked) {
|
|
20077
20323
|
// Set attribute and property, but avoid triggering itemChecked during bulk
|
|
@@ -20090,7 +20336,6 @@ class NvFieldmultiselect {
|
|
|
20090
20336
|
item.checked = shouldBeChecked;
|
|
20091
20337
|
}
|
|
20092
20338
|
}
|
|
20093
|
-
console.info('[syncChildComponents] itemValue:', itemValue, 'item.checked(after):', item.checked);
|
|
20094
20339
|
});
|
|
20095
20340
|
}
|
|
20096
20341
|
/**
|
|
@@ -20188,7 +20433,6 @@ class NvFieldmultiselect {
|
|
|
20188
20433
|
.map(item => item.getAttribute('value') || item.getAttribute('label') || '');
|
|
20189
20434
|
// Combine with current this.value (set by code), ensuring uniqueness
|
|
20190
20435
|
this.value = Array.from(new Set([...(this.value || []), ...checkedValues]));
|
|
20191
|
-
console.info('[initializeValueFromSlots] checkedValues:', checkedValues, 'combined value:', this.value);
|
|
20192
20436
|
}
|
|
20193
20437
|
/**
|
|
20194
20438
|
* Renders description and error description sections
|
|
@@ -20335,7 +20579,7 @@ class NvFieldnumber {
|
|
|
20335
20579
|
//#region METHODS
|
|
20336
20580
|
this.handleInput = (event) => {
|
|
20337
20581
|
const input = event.target;
|
|
20338
|
-
this.value =
|
|
20582
|
+
this.value = input.valueAsNumber;
|
|
20339
20583
|
};
|
|
20340
20584
|
this.handleInputContainerClick = () => {
|
|
20341
20585
|
this.inputElement.focus();
|
|
@@ -21305,17 +21549,24 @@ const FieldInput = props => {
|
|
|
21305
21549
|
else {
|
|
21306
21550
|
inputName = name || '';
|
|
21307
21551
|
}
|
|
21308
|
-
|
|
21309
|
-
|
|
21310
|
-
|
|
21311
|
-
|
|
21312
|
-
|
|
21313
|
-
|
|
21552
|
+
const handleValueChanged = (event) => {
|
|
21553
|
+
event.stopPropagation();
|
|
21554
|
+
const newValue = event.detail;
|
|
21555
|
+
if (isNaN(newValue)) {
|
|
21556
|
+
return;
|
|
21557
|
+
}
|
|
21558
|
+
onInput({
|
|
21559
|
+
value: newValue,
|
|
21560
|
+
index,
|
|
21561
|
+
});
|
|
21562
|
+
};
|
|
21563
|
+
return hasField ? (hAsync("div", { class: clsx(!hasField && 'hidden-input') },
|
|
21564
|
+
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 }),
|
|
21314
21565
|
labelBeforeValue && (hAsync("span", { class: "label-before", slot: "leading-input" }, labelBeforeValue)),
|
|
21315
21566
|
labelAfterValue && (hAsync("span", { class: "label-after", slot: "trailing-input" }, labelAfterValue))))) : (hAsync("input", { id: inputId, type: "hidden", value: fieldValue, disabled: disabled, readonly: readonly, name: inputName }));
|
|
21316
21567
|
};
|
|
21317
21568
|
|
|
21318
|
-
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}";
|
|
21569
|
+
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}";
|
|
21319
21570
|
var NvFieldsliderStyle0 = nvFieldsliderCss;
|
|
21320
21571
|
|
|
21321
21572
|
/**
|
|
@@ -21348,7 +21599,8 @@ class NvFieldslider {
|
|
|
21348
21599
|
/**
|
|
21349
21600
|
* Enables an optional numeric input field alongside the slider, allowing
|
|
21350
21601
|
* users to type a value directly instead of—or in addition to—using the
|
|
21351
|
-
* slider handle.
|
|
21602
|
+
* slider handle. The field accepts numeric values in the format based on
|
|
21603
|
+
* client-side local settings.
|
|
21352
21604
|
*/
|
|
21353
21605
|
this.hasField = false;
|
|
21354
21606
|
/**
|
|
@@ -21599,16 +21851,15 @@ class NvFieldslider {
|
|
|
21599
21851
|
};
|
|
21600
21852
|
/**
|
|
21601
21853
|
* Handles field input value changes.
|
|
21602
|
-
* @param {
|
|
21854
|
+
* @param {FieldInputProps['onInput']} details - The parsed value and index
|
|
21603
21855
|
*/
|
|
21604
|
-
this.handleFieldChange = (
|
|
21605
|
-
const
|
|
21606
|
-
const newValue = parseFloat(input.value);
|
|
21856
|
+
this.handleFieldChange = (details) => {
|
|
21857
|
+
const newValue = details.value;
|
|
21607
21858
|
if (isNaN(newValue)) {
|
|
21608
21859
|
return;
|
|
21609
21860
|
}
|
|
21610
21861
|
if (this.range) {
|
|
21611
|
-
const fieldIndex =
|
|
21862
|
+
const fieldIndex = details.index === 0 ? 0 : 1;
|
|
21612
21863
|
const updatedRange = [...this.rangeValueInternal];
|
|
21613
21864
|
updatedRange[fieldIndex] = newValue;
|
|
21614
21865
|
this.handleValueChange(updatedRange);
|
|
@@ -21779,11 +22030,11 @@ class NvFieldslider {
|
|
|
21779
22030
|
/****************************************************************************/
|
|
21780
22031
|
//#region RENDER
|
|
21781
22032
|
render() {
|
|
21782
|
-
return (hAsync(Host, { key: '
|
|
22033
|
+
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 ||
|
|
21783
22034
|
this.description ||
|
|
21784
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
22035
|
+
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 ||
|
|
21785
22036
|
this.errorDescription ||
|
|
21786
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
22037
|
+
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)))));
|
|
21787
22038
|
}
|
|
21788
22039
|
static get formAssociated() { return true; }
|
|
21789
22040
|
get el() { return getElement(this); }
|
|
@@ -23829,6 +24080,133 @@ class NvMenuitem {
|
|
|
23829
24080
|
}; }
|
|
23830
24081
|
}
|
|
23831
24082
|
|
|
24083
|
+
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)}";
|
|
24084
|
+
var NvNotificationStyle0 = nvNotificationCss;
|
|
24085
|
+
|
|
24086
|
+
/**
|
|
24087
|
+
* @slot heading - Use this slot to insert HTML as the notification title.
|
|
24088
|
+
* @slot content - Use this slot to insert HTML as the notification message.
|
|
24089
|
+
* @slot actions - Use this slot for custom actions.
|
|
24090
|
+
*/
|
|
24091
|
+
class NvNotification {
|
|
24092
|
+
constructor(hostRef) {
|
|
24093
|
+
registerInstance(this, hostRef);
|
|
24094
|
+
this.hiddenChanged = createEvent(this, "hiddenChanged", 7);
|
|
24095
|
+
/****************************************************************************/
|
|
24096
|
+
//#region PROPERTIES
|
|
24097
|
+
/**
|
|
24098
|
+
* Set a unique ID for the notification. Used for aria attributes and managing
|
|
24099
|
+
* multiple notifications.
|
|
24100
|
+
*/
|
|
24101
|
+
this.uid = v4();
|
|
24102
|
+
/**
|
|
24103
|
+
* Specifies the notification type which determines the color and default icon.
|
|
24104
|
+
*/
|
|
24105
|
+
this.feedback = 'information';
|
|
24106
|
+
/**
|
|
24107
|
+
* Adjusts the emphasis to make the notification more or less visually
|
|
24108
|
+
* prominent to users. Use this to draw attention to important actions or
|
|
24109
|
+
* reduce focus on less critical ones
|
|
24110
|
+
*/
|
|
24111
|
+
this.emphasis = 'medium';
|
|
24112
|
+
/**
|
|
24113
|
+
* Allows the notification to be dismissed via a close button (x). The
|
|
24114
|
+
* notification is not dismissible unless explicitly enabled.
|
|
24115
|
+
*/
|
|
24116
|
+
this.dismissible = false;
|
|
24117
|
+
/**
|
|
24118
|
+
* Controls the visibility of the notification.
|
|
24119
|
+
*/
|
|
24120
|
+
this.hidden = false; // eslint-disable-line @stencil-community/reserved-member-names
|
|
24121
|
+
//#endregion EVENTS
|
|
24122
|
+
/****************************************************************************/
|
|
24123
|
+
//#region INTERNAL
|
|
24124
|
+
this.iconByFeedback = {
|
|
24125
|
+
[FeedbackColors.Warning]: 'alert-circle',
|
|
24126
|
+
[FeedbackColors.Information]: 'info-circle',
|
|
24127
|
+
[FeedbackColors.Success]: 'circle-check',
|
|
24128
|
+
[FeedbackColors.Error]: 'alert-triangle',
|
|
24129
|
+
[FeedbackColors.Neutral]: 'help',
|
|
24130
|
+
};
|
|
24131
|
+
this.roleByFeedback = {
|
|
24132
|
+
[FeedbackColors.Error]: 'alert',
|
|
24133
|
+
[FeedbackColors.Warning]: 'alert',
|
|
24134
|
+
[FeedbackColors.Information]: 'status',
|
|
24135
|
+
[FeedbackColors.Success]: 'status',
|
|
24136
|
+
[FeedbackColors.Neutral]: 'status',
|
|
24137
|
+
};
|
|
24138
|
+
}
|
|
24139
|
+
//#endregion PROPERTIES
|
|
24140
|
+
/****************************************************************************/
|
|
24141
|
+
//#region METHODS
|
|
24142
|
+
async dismiss() {
|
|
24143
|
+
await this.dismissAnimation();
|
|
24144
|
+
}
|
|
24145
|
+
getDefaultIcon() {
|
|
24146
|
+
var _a;
|
|
24147
|
+
return (_a = this.iconByFeedback[this.feedback]) !== null && _a !== void 0 ? _a : 'info-circle';
|
|
24148
|
+
}
|
|
24149
|
+
getAriaRole() {
|
|
24150
|
+
var _a;
|
|
24151
|
+
return (_a = this.roleByFeedback[this.feedback]) !== null && _a !== void 0 ? _a : 'status';
|
|
24152
|
+
}
|
|
24153
|
+
getAriaLive() {
|
|
24154
|
+
return this.getAriaRole() === 'alert' ? 'assertive' : 'polite';
|
|
24155
|
+
}
|
|
24156
|
+
getHeadingId() {
|
|
24157
|
+
return this.heading ? `nv-notification-${this.uid}-heading` : null;
|
|
24158
|
+
}
|
|
24159
|
+
getMessageId() {
|
|
24160
|
+
return this.message ? `nv-notification-${this.uid}-message` : null;
|
|
24161
|
+
}
|
|
24162
|
+
async dismissAnimation() {
|
|
24163
|
+
const { fadeOut } = useFade(this.container, { duration: 300 });
|
|
24164
|
+
const { slideOut } = useSlide(this.container, { duration: 800 });
|
|
24165
|
+
const { collapse } = useCollapse(this.el, {
|
|
24166
|
+
duration: 800,
|
|
24167
|
+
overflow: 'visible',
|
|
24168
|
+
});
|
|
24169
|
+
await parallel(fadeOut, slideOut, collapse).start();
|
|
24170
|
+
this.hidden = true;
|
|
24171
|
+
this.hiddenChanged.emit(true);
|
|
24172
|
+
}
|
|
24173
|
+
//#endregion INTERNAL
|
|
24174
|
+
/****************************************************************************/
|
|
24175
|
+
//#region LIFECYCLE
|
|
24176
|
+
componentWillLoad() {
|
|
24177
|
+
this.headingSlot = this.el.querySelector('[slot="heading"]');
|
|
24178
|
+
this.messageSlot = this.el.querySelector('[slot="content"]');
|
|
24179
|
+
this.actionsSlot = this.el.querySelector('[slot="actions"]');
|
|
24180
|
+
}
|
|
24181
|
+
//#endregion LIFECYCLE
|
|
24182
|
+
/****************************************************************************/
|
|
24183
|
+
//#region RENDER
|
|
24184
|
+
render() {
|
|
24185
|
+
var _a, _b, _c;
|
|
24186
|
+
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" })))))));
|
|
24187
|
+
}
|
|
24188
|
+
get el() { return getElement(this); }
|
|
24189
|
+
static get style() { return NvNotificationStyle0; }
|
|
24190
|
+
static get cmpMeta() { return {
|
|
24191
|
+
"$flags$": 4,
|
|
24192
|
+
"$tagName$": "nv-notification",
|
|
24193
|
+
"$members$": {
|
|
24194
|
+
"uid": [513],
|
|
24195
|
+
"feedback": [513],
|
|
24196
|
+
"emphasis": [513],
|
|
24197
|
+
"heading": [513],
|
|
24198
|
+
"message": [513],
|
|
24199
|
+
"icon": [513],
|
|
24200
|
+
"dismissible": [516],
|
|
24201
|
+
"hidden": [1540],
|
|
24202
|
+
"dismiss": [64]
|
|
24203
|
+
},
|
|
24204
|
+
"$listeners$": undefined,
|
|
24205
|
+
"$lazyBundleId$": "-",
|
|
24206
|
+
"$attrsToReflect$": [["uid", "uid"], ["feedback", "feedback"], ["emphasis", "emphasis"], ["heading", "heading"], ["message", "message"], ["icon", "icon"], ["dismissible", "dismissible"], ["hidden", "hidden"]]
|
|
24207
|
+
}; }
|
|
24208
|
+
}
|
|
24209
|
+
|
|
23832
24210
|
/**
|
|
23833
24211
|
* Custom positioning reference element.
|
|
23834
24212
|
* @see https://floating-ui.com/docs/virtual-elements
|
|
@@ -26209,7 +26587,7 @@ class NvPopover {
|
|
|
26209
26587
|
/****************************************************************************/
|
|
26210
26588
|
//#region RENDER
|
|
26211
26589
|
render() {
|
|
26212
|
-
return (hAsync(Host, { key: '
|
|
26590
|
+
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" }))));
|
|
26213
26591
|
}
|
|
26214
26592
|
get el() { return getElement(this); }
|
|
26215
26593
|
static get watchers() { return {
|
|
@@ -26256,7 +26634,7 @@ class NvRow {
|
|
|
26256
26634
|
/****************************************************************************/
|
|
26257
26635
|
//#region RENDER
|
|
26258
26636
|
render() {
|
|
26259
|
-
return (hAsync(Host, { key: '
|
|
26637
|
+
return (hAsync(Host, { key: '8415bdad0106bd3d836996c617a749294e0c19e2' }, hAsync("slot", { key: '77c069ced0dc25c4169945877c388f30d27fdc4f' })));
|
|
26260
26638
|
}
|
|
26261
26639
|
static get style() { return NvRowStyle0; }
|
|
26262
26640
|
static get cmpMeta() { return {
|
|
@@ -26291,7 +26669,7 @@ class NvStack {
|
|
|
26291
26669
|
/****************************************************************************/
|
|
26292
26670
|
//#region RENDER
|
|
26293
26671
|
render() {
|
|
26294
|
-
return (hAsync(Host, { key: '
|
|
26672
|
+
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' })));
|
|
26295
26673
|
}
|
|
26296
26674
|
static get style() { return NvStackStyle0; }
|
|
26297
26675
|
static get cmpMeta() { return {
|
|
@@ -26628,14 +27006,14 @@ class NvTable {
|
|
|
26628
27006
|
const rows = !this.table || this.table === undefined || this.parsedData.length === 0
|
|
26629
27007
|
? []
|
|
26630
27008
|
: this.table.data;
|
|
26631
|
-
return (hAsync(Host, { key: '
|
|
27009
|
+
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 &&
|
|
26632
27010
|
headerGroups.map(col => {
|
|
26633
27011
|
return (hAsync("th", { key: col.name }, this.renderTemplate(this.headerTemplateCache.get(col.name), {}) || col.header));
|
|
26634
27012
|
})))), 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 => {
|
|
26635
27013
|
var _a;
|
|
26636
27014
|
return (hAsync("td", null, this.renderTemplate(this.templateCache.get(col.name), row) ||
|
|
26637
27015
|
((_a = row[col.name]) !== null && _a !== void 0 ? _a : this.fallbackValue)));
|
|
26638
|
-
})))))))), hAsync("slot", { key: '
|
|
27016
|
+
})))))))), hAsync("slot", { key: '233b61e9099f58ca0eeeb7d0f7fdc7bd71bc9065', name: "after" })));
|
|
26639
27017
|
}
|
|
26640
27018
|
get el() { return getElement(this); }
|
|
26641
27019
|
static get watchers() { return {
|
|
@@ -26755,8 +27133,8 @@ class NvToggle {
|
|
|
26755
27133
|
/****************************************************************************/
|
|
26756
27134
|
//#region RENDER
|
|
26757
27135
|
render() {
|
|
26758
|
-
return (hAsync(Host, { key: '
|
|
26759
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
27136
|
+
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 ||
|
|
27137
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '2c157429288779ad6cc18d4e318e64830a657c54', class: "description" }, hAsync("slot", { key: 'fcfae2a0d7cdcc76d4b23c4b376c8e2496e11bb5', name: "description" }, this.description))))));
|
|
26760
27138
|
}
|
|
26761
27139
|
static get formAssociated() { return true; }
|
|
26762
27140
|
get el() { return getElement(this); }
|
|
@@ -26832,7 +27210,7 @@ class NvTogglebutton {
|
|
|
26832
27210
|
/****************************************************************************/
|
|
26833
27211
|
//#region RENDER
|
|
26834
27212
|
render() {
|
|
26835
|
-
return (hAsync(Host, { key: '
|
|
27213
|
+
return (hAsync(Host, { key: 'cb15a84c7e7cc27a80773613f31b98168eee8475', role: "button", tabindex: "0", "aria-pressed": String(this.active), onClick: this.handleClick }, hAsync("slot", { key: '32d6b9394088d88c4671fb7809ad6aa85b240fff' })));
|
|
26836
27214
|
}
|
|
26837
27215
|
static get style() { return NvTogglebuttonStyle0; }
|
|
26838
27216
|
static get cmpMeta() { return {
|
|
@@ -27008,7 +27386,7 @@ class NvTogglebuttongroup {
|
|
|
27008
27386
|
/****************************************************************************/
|
|
27009
27387
|
//#region RENDER
|
|
27010
27388
|
render() {
|
|
27011
|
-
return (hAsync(Host, { key: '
|
|
27389
|
+
return (hAsync(Host, { key: 'ce185699fabd71bb5c22e5a0d73df88067acb9d6' }, hAsync("slot", { key: 'a1e375fb1e8660f3fdb75d96f18db20735a3a64d' })));
|
|
27012
27390
|
}
|
|
27013
27391
|
get el() { return getElement(this); }
|
|
27014
27392
|
static get watchers() { return {
|
|
@@ -27079,7 +27457,7 @@ class NvTooltip {
|
|
|
27079
27457
|
/****************************************************************************/
|
|
27080
27458
|
//#region RENDER
|
|
27081
27459
|
render() {
|
|
27082
|
-
return (hAsync(Host, { key: '
|
|
27460
|
+
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" }))));
|
|
27083
27461
|
}
|
|
27084
27462
|
get el() { return getElement(this); }
|
|
27085
27463
|
static get style() { return NvTooltipStyle0; }
|
|
@@ -27136,6 +27514,7 @@ registerComponents([
|
|
|
27136
27514
|
NvLoader,
|
|
27137
27515
|
NvMenu,
|
|
27138
27516
|
NvMenuitem,
|
|
27517
|
+
NvNotification,
|
|
27139
27518
|
NvPopover,
|
|
27140
27519
|
NvRow,
|
|
27141
27520
|
NvStack,
|