@nova-design-system/nova-webcomponents 3.0.0-beta.17
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/LICENSE.MD +157 -0
- package/dist/blazor-docs.json +9342 -0
- package/dist/cjs/app-globals-2ceecab2.js +11 -0
- package/dist/cjs/app-globals-2ceecab2.js.map +1 -0
- package/dist/cjs/clsx-fc789adc.js +7 -0
- package/dist/cjs/clsx-fc789adc.js.map +1 -0
- package/dist/cjs/constants-33057c89.js +140 -0
- package/dist/cjs/constants-33057c89.js.map +1 -0
- package/dist/cjs/fade.animation-0d33d198.js +1875 -0
- package/dist/cjs/fade.animation-0d33d198.js.map +1 -0
- package/dist/cjs/grow.animation-46e7ae4b.js +119 -0
- package/dist/cjs/grow.animation-46e7ae4b.js.map +1 -0
- package/dist/cjs/index-5d1f2412.js +1984 -0
- package/dist/cjs/index-5d1f2412.js.map +1 -0
- package/dist/cjs/index.cjs.js +494 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +17 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/native.cjs.js +48 -0
- package/dist/cjs/native.cjs.js.map +1 -0
- package/dist/cjs/nv-alert.cjs.entry.js +140 -0
- package/dist/cjs/nv-alert.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-avatar.cjs.entry.js +73 -0
- package/dist/cjs/nv-avatar.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-badge.cjs.entry.js +119 -0
- package/dist/cjs/nv-badge.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-base.cjs.entry.js +75 -0
- package/dist/cjs/nv-base.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-button.cjs.entry.js +91 -0
- package/dist/cjs/nv-button.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-col.cjs.entry.js +41 -0
- package/dist/cjs/nv-col.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +94 -0
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +94 -0
- package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-fieldpassword.cjs.entry.js +79 -0
- package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-fieldradio.cjs.entry.js +81 -0
- package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-fieldselect.cjs.entry.js +290 -0
- package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-fieldtext.cjs.entry.js +83 -0
- package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +151 -0
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-fieldtoggle.cjs.entry.js +64 -0
- package/dist/cjs/nv-fieldtoggle.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-icon.cjs.entry.js +66 -0
- package/dist/cjs/nv-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-iconbutton.cjs.entry.js +92 -0
- package/dist/cjs/nv-iconbutton.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-loader.cjs.entry.js +29 -0
- package/dist/cjs/nv-loader.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-menu.cjs.entry.js +189 -0
- package/dist/cjs/nv-menu.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-menuitem.cjs.entry.js +30 -0
- package/dist/cjs/nv-menuitem.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-popover.cjs.entry.js +2327 -0
- package/dist/cjs/nv-popover.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-row.cjs.entry.js +24 -0
- package/dist/cjs/nv-row.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-stack.cjs.entry.js +31 -0
- package/dist/cjs/nv-stack.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-tooltip.cjs.entry.js +37 -0
- package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -0
- package/dist/cjs/timeline.animation-dbb9c5ea.js +107 -0
- package/dist/cjs/timeline.animation-dbb9c5ea.js.map +1 -0
- package/dist/cjs/v4-7014b8b0.js +67 -0
- package/dist/cjs/v4-7014b8b0.js.map +1 -0
- package/dist/collection/animations/collapse.animation.js +82 -0
- package/dist/collection/animations/collapse.animation.js.map +1 -0
- package/dist/collection/animations/fade.animation.js +66 -0
- package/dist/collection/animations/fade.animation.js.map +1 -0
- package/dist/collection/animations/grow.animation.js +87 -0
- package/dist/collection/animations/grow.animation.js.map +1 -0
- package/dist/collection/animations/index.js +5 -0
- package/dist/collection/animations/index.js.map +1 -0
- package/dist/collection/animations/timeline.animation.js +21 -0
- package/dist/collection/animations/timeline.animation.js.map +1 -0
- package/dist/collection/collection-manifest.json +35 -0
- package/dist/collection/components/nv-alert/nv-alert.css +113 -0
- package/dist/collection/components/nv-alert/nv-alert.docs.js +61 -0
- package/dist/collection/components/nv-alert/nv-alert.docs.js.map +1 -0
- package/dist/collection/components/nv-alert/nv-alert.js +355 -0
- package/dist/collection/components/nv-alert/nv-alert.js.map +1 -0
- package/dist/collection/components/nv-avatar/nv-avatar.css +154 -0
- package/dist/collection/components/nv-avatar/nv-avatar.docs.js +42 -0
- package/dist/collection/components/nv-avatar/nv-avatar.docs.js.map +1 -0
- package/dist/collection/components/nv-avatar/nv-avatar.js +311 -0
- package/dist/collection/components/nv-avatar/nv-avatar.js.map +1 -0
- package/dist/collection/components/nv-badge/nv-badge.css +174 -0
- package/dist/collection/components/nv-badge/nv-badge.docs.js +72 -0
- package/dist/collection/components/nv-badge/nv-badge.docs.js.map +1 -0
- package/dist/collection/components/nv-badge/nv-badge.js +354 -0
- package/dist/collection/components/nv-badge/nv-badge.js.map +1 -0
- package/dist/collection/components/nv-base/nv-base.docs.js +5 -0
- package/dist/collection/components/nv-base/nv-base.docs.js.map +1 -0
- package/dist/collection/components/nv-base/nv-base.js +69 -0
- package/dist/collection/components/nv-base/nv-base.js.map +1 -0
- package/dist/collection/components/nv-button/nv-button.css +259 -0
- package/dist/collection/components/nv-button/nv-button.docs.js +56 -0
- package/dist/collection/components/nv-button/nv-button.docs.js.map +1 -0
- package/dist/collection/components/nv-button/nv-button.js +241 -0
- package/dist/collection/components/nv-button/nv-button.js.map +1 -0
- package/dist/collection/components/nv-col/nv-col.css +45 -0
- package/dist/collection/components/nv-col/nv-col.docs.js +18 -0
- package/dist/collection/components/nv-col/nv-col.docs.js.map +1 -0
- package/dist/collection/components/nv-col/nv-col.js +63 -0
- package/dist/collection/components/nv-col/nv-col.js.map +1 -0
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.css +136 -0
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js +231 -0
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js.map +1 -0
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +448 -0
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -0
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +183 -0
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +180 -0
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +1 -0
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +435 -0
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -0
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +149 -0
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +189 -0
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js.map +1 -0
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +465 -0
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -0
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.css +133 -0
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js +121 -0
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js.map +1 -0
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +347 -0
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +1 -0
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +197 -0
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +157 -0
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js.map +1 -0
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +610 -0
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -0
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +141 -0
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +206 -0
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -0
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +499 -0
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -0
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +141 -0
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js +175 -0
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js.map +1 -0
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +527 -0
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -0
- package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.css +114 -0
- package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.docs.js +65 -0
- package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.docs.js.map +1 -0
- package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js +283 -0
- package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js.map +1 -0
- package/dist/collection/components/nv-icon/nv-icon.css +32 -0
- package/dist/collection/components/nv-icon/nv-icon.docs.js +31 -0
- package/dist/collection/components/nv-icon/nv-icon.docs.js.map +1 -0
- package/dist/collection/components/nv-icon/nv-icon.js +245 -0
- package/dist/collection/components/nv-icon/nv-icon.js.map +1 -0
- package/dist/collection/components/nv-icon/nv-icons.js +450 -0
- package/dist/collection/components/nv-icon/nv-icons.js.map +1 -0
- package/dist/collection/components/nv-icon/test/nv-icon.test.js +25 -0
- package/dist/collection/components/nv-icon/test/nv-icon.test.js.map +1 -0
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.css +152 -0
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js +61 -0
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js.map +1 -0
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +263 -0
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.js.map +1 -0
- package/dist/collection/components/nv-loader/nv-loader.css +162 -0
- package/dist/collection/components/nv-loader/nv-loader.docs.js +27 -0
- package/dist/collection/components/nv-loader/nv-loader.docs.js.map +1 -0
- package/dist/collection/components/nv-loader/nv-loader.js +78 -0
- package/dist/collection/components/nv-loader/nv-loader.js.map +1 -0
- package/dist/collection/components/nv-menu/nv-menu.css +61 -0
- package/dist/collection/components/nv-menu/nv-menu.docs.js +40 -0
- package/dist/collection/components/nv-menu/nv-menu.docs.js.map +1 -0
- package/dist/collection/components/nv-menu/nv-menu.js +355 -0
- package/dist/collection/components/nv-menu/nv-menu.js.map +1 -0
- package/dist/collection/components/nv-menuitem/nv-menuitem.css +29 -0
- package/dist/collection/components/nv-menuitem/nv-menuitem.docs.js +6 -0
- package/dist/collection/components/nv-menuitem/nv-menuitem.docs.js.map +1 -0
- package/dist/collection/components/nv-menuitem/nv-menuitem.js +111 -0
- package/dist/collection/components/nv-menuitem/nv-menuitem.js.map +1 -0
- package/dist/collection/components/nv-popover/nv-popover.css +42 -0
- package/dist/collection/components/nv-popover/nv-popover.docs.js +74 -0
- package/dist/collection/components/nv-popover/nv-popover.docs.js.map +1 -0
- package/dist/collection/components/nv-popover/nv-popover.js +587 -0
- package/dist/collection/components/nv-popover/nv-popover.js.map +1 -0
- package/dist/collection/components/nv-row/nv-row.css +7 -0
- package/dist/collection/components/nv-row/nv-row.docs.js +13 -0
- package/dist/collection/components/nv-row/nv-row.docs.js.map +1 -0
- package/dist/collection/components/nv-row/nv-row.js +23 -0
- package/dist/collection/components/nv-row/nv-row.js.map +1 -0
- package/dist/collection/components/nv-stack/nv-stack.css +61 -0
- package/dist/collection/components/nv-stack/nv-stack.docs.js +39 -0
- package/dist/collection/components/nv-stack/nv-stack.docs.js.map +1 -0
- package/dist/collection/components/nv-stack/nv-stack.js +123 -0
- package/dist/collection/components/nv-stack/nv-stack.js.map +1 -0
- package/dist/collection/components/nv-tooltip/nv-tooltip.css +22 -0
- package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js +38 -0
- package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js.map +1 -0
- package/dist/collection/components/nv-tooltip/nv-tooltip.js +102 -0
- package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -0
- package/dist/collection/dev/dev-components.js +3 -0
- package/dist/collection/dev/dev-components.js.map +1 -0
- package/dist/collection/dev/dev-forms.js +3 -0
- package/dist/collection/dev/dev-forms.js.map +1 -0
- package/dist/collection/dev/dev-root.js +23 -0
- package/dist/collection/dev/dev-root.js.map +1 -0
- package/dist/collection/dev/dev-utils.js +54 -0
- package/dist/collection/dev/dev-utils.js.map +1 -0
- package/dist/collection/fonts/TT_Norms_Pro_Bold.woff2 +0 -0
- package/dist/collection/fonts/TT_Norms_Pro_Medium.woff2 +0 -0
- package/dist/collection/fonts/TT_Norms_Pro_Mono_Bold.woff2 +0 -0
- package/dist/collection/fonts/TT_Norms_Pro_Mono_Medium.woff2 +0 -0
- package/dist/collection/fonts/TT_Norms_Pro_Mono_Regular.woff2 +0 -0
- package/dist/collection/fonts/TT_Norms_Pro_Regular.woff2 +0 -0
- package/dist/collection/global.js +6 -0
- package/dist/collection/global.js.map +1 -0
- package/dist/collection/index.js +10 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/utils/class.utils.js +15 -0
- package/dist/collection/utils/class.utils.js.map +1 -0
- package/dist/collection/utils/constants.js +122 -0
- package/dist/collection/utils/constants.js.map +1 -0
- package/dist/collection/utils/events.utils.js +19 -0
- package/dist/collection/utils/events.utils.js.map +1 -0
- package/dist/components/index.d.ts +33 -0
- package/dist/components/index.js +488 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/nv-alert.d.ts +11 -0
- package/dist/components/nv-alert.js +171 -0
- package/dist/components/nv-alert.js.map +1 -0
- package/dist/components/nv-avatar.d.ts +11 -0
- package/dist/components/nv-avatar.js +106 -0
- package/dist/components/nv-avatar.js.map +1 -0
- package/dist/components/nv-badge.d.ts +11 -0
- package/dist/components/nv-badge.js +154 -0
- package/dist/components/nv-badge.js.map +1 -0
- package/dist/components/nv-base.d.ts +11 -0
- package/dist/components/nv-base.js +89 -0
- package/dist/components/nv-base.js.map +1 -0
- package/dist/components/nv-button.d.ts +11 -0
- package/dist/components/nv-button.js +116 -0
- package/dist/components/nv-button.js.map +1 -0
- package/dist/components/nv-col.d.ts +11 -0
- package/dist/components/nv-col.js +57 -0
- package/dist/components/nv-col.js.map +1 -0
- package/dist/components/nv-fieldcheckbox.d.ts +11 -0
- package/dist/components/nv-fieldcheckbox.js +128 -0
- package/dist/components/nv-fieldcheckbox.js.map +1 -0
- package/dist/components/nv-fieldnumber.d.ts +11 -0
- package/dist/components/nv-fieldnumber.js +134 -0
- package/dist/components/nv-fieldnumber.js.map +1 -0
- package/dist/components/nv-fieldpassword.d.ts +11 -0
- package/dist/components/nv-fieldpassword.js +134 -0
- package/dist/components/nv-fieldpassword.js.map +1 -0
- package/dist/components/nv-fieldradio.d.ts +11 -0
- package/dist/components/nv-fieldradio.js +110 -0
- package/dist/components/nv-fieldradio.js.map +1 -0
- package/dist/components/nv-fieldselect.d.ts +11 -0
- package/dist/components/nv-fieldselect.js +332 -0
- package/dist/components/nv-fieldselect.js.map +1 -0
- package/dist/components/nv-fieldtext.d.ts +11 -0
- package/dist/components/nv-fieldtext.js +125 -0
- package/dist/components/nv-fieldtext.js.map +1 -0
- package/dist/components/nv-fieldtextarea.d.ts +11 -0
- package/dist/components/nv-fieldtextarea.js +188 -0
- package/dist/components/nv-fieldtextarea.js.map +1 -0
- package/dist/components/nv-fieldtoggle.d.ts +11 -0
- package/dist/components/nv-fieldtoggle.js +91 -0
- package/dist/components/nv-fieldtoggle.js.map +1 -0
- package/dist/components/nv-icon.d.ts +11 -0
- package/dist/components/nv-icon.js +8 -0
- package/dist/components/nv-icon.js.map +1 -0
- package/dist/components/nv-iconbutton.d.ts +11 -0
- package/dist/components/nv-iconbutton.js +8 -0
- package/dist/components/nv-iconbutton.js.map +1 -0
- package/dist/components/nv-loader.d.ts +11 -0
- package/dist/components/nv-loader.js +8 -0
- package/dist/components/nv-loader.js.map +1 -0
- package/dist/components/nv-menu.d.ts +11 -0
- package/dist/components/nv-menu.js +216 -0
- package/dist/components/nv-menu.js.map +1 -0
- package/dist/components/nv-menuitem.d.ts +11 -0
- package/dist/components/nv-menuitem.js +55 -0
- package/dist/components/nv-menuitem.js.map +1 -0
- package/dist/components/nv-popover.d.ts +11 -0
- package/dist/components/nv-popover.js +8 -0
- package/dist/components/nv-popover.js.map +1 -0
- package/dist/components/nv-row.d.ts +11 -0
- package/dist/components/nv-row.js +38 -0
- package/dist/components/nv-row.js.map +1 -0
- package/dist/components/nv-stack.d.ts +11 -0
- package/dist/components/nv-stack.js +51 -0
- package/dist/components/nv-stack.js.map +1 -0
- package/dist/components/nv-tooltip.d.ts +11 -0
- package/dist/components/nv-tooltip.js +61 -0
- package/dist/components/nv-tooltip.js.map +1 -0
- package/dist/components/p-1daca48a.js +1871 -0
- package/dist/components/p-1daca48a.js.map +1 -0
- package/dist/components/p-42301d8f.js +104 -0
- package/dist/components/p-42301d8f.js.map +1 -0
- package/dist/components/p-50bd2808.js +1198 -0
- package/dist/components/p-50bd2808.js.map +1 -0
- package/dist/components/p-6146d4b0.js +87 -0
- package/dist/components/p-6146d4b0.js.map +1 -0
- package/dist/components/p-632bedb8.js +1730 -0
- package/dist/components/p-632bedb8.js.map +1 -0
- package/dist/components/p-8a1a6e56.js +5 -0
- package/dist/components/p-8a1a6e56.js.map +1 -0
- package/dist/components/p-8da6d9a3.js +43 -0
- package/dist/components/p-8da6d9a3.js.map +1 -0
- package/dist/components/p-a15ddd42.js +138 -0
- package/dist/components/p-a15ddd42.js.map +1 -0
- package/dist/components/p-be79e7bc.js +121 -0
- package/dist/components/p-be79e7bc.js.map +1 -0
- package/dist/components/p-c711fe67.js +2355 -0
- package/dist/components/p-c711fe67.js.map +1 -0
- package/dist/components/p-f5ff676c.js +65 -0
- package/dist/components/p-f5ff676c.js.map +1 -0
- package/dist/docs.d.ts +435 -0
- package/dist/docs.json +9249 -0
- package/dist/esm/app-globals-df0a3c8d.js +9 -0
- package/dist/esm/app-globals-df0a3c8d.js.map +1 -0
- package/dist/esm/clsx-297c1ffe.js +5 -0
- package/dist/esm/clsx-297c1ffe.js.map +1 -0
- package/dist/esm/constants-e9bee611.js +138 -0
- package/dist/esm/constants-e9bee611.js.map +1 -0
- package/dist/esm/fade.animation-2a077983.js +1871 -0
- package/dist/esm/fade.animation-2a077983.js.map +1 -0
- package/dist/esm/grow.animation-88a8ee8f.js +114 -0
- package/dist/esm/grow.animation-88a8ee8f.js.map +1 -0
- package/dist/esm/index-179dfba2.js +1952 -0
- package/dist/esm/index-179dfba2.js.map +1 -0
- package/dist/esm/index.js +487 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +13 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/native.js +43 -0
- package/dist/esm/native.js.map +1 -0
- package/dist/esm/nv-alert.entry.js +136 -0
- package/dist/esm/nv-alert.entry.js.map +1 -0
- package/dist/esm/nv-avatar.entry.js +69 -0
- package/dist/esm/nv-avatar.entry.js.map +1 -0
- package/dist/esm/nv-badge.entry.js +115 -0
- package/dist/esm/nv-badge.entry.js.map +1 -0
- package/dist/esm/nv-base.entry.js +71 -0
- package/dist/esm/nv-base.entry.js.map +1 -0
- package/dist/esm/nv-button.entry.js +87 -0
- package/dist/esm/nv-button.entry.js.map +1 -0
- package/dist/esm/nv-col.entry.js +37 -0
- package/dist/esm/nv-col.entry.js.map +1 -0
- package/dist/esm/nv-fieldcheckbox.entry.js +90 -0
- package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -0
- package/dist/esm/nv-fieldnumber.entry.js +90 -0
- package/dist/esm/nv-fieldnumber.entry.js.map +1 -0
- package/dist/esm/nv-fieldpassword.entry.js +75 -0
- package/dist/esm/nv-fieldpassword.entry.js.map +1 -0
- package/dist/esm/nv-fieldradio.entry.js +77 -0
- package/dist/esm/nv-fieldradio.entry.js.map +1 -0
- package/dist/esm/nv-fieldselect.entry.js +286 -0
- package/dist/esm/nv-fieldselect.entry.js.map +1 -0
- package/dist/esm/nv-fieldtext.entry.js +79 -0
- package/dist/esm/nv-fieldtext.entry.js.map +1 -0
- package/dist/esm/nv-fieldtextarea.entry.js +147 -0
- package/dist/esm/nv-fieldtextarea.entry.js.map +1 -0
- package/dist/esm/nv-fieldtoggle.entry.js +60 -0
- package/dist/esm/nv-fieldtoggle.entry.js.map +1 -0
- package/dist/esm/nv-icon.entry.js +62 -0
- package/dist/esm/nv-icon.entry.js.map +1 -0
- package/dist/esm/nv-iconbutton.entry.js +88 -0
- package/dist/esm/nv-iconbutton.entry.js.map +1 -0
- package/dist/esm/nv-loader.entry.js +25 -0
- package/dist/esm/nv-loader.entry.js.map +1 -0
- package/dist/esm/nv-menu.entry.js +185 -0
- package/dist/esm/nv-menu.entry.js.map +1 -0
- package/dist/esm/nv-menuitem.entry.js +26 -0
- package/dist/esm/nv-menuitem.entry.js.map +1 -0
- package/dist/esm/nv-popover.entry.js +2323 -0
- package/dist/esm/nv-popover.entry.js.map +1 -0
- package/dist/esm/nv-row.entry.js +20 -0
- package/dist/esm/nv-row.entry.js.map +1 -0
- package/dist/esm/nv-stack.entry.js +27 -0
- package/dist/esm/nv-stack.entry.js.map +1 -0
- package/dist/esm/nv-tooltip.entry.js +33 -0
- package/dist/esm/nv-tooltip.entry.js.map +1 -0
- package/dist/esm/timeline.animation-1b88f052.js +104 -0
- package/dist/esm/timeline.animation-1b88f052.js.map +1 -0
- package/dist/esm/v4-a79185f4.js +65 -0
- package/dist/esm/v4-a79185f4.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/native/fonts/TT_Norms_Pro_Bold.woff2 +0 -0
- package/dist/native/fonts/TT_Norms_Pro_Medium.woff2 +0 -0
- package/dist/native/fonts/TT_Norms_Pro_Mono_Bold.woff2 +0 -0
- package/dist/native/fonts/TT_Norms_Pro_Mono_Medium.woff2 +0 -0
- package/dist/native/fonts/TT_Norms_Pro_Mono_Regular.woff2 +0 -0
- package/dist/native/fonts/TT_Norms_Pro_Regular.woff2 +0 -0
- package/dist/native/index.esm.js +2 -0
- package/dist/native/index.esm.js.map +1 -0
- package/dist/native/native.css +1 -0
- package/dist/native/native.esm.js +2 -0
- package/dist/native/native.esm.js.map +1 -0
- package/dist/native/p-06f64d05.entry.js +2 -0
- package/dist/native/p-06f64d05.entry.js.map +1 -0
- package/dist/native/p-0aa0193b.entry.js +2 -0
- package/dist/native/p-0aa0193b.entry.js.map +1 -0
- package/dist/native/p-124a7067.entry.js +2 -0
- package/dist/native/p-124a7067.entry.js.map +1 -0
- package/dist/native/p-13d0ab5b.entry.js +2 -0
- package/dist/native/p-13d0ab5b.entry.js.map +1 -0
- package/dist/native/p-14c08510.entry.js +2 -0
- package/dist/native/p-14c08510.entry.js.map +1 -0
- package/dist/native/p-1ceee367.entry.js +2 -0
- package/dist/native/p-1ceee367.entry.js.map +1 -0
- package/dist/native/p-1daca48a.js +16 -0
- package/dist/native/p-1daca48a.js.map +1 -0
- package/dist/native/p-29d482cd.entry.js +2 -0
- package/dist/native/p-29d482cd.entry.js.map +1 -0
- package/dist/native/p-42301d8f.js +2 -0
- package/dist/native/p-42301d8f.js.map +1 -0
- package/dist/native/p-43cd42ca.entry.js +2 -0
- package/dist/native/p-43cd42ca.entry.js.map +1 -0
- package/dist/native/p-519e0f59.entry.js +2 -0
- package/dist/native/p-519e0f59.entry.js.map +1 -0
- package/dist/native/p-617d6a09.entry.js +2 -0
- package/dist/native/p-617d6a09.entry.js.map +1 -0
- package/dist/native/p-6f762ec2.entry.js +2 -0
- package/dist/native/p-6f762ec2.entry.js.map +1 -0
- package/dist/native/p-71d6aad8.entry.js +2 -0
- package/dist/native/p-71d6aad8.entry.js.map +1 -0
- package/dist/native/p-7ce1b712.entry.js +2 -0
- package/dist/native/p-7ce1b712.entry.js.map +1 -0
- package/dist/native/p-80788ddf.js +2 -0
- package/dist/native/p-80788ddf.js.map +1 -0
- package/dist/native/p-830ec54a.entry.js +2 -0
- package/dist/native/p-830ec54a.entry.js.map +1 -0
- package/dist/native/p-89accab1.entry.js +2 -0
- package/dist/native/p-89accab1.entry.js.map +1 -0
- package/dist/native/p-8a1a6e56.js +2 -0
- package/dist/native/p-8a1a6e56.js.map +1 -0
- package/dist/native/p-8b65b16f.entry.js +2 -0
- package/dist/native/p-8b65b16f.entry.js.map +1 -0
- package/dist/native/p-a15ddd42.js +2 -0
- package/dist/native/p-a15ddd42.js.map +1 -0
- package/dist/native/p-a37c2ac2.js +2 -0
- package/dist/native/p-a37c2ac2.js.map +1 -0
- package/dist/native/p-b5e4a9e7.entry.js +2 -0
- package/dist/native/p-b5e4a9e7.entry.js.map +1 -0
- package/dist/native/p-b8eb4c31.entry.js +2 -0
- package/dist/native/p-b8eb4c31.entry.js.map +1 -0
- package/dist/native/p-b99aa075.entry.js +2 -0
- package/dist/native/p-b99aa075.entry.js.map +1 -0
- package/dist/native/p-d5a8b6c4.entry.js +2 -0
- package/dist/native/p-d5a8b6c4.entry.js.map +1 -0
- package/dist/native/p-db2a68f3.js +3 -0
- package/dist/native/p-db2a68f3.js.map +1 -0
- package/dist/native/p-f5acea50.entry.js +2 -0
- package/dist/native/p-f5acea50.entry.js.map +1 -0
- package/dist/native/p-f5ff676c.js +2 -0
- package/dist/native/p-f5ff676c.js.map +1 -0
- package/dist/native/p-f9aac71a.entry.js +2 -0
- package/dist/native/p-f9aac71a.entry.js.map +1 -0
- package/dist/native/p-fb6f42b7.entry.js +2 -0
- package/dist/native/p-fb6f42b7.entry.js.map +1 -0
- package/dist/types/animations/collapse.animation.d.ts +11 -0
- package/dist/types/animations/fade.animation.d.ts +11 -0
- package/dist/types/animations/grow.animation.d.ts +15 -0
- package/dist/types/animations/index.d.ts +4 -0
- package/dist/types/animations/timeline.animation.d.ts +18 -0
- package/dist/types/components/nv-alert/nv-alert.d.ts +85 -0
- package/dist/types/components/nv-alert/nv-alert.docs.d.ts +4 -0
- package/dist/types/components/nv-avatar/nv-avatar.d.ts +75 -0
- package/dist/types/components/nv-avatar/nv-avatar.docs.d.ts +4 -0
- package/dist/types/components/nv-badge/nv-badge.d.ts +93 -0
- package/dist/types/components/nv-badge/nv-badge.docs.d.ts +4 -0
- package/dist/types/components/nv-base/nv-base.d.ts +17 -0
- package/dist/types/components/nv-base/nv-base.docs.d.ts +5 -0
- package/dist/types/components/nv-button/nv-button.d.ts +63 -0
- package/dist/types/components/nv-button/nv-button.docs.d.ts +4 -0
- package/dist/types/components/nv-col/nv-col.d.ts +18 -0
- package/dist/types/components/nv-col/nv-col.docs.d.ts +4 -0
- package/dist/types/components/nv-fieldcheckbox/nv-fieldcheckbox.d.ts +119 -0
- package/dist/types/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.d.ts +4 -0
- package/dist/types/components/nv-fieldnumber/nv-fieldnumber.d.ts +132 -0
- package/dist/types/components/nv-fieldnumber/nv-fieldnumber.docs.d.ts +4 -0
- package/dist/types/components/nv-fieldpassword/nv-fieldpassword.d.ts +145 -0
- package/dist/types/components/nv-fieldpassword/nv-fieldpassword.docs.d.ts +4 -0
- package/dist/types/components/nv-fieldradio/nv-fieldradio.d.ts +101 -0
- package/dist/types/components/nv-fieldradio/nv-fieldradio.docs.d.ts +4 -0
- package/dist/types/components/nv-fieldselect/nv-fieldselect.d.ts +195 -0
- package/dist/types/components/nv-fieldselect/nv-fieldselect.docs.d.ts +4 -0
- package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +162 -0
- package/dist/types/components/nv-fieldtext/nv-fieldtext.docs.d.ts +4 -0
- package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +161 -0
- package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.docs.d.ts +4 -0
- package/dist/types/components/nv-fieldtoggle/nv-fieldtoggle.d.ts +73 -0
- package/dist/types/components/nv-fieldtoggle/nv-fieldtoggle.docs.d.ts +4 -0
- package/dist/types/components/nv-icon/nv-icon.d.ts +51 -0
- package/dist/types/components/nv-icon/nv-icon.docs.d.ts +4 -0
- package/dist/types/components/nv-icon/nv-icons.d.ts +3 -0
- package/dist/types/components/nv-icon/test/nv-icon.test.d.ts +1 -0
- package/dist/types/components/nv-iconbutton/nv-iconbutton.d.ts +70 -0
- package/dist/types/components/nv-iconbutton/nv-iconbutton.docs.d.ts +4 -0
- package/dist/types/components/nv-loader/nv-loader.d.ts +18 -0
- package/dist/types/components/nv-loader/nv-loader.docs.d.ts +4 -0
- package/dist/types/components/nv-menu/nv-menu.d.ts +60 -0
- package/dist/types/components/nv-menu/nv-menu.docs.d.ts +4 -0
- package/dist/types/components/nv-menuitem/nv-menuitem.d.ts +31 -0
- package/dist/types/components/nv-menuitem/nv-menuitem.docs.d.ts +4 -0
- package/dist/types/components/nv-popover/nv-popover.d.ts +114 -0
- package/dist/types/components/nv-popover/nv-popover.docs.d.ts +4 -0
- package/dist/types/components/nv-row/nv-row.d.ts +7 -0
- package/dist/types/components/nv-row/nv-row.docs.d.ts +4 -0
- package/dist/types/components/nv-stack/nv-stack.d.ts +36 -0
- package/dist/types/components/nv-stack/nv-stack.docs.d.ts +4 -0
- package/dist/types/components/nv-tooltip/nv-tooltip.d.ts +32 -0
- package/dist/types/components/nv-tooltip/nv-tooltip.docs.d.ts +4 -0
- package/dist/types/components.d.ts +2412 -0
- package/dist/types/dev/dev-components.d.ts +2 -0
- package/dist/types/dev/dev-forms.d.ts +2 -0
- package/dist/types/dev/dev-root.d.ts +1 -0
- package/dist/types/dev/dev-utils.d.ts +17 -0
- package/dist/types/global.d.ts +1 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/nova-docs.d.ts +32 -0
- package/dist/types/stencil-public-runtime.d.ts +1678 -0
- package/dist/types/utils/class.utils.d.ts +6 -0
- package/dist/types/utils/constants.d.ts +112 -0
- package/dist/types/utils/events.utils.d.ts +15 -0
- package/dist/vscode-data.json +3179 -0
- package/hydrate/index.d.ts +242 -0
- package/hydrate/index.js +24827 -0
- package/hydrate/index.mjs +24819 -0
- package/hydrate/package.json +12 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/loader/package.json +11 -0
- package/package.json +197 -0
- package/readme.md +67 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-179dfba2.js';
|
|
2
|
+
import { c as clsx } from './clsx-297c1ffe.js';
|
|
3
|
+
import { F as FeedbackColors } from './constants-e9bee611.js';
|
|
4
|
+
import { u as useCollapse, t as timeline } from './timeline.animation-1b88f052.js';
|
|
5
|
+
import { u as useFade } from './fade.animation-2a077983.js';
|
|
6
|
+
|
|
7
|
+
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.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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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-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}";
|
|
8
|
+
const NvAlertStyle0 = nvAlertCss;
|
|
9
|
+
|
|
10
|
+
const NvAlert = class {
|
|
11
|
+
constructor(hostRef) {
|
|
12
|
+
registerInstance(this, hostRef);
|
|
13
|
+
this.hiddenChanged = createEvent(this, "hiddenChanged", 7);
|
|
14
|
+
this.hiddenChangedComplete = createEvent(this, "hiddenChangedComplete", 7);
|
|
15
|
+
this.closeClicked = createEvent(this, "closeClicked", 7);
|
|
16
|
+
//#endregion WATCHERS
|
|
17
|
+
/****************************************************************************/
|
|
18
|
+
//#region METHODS
|
|
19
|
+
/**
|
|
20
|
+
* Handles the dismissal of the alert, considering the preventAutoClose prop.
|
|
21
|
+
* Passes the original event from the close button to the close event detail.
|
|
22
|
+
* @param {MouseEvent} originalEvent - The original event from the close button.
|
|
23
|
+
*/
|
|
24
|
+
this.handleDismiss = (originalEvent) => {
|
|
25
|
+
if (!this.preventAutoClose) {
|
|
26
|
+
this.hidden = true;
|
|
27
|
+
}
|
|
28
|
+
this.closeClicked.emit(originalEvent);
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* By default an icon is linked to the feedback type
|
|
32
|
+
* @returns {string} - The default icon name.
|
|
33
|
+
*/
|
|
34
|
+
this.getDefaultIcon = () => {
|
|
35
|
+
switch (this.feedback) {
|
|
36
|
+
case FeedbackColors.Warning:
|
|
37
|
+
return 'alert-circle';
|
|
38
|
+
case FeedbackColors.Information:
|
|
39
|
+
return 'info-circle';
|
|
40
|
+
case FeedbackColors.Success:
|
|
41
|
+
return 'circle-check';
|
|
42
|
+
case FeedbackColors.Error:
|
|
43
|
+
return 'alert-circle';
|
|
44
|
+
case FeedbackColors.Neutral:
|
|
45
|
+
return 'help';
|
|
46
|
+
default:
|
|
47
|
+
return 'info-circle';
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
this.color = undefined;
|
|
51
|
+
this.feedback = 'information';
|
|
52
|
+
this.message = undefined;
|
|
53
|
+
this.heading = undefined;
|
|
54
|
+
this.icon = undefined;
|
|
55
|
+
this.dismissible = false;
|
|
56
|
+
this.preventAutoClose = false;
|
|
57
|
+
this.hidden = false;
|
|
58
|
+
}
|
|
59
|
+
componentWillRender() {
|
|
60
|
+
if (this.color) {
|
|
61
|
+
switch (this.color) {
|
|
62
|
+
case 'primary':
|
|
63
|
+
this.feedback = 'warning';
|
|
64
|
+
break;
|
|
65
|
+
case 'secondary':
|
|
66
|
+
this.feedback = 'information';
|
|
67
|
+
break;
|
|
68
|
+
case 'neutral':
|
|
69
|
+
this.feedback = 'information';
|
|
70
|
+
break;
|
|
71
|
+
default:
|
|
72
|
+
this.feedback = this.color;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//#endregion EVENTS
|
|
77
|
+
/****************************************************************************/
|
|
78
|
+
//#region WATCHERS
|
|
79
|
+
/**
|
|
80
|
+
* Used for 2 way binding with the hidden property.
|
|
81
|
+
* Triggers open and close animations.
|
|
82
|
+
* @param {boolean} hidden - The visibility state of the alert.
|
|
83
|
+
*/
|
|
84
|
+
async handleHiddenChange(hidden) {
|
|
85
|
+
this.hiddenChanged.emit(hidden);
|
|
86
|
+
const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });
|
|
87
|
+
const { collapse, expand } = useCollapse(this.ref, { duration: 150 });
|
|
88
|
+
if (hidden === true)
|
|
89
|
+
await timeline(fadeOut, collapse).start();
|
|
90
|
+
if (hidden === false)
|
|
91
|
+
await timeline(expand, fadeIn).start();
|
|
92
|
+
this.hiddenChangedComplete.emit(hidden);
|
|
93
|
+
}
|
|
94
|
+
//#endregion METHODS
|
|
95
|
+
/****************************************************************************/
|
|
96
|
+
//#region LIFECYCLE
|
|
97
|
+
componentWillLoad() {
|
|
98
|
+
if (this.color) {
|
|
99
|
+
switch (this.color) {
|
|
100
|
+
case 'primary':
|
|
101
|
+
this.feedback = 'warning';
|
|
102
|
+
break;
|
|
103
|
+
case 'secondary':
|
|
104
|
+
this.feedback = 'information';
|
|
105
|
+
break;
|
|
106
|
+
case 'neutral':
|
|
107
|
+
this.feedback = 'information';
|
|
108
|
+
break;
|
|
109
|
+
default:
|
|
110
|
+
this.feedback = this.color;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (this.hidden) {
|
|
114
|
+
const { setCollapsed } = useCollapse(this.ref);
|
|
115
|
+
const { setFadeOut } = useFade(this.ref);
|
|
116
|
+
setCollapsed();
|
|
117
|
+
setFadeOut();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//#endregion LIFECYCLE
|
|
121
|
+
/****************************************************************************/
|
|
122
|
+
//#region RENDER
|
|
123
|
+
render() {
|
|
124
|
+
var _a;
|
|
125
|
+
return (h(Host, { key: '6df6a1c8f72ca1291f3ba03242225fb63b43e6dd', role: "alert", class: clsx('root', `feedback-${this.feedback}`) }, h("nv-icon", { key: '51b6e7d130b4c81e1de48c511dfe2edc52de5bfb', name: (_a = this.icon) !== null && _a !== void 0 ? _a : this.getDefaultIcon(), class: `icon-${this.feedback}`, size: "md" }), h("div", { key: 'dac06159b49e2a6caf48245a8131dcd6d530c346', class: "content" }, this.heading && h("p", { key: '8fb6805d964174a0c5808e49152f4c047cba1f82', class: "heading" }, this.heading), this.message && h("p", { key: 'ff5a70d54c760651e3cfa7dfff40095d9599e448', class: "message" }, this.message), h("slot", { key: '546aff25cadda8a402e2b45b2f4f039a7e3a7ecc' })), this.dismissible && (h("button", { key: 'a43b47df76ede8cf646b9c8430532848b73008f4', class: "close", type: "button", onClick: this.handleDismiss }, h("nv-icon", { key: 'cef62db2b2234101c49a44c80ebfa9224220ec0b', name: "x", size: "sm" })))));
|
|
126
|
+
}
|
|
127
|
+
get ref() { return getElement(this); }
|
|
128
|
+
static get watchers() { return {
|
|
129
|
+
"hidden": ["handleHiddenChange"]
|
|
130
|
+
}; }
|
|
131
|
+
};
|
|
132
|
+
NvAlert.style = NvAlertStyle0;
|
|
133
|
+
|
|
134
|
+
export { NvAlert as nv_alert };
|
|
135
|
+
|
|
136
|
+
//# sourceMappingURL=nv-alert.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"nv-alert.entry.js","mappings":"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","names":[],"sources":["src/components/nv-alert/nv-alert.scss?tag=nv-alert","src/components/nv-alert/nv-alert.tsx"],"sourcesContent":["@use \"sass:map\";\n@import \"../../styles/focus-ring\";\n\n/* Variants */\n$alert-feedback: (\"information\", \"warning\", \"error\", \"success\", \"neutral\");\n\n/* Define maps for feedback-related variables */\n$components-alert-background: (\n \"information\": var(--components-alert-information-background),\n \"warning\": var(--components-alert-warning-background),\n \"error\": var(--components-alert-error-background),\n \"success\": var(--components-alert-success-background),\n \"neutral\": var(--components-alert-neutral-background)\n);\n\n$components-alert-border: (\n \"information\": var(--components-alert-information-border),\n \"warning\": var(--components-alert-warning-border),\n \"error\": var(--components-alert-error-border),\n \"success\": var(--components-alert-success-border),\n \"neutral\": var(--components-alert-neutral-border)\n);\n\n$components-alert-icon: (\n \"information\": var(--components-alert-information-icon),\n \"warning\": var(--components-alert-warning-icon),\n \"error\": var(--components-alert-error-icon),\n \"success\": var(--components-alert-success-icon),\n \"neutral\": var(--components-alert-neutral-icon)\n);\n\n@mixin root-styles() {\n display: flex !important; // override the display: none in [hidden] css\n align-items: flex-start;\n position: relative;\n gap: var(--alert-gap-x);\n border-radius: var(--alert-radius);\n font-family: \"TT Norms Pro\", \"Montserrat\", sans-serif;\n}\n\n@mixin content-styles() {\n display: flex;\n padding: var(--alert-padding);\n padding-left: 0;\n flex-direction: column;\n gap: var(--alert-gap-y);\n}\n\n@mixin feedback-color($feedback-type) {\n background-color: map.get($components-alert-background, $feedback-type);\n border: 1px solid map.get($components-alert-border, $feedback-type) !important;\n}\n\n@mixin icon-color($feedback-type) {\n color: map.get($components-alert-icon, $feedback-type);\n}\n\n@mixin icon-position {\n margin-left: var(--alert-icon-position-x);\n margin-top: var(--alert-icon-position-y);\n}\n\nnv-alert {\n @include root-styles();\n\n & > nv-icon {\n @include icon-position();\n }\n\n @each $feedback in $alert-feedback {\n &.feedback-#{$feedback} {\n @include feedback-color($feedback);\n & > .close {\n @include focus-ring(map.get($components-alert-border, $feedback));\n }\n }\n }\n\n @each $feedback in $alert-feedback {\n & > nv-icon.icon-#{$feedback} {\n @include icon-color($feedback);\n }\n }\n\n & > .content {\n @include content-styles();\n\n & > .heading {\n color: var(--components-alert-content-title);\n font-size: var(--alert-heading-font-size);\n line-height: var(--alert-heading-line-height);\n font-weight: var(--alert-heading-font-weight);\n }\n & > .message {\n color: var(--components-alert-content-description);\n font-size: var(--alert-message-font-size);\n line-height: var(--alert-message-line-height);\n }\n }\n & > .close {\n border-radius: var(--alert-radius);\n position: absolute;\n display: flex;\n top: var(--alert-icon-position-y);\n right: var(--alert-icon-position-x);\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Watch,\n Element,\n} from '@stencil/core';\nimport clsx from 'clsx';\n\nimport {\n DeprecatedSemanticColors,\n FeedbackColors,\n} from '../../utils/constants';\nimport { useCollapse, useFade, timeline } from '../../animations';\n\n/**\n * @slot default - Use this slot to insert HTML into the alert content.\n */\n@Component({\n tag: 'nv-alert',\n styleUrl: 'nv-alert.scss',\n shadow: false,\n})\nexport class NvAlert {\n @Element() ref: HTMLNvAlertElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Defines color of the alert.\n * @deprecated use feedback instead.\n */\n @Prop()\n readonly color: `${DeprecatedSemanticColors}`;\n\n componentWillRender() {\n if (this.color) {\n switch (this.color) {\n case 'primary' as DeprecatedSemanticColors:\n this.feedback = 'warning' as FeedbackColors;\n break;\n case 'secondary' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n case 'neutral' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n default:\n this.feedback = this.color as FeedbackColors;\n }\n }\n }\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Specifies the alert type which determines the color and default icon.\n */\n @Prop({ reflect: true, mutable: true })\n feedback: `${FeedbackColors}` = 'information';\n\n /**\n * Main content of the alert. For more complex content, use the default slot\n * instead.\n */\n @Prop({ reflect: true })\n readonly message: string;\n\n /**\n * Short and concise text for the alert title.\n */\n @Prop({ reflect: true })\n readonly heading: string;\n\n /**\n * Icon associated with the alert, defaults vary based on the feedback type.\n */\n @Prop({ reflect: true })\n readonly icon: string;\n\n /**\n * Allows the alert to be dismissed via a close button (x). The alert is not\n * dismissible unless explicitly enabled.\n */\n @Prop({ reflect: true })\n readonly dismissible: boolean = false;\n\n /**\n * When true, the alert does not automatically close upon dismissing.\n * Useful for externally controlled component behavior.\n */\n @Prop({ reflect: true })\n readonly preventAutoClose: boolean = false;\n\n /**\n * Controls the visibility of the alert. Will animate with fade and collapse.\n */\n @Prop({ reflect: true, mutable: true })\n hidden: boolean = false; // eslint-disable-line @stencil-community/reserved-member-names\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\n * Passes hidden value to the detail.\n * @bind hidden\n */\n @Event()\n hiddenChanged: EventEmitter<boolean>;\n\n /**\n * Emitted when the animations complete, detail includes the hidden value.\n */\n @Event()\n hiddenChangedComplete: EventEmitter<boolean>;\n\n /**\n * Emitted when the close button is clicked.\n */\n @Event()\n closeClicked: EventEmitter<MouseEvent>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Used for 2 way binding with the hidden property.\n * Triggers open and close animations.\n * @param {boolean} hidden - The visibility state of the alert.\n */\n @Watch('hidden')\n async handleHiddenChange(hidden: boolean) {\n this.hiddenChanged.emit(hidden);\n\n const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });\n const { collapse, expand } = useCollapse(this.ref, { duration: 150 });\n\n if (hidden === true) await timeline(fadeOut, collapse).start();\n if (hidden === false) await timeline(expand, fadeIn).start();\n\n this.hiddenChangedComplete.emit(hidden);\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles the dismissal of the alert, considering the preventAutoClose prop.\n * Passes the original event from the close button to the close event detail.\n * @param {MouseEvent} originalEvent - The original event from the close button.\n */\n private handleDismiss = (originalEvent?: MouseEvent) => {\n if (!this.preventAutoClose) {\n this.hidden = true;\n }\n\n this.closeClicked.emit(originalEvent);\n };\n\n /**\n * By default an icon is linked to the feedback type\n * @returns {string} - The default icon name.\n */\n private getDefaultIcon = () => {\n switch (this.feedback) {\n case FeedbackColors.Warning:\n return 'alert-circle';\n case FeedbackColors.Information:\n return 'info-circle';\n case FeedbackColors.Success:\n return 'circle-check';\n case FeedbackColors.Error:\n return 'alert-circle';\n case FeedbackColors.Neutral:\n return 'help';\n default:\n return 'info-circle';\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (this.color) {\n switch (this.color) {\n case 'primary' as DeprecatedSemanticColors:\n this.feedback = 'warning' as FeedbackColors;\n break;\n case 'secondary' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n case 'neutral' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n default:\n this.feedback = this.color as FeedbackColors;\n }\n }\n\n if (this.hidden) {\n const { setCollapsed } = useCollapse(this.ref);\n const { setFadeOut } = useFade(this.ref);\n\n setCollapsed();\n setFadeOut();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host role=\"alert\" class={clsx('root', `feedback-${this.feedback}`)}>\n <nv-icon\n name={this.icon ?? this.getDefaultIcon()}\n class={`icon-${this.feedback}`}\n size=\"md\"\n ></nv-icon>\n\n <div class=\"content\">\n {this.heading && <p class=\"heading\">{this.heading}</p>}\n\n {this.message && <p class=\"message\">{this.message}</p>}\n\n <slot></slot>\n </div>\n\n {this.dismissible && (\n <button class=\"close\" type=\"button\" onClick={this.handleDismiss}>\n <nv-icon name=\"x\" size=\"sm\" />\n </button>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { r as registerInstance, h, a as Host } from './index-179dfba2.js';
|
|
2
|
+
import { c as clsx } from './clsx-297c1ffe.js';
|
|
3
|
+
import { S as SemanticSizes } from './constants-e9bee611.js';
|
|
4
|
+
|
|
5
|
+
const nvAvatarCss = "nv-icon{display:inline-block;width:fit-content;height:fit-content;color:inherit}nv-icon>.nv-icon-xs{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-icon>.nv-icon-sm{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-icon>.nv-icon-md{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-icon>.nv-icon-lg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-icon>.nv-icon-xl{width:var(--spacing-7);height:var(--spacing-7);stroke-width:1.9px}nv-avatar{align-items:center !important;background-color:var(--components-avatar-background-1);border-radius:var(--radius-rounded-full) !important;display:flex !important;flex-shrink:0 !important;font-family:\"TT Norms Pro\", sans-serif;font-style:normal;font-weight:var(--font-weight-medium-emphasis);justify-content:center !important;leading-trim:both;line-height:1 !important;text-align:center;text-edge:cap;text-transform:uppercase}nv-avatar.avatar-color-1{background-color:var(--components-avatar-background-1);color:var(--components-avatar-content-1)}nv-avatar.avatar-color-2{background-color:var(--components-avatar-background-2);color:var(--components-avatar-content-2)}nv-avatar.avatar-color-3{background-color:var(--components-avatar-background-3);color:var(--components-avatar-content-3)}nv-avatar.avatar-color-4{background-color:var(--components-avatar-background-4);color:var(--components-avatar-content-4)}nv-avatar.avatar-color-5{background-color:var(--components-avatar-background-5);color:var(--components-avatar-content-5)}nv-avatar.avatar-color-6{background-color:var(--components-avatar-background-6);color:var(--components-avatar-content-6)}nv-avatar.avatar-color-7{background-color:var(--components-avatar-background-7);color:var(--components-avatar-content-7)}nv-avatar.avatar-color-8{background-color:var(--components-avatar-background-8);color:var(--components-avatar-content-8)}nv-avatar.avatar-color-9{background-color:var(--components-avatar-background-9);color:var(--components-avatar-content-9)}nv-avatar.avatar-color-10{background-color:var(--components-avatar-background-10);color:var(--components-avatar-content-10)}nv-avatar img{height:100%;width:100%;object-fit:cover;object-position:center;border-radius:50%}nv-avatar.avatar-xs{width:var(--avatar-xs-size);height:var(--avatar-xs-size);font-size:var(--avatar-xs-font-size);line-height:var(--avatar-xs-font-size)}nv-avatar.avatar-xs nv-icon>svg{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-avatar.avatar-sm{width:var(--avatar-sm-size);height:var(--avatar-sm-size);font-size:var(--avatar-sm-font-size);line-height:var(--avatar-sm-font-size)}nv-avatar.avatar-sm nv-icon>svg{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-avatar.avatar-md{width:var(--avatar-md-size);height:var(--avatar-md-size);font-size:var(--avatar-md-font-size);line-height:var(--avatar-md-font-size)}nv-avatar.avatar-md nv-icon>svg{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-avatar.avatar-lg{width:var(--avatar-lg-size);height:var(--avatar-lg-size);font-size:var(--avatar-lg-font-size);line-height:var(--avatar-lg-font-size)}nv-avatar.avatar-lg nv-icon>svg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-avatar.avatar-xl{width:var(--avatar-xl-size);height:var(--avatar-xl-size);font-size:var(--avatar-xl-font-size);line-height:var(--avatar-xl-font-size)}nv-avatar.avatar-xl nv-icon>svg{width:var(--spacing-7);height:var(--spacing-7);stroke-width:1.9px}";
|
|
6
|
+
const NvAvatarStyle0 = nvAvatarCss;
|
|
7
|
+
|
|
8
|
+
const NvAvatar = class {
|
|
9
|
+
constructor(hostRef) {
|
|
10
|
+
registerInstance(this, hostRef);
|
|
11
|
+
this.xsmall = undefined;
|
|
12
|
+
this.small = undefined;
|
|
13
|
+
this.medium = undefined;
|
|
14
|
+
this.large = undefined;
|
|
15
|
+
this.xlarge = undefined;
|
|
16
|
+
this.text = undefined;
|
|
17
|
+
this.url = undefined;
|
|
18
|
+
this.alt = undefined;
|
|
19
|
+
this.src = undefined;
|
|
20
|
+
this.initials = undefined;
|
|
21
|
+
this.size = 'md';
|
|
22
|
+
this.color = '1';
|
|
23
|
+
}
|
|
24
|
+
componentWillRender() {
|
|
25
|
+
if (this.xsmall) {
|
|
26
|
+
this.size = SemanticSizes.ExtraSmall;
|
|
27
|
+
}
|
|
28
|
+
if (this.small) {
|
|
29
|
+
this.size = SemanticSizes.Small;
|
|
30
|
+
}
|
|
31
|
+
if (this.medium) {
|
|
32
|
+
this.size = SemanticSizes.Medium;
|
|
33
|
+
}
|
|
34
|
+
if (this.large) {
|
|
35
|
+
this.size = SemanticSizes.Large;
|
|
36
|
+
}
|
|
37
|
+
if (this.xlarge) {
|
|
38
|
+
this.size = SemanticSizes.ExtraLarge;
|
|
39
|
+
}
|
|
40
|
+
if (this.text) {
|
|
41
|
+
this.initials = this.text;
|
|
42
|
+
}
|
|
43
|
+
if (this.url) {
|
|
44
|
+
this.src = this.url;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//#endregion PROPERTIES
|
|
48
|
+
/****************************************************************************/
|
|
49
|
+
//#region METHODS
|
|
50
|
+
/**
|
|
51
|
+
* Makes sure the initials are trimmed to 2 letters.
|
|
52
|
+
* @param {string} initials - The initials to be trimmed.
|
|
53
|
+
* @returns {string} The trimmed initials.
|
|
54
|
+
*/
|
|
55
|
+
trimInitials(initials) {
|
|
56
|
+
return initials.trim().substring(0, 2);
|
|
57
|
+
}
|
|
58
|
+
//#endregion METHODS
|
|
59
|
+
/****************************************************************************/
|
|
60
|
+
//#region RENDER
|
|
61
|
+
render() {
|
|
62
|
+
return (h(Host, { key: '8cd1fe9e804aa11e821c0983c28eefdbe2275235', class: clsx(`avatar-${this.size}`, `avatar-color-${this.color}`), "aria-label": this.alt }, this.src ? (h("img", { src: this.src, alt: this.alt })) : this.initials ? (this.trimInitials(this.initials)) : (h("slot", { name: "icon" }, h("nv-icon", { name: "user" })))));
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
NvAvatar.style = NvAvatarStyle0;
|
|
66
|
+
|
|
67
|
+
export { NvAvatar as nv_avatar };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=nv-avatar.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"nv-avatar.entry.js","mappings":";;;;AAAA,MAAM,WAAW,GAAG,u7GAAu7G,CAAC;AAC58G,uBAAe,WAAW;;MCYb,QAAQ;;;;;;;;;;;;;oBAyGQ,IAAI;qBAON,GAAG;;IA1D5B,mBAAmB;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC;SACtC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC;SACtC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;SAC3B;QACD,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;SACrB;KACF;;;;;;;;;IA+CO,YAAY,CAAC,QAAgB;QACnC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACxC;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,qDACH,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,EAAE,EAAE,gBAAgB,IAAI,CAAC,KAAK,EAAE,CAAC,gBACpD,IAAI,CAAC,GAAG,IAEnB,IAAI,CAAC,GAAG,IACP,WAAK,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAI,IACnC,IAAI,CAAC,QAAQ,IACf,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAEhC,YAAM,IAAI,EAAC,MAAM,IACf,eAAS,IAAI,EAAC,MAAM,GAAG,CAClB,CACR,CACI,EACP;KACH;;;;;;","names":[],"sources":["src/components/nv-avatar/nv-avatar.scss?tag=nv-avatar","src/components/nv-avatar/nv-avatar.tsx"],"sourcesContent":["@use \"sass:map\";\n@use \"../nv-icon/nv-icon.scss\" as icon;\n\n/* Variants */\n$avatar-sizes: (\"xs\", \"sm\", \"md\", \"lg\", \"xl\");\n$avatar-colors: (\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\");\n\n/* Define maps for size-related variables */\n$avatar-size: (\n \"xs\": var(--avatar-xs-size),\n \"sm\": var(--avatar-sm-size),\n \"md\": var(--avatar-md-size),\n \"lg\": var(--avatar-lg-size),\n \"xl\": var(--avatar-xl-size)\n);\n\n$avatar-font-size: (\n \"xs\": var(--avatar-xs-font-size),\n \"sm\": var(--avatar-sm-font-size),\n \"md\": var(--avatar-md-font-size),\n \"lg\": var(--avatar-lg-font-size),\n \"xl\": var(--avatar-xl-font-size)\n);\n\n/* Define maps for color-related variables */\n$avatar-color-background: (\n \"1\": var(--components-avatar-background-1),\n \"2\": var(--components-avatar-background-2),\n \"3\": var(--components-avatar-background-3),\n \"4\": var(--components-avatar-background-4),\n \"5\": var(--components-avatar-background-5),\n \"6\": var(--components-avatar-background-6),\n \"7\": var(--components-avatar-background-7),\n \"8\": var(--components-avatar-background-8),\n \"9\": var(--components-avatar-background-9),\n \"10\": var(--components-avatar-background-10)\n);\n\n$avatar-color-content: (\n \"1\": var(--components-avatar-content-1),\n \"2\": var(--components-avatar-content-2),\n \"3\": var(--components-avatar-content-3),\n \"4\": var(--components-avatar-content-4),\n \"5\": var(--components-avatar-content-5),\n \"6\": var(--components-avatar-content-6),\n \"7\": var(--components-avatar-content-7),\n \"8\": var(--components-avatar-content-8),\n \"9\": var(--components-avatar-content-9),\n \"10\": var(--components-avatar-content-10)\n);\n\n@mixin avatar-base-styles() {\n align-items: center !important;\n background-color: var(--components-avatar-background-1);\n border-radius: var(--radius-rounded-full) !important;\n display: flex !important;\n flex-shrink: 0 !important;\n font-family: \"TT Norms Pro\", sans-serif;\n font-style: normal;\n font-weight: var(--font-weight-medium-emphasis);\n justify-content: center !important;\n leading-trim: both;\n line-height: 1 !important;\n text-align: center;\n text-edge: cap;\n text-transform: uppercase;\n}\n\n@mixin avatar-color($avatar-number) {\n background-color: map.get($avatar-color-background, $avatar-number);\n color: map.get($avatar-color-content, $avatar-number);\n}\n\n@mixin avatar-image-styles() {\n height: 100%;\n width: 100%;\n object-fit: cover;\n object-position: center;\n border-radius: 50%;\n}\n\n@mixin avatar-size-styles($size) {\n width: map.get($avatar-size, $size);\n height: map.get($avatar-size, $size);\n font-size: map.get($avatar-font-size, $size);\n line-height: map.get($avatar-font-size, $size);\n\n nv-icon > svg {\n @include icon.icon-size-and-stroke(\n map.get(map.get(icon.$icon-config, $size), size),\n map.get(map.get(icon.$icon-config, $size), stroke)\n );\n }\n}\n\nnv-avatar {\n @include avatar-base-styles();\n\n @each $color in $avatar-colors {\n &.avatar-color-#{$color} {\n @include avatar-color($color);\n }\n }\n\n img {\n @include avatar-image-styles();\n }\n\n @each $size in $avatar-sizes {\n &.avatar-#{$size} {\n @include avatar-size-styles($size);\n }\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\nimport clsx from 'clsx';\n\nimport { SemanticSizes } from '../../utils/constants';\n\n/**\n * @slot icon - if you want to add an icon to the avatar, use this slot with an svg or nv-icon\n */\n@Component({\n tag: 'nv-avatar',\n styleUrl: 'nv-avatar.scss',\n shadow: false,\n})\nexport class NvAvatar {\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Set size to ExtraSmall to the avatar.\n * @deprecated use size instead.\n */\n @Prop()\n readonly xsmall: boolean;\n\n /**\n * Set size to Small to the avatar.\n * @deprecated use size instead.\n */\n @Prop()\n readonly small: boolean;\n\n /**\n * Set size to Medium to the avatar.\n * @deprecated use size instead.\n */\n @Prop()\n readonly medium: boolean;\n\n /**\n * Set size to Large to the avatar.\n * @deprecated use size instead.\n */\n @Prop()\n readonly large: boolean;\n\n /**\n * Set size to ExtraLarge to the avatar.\n * @deprecated use size instead.\n */\n @Prop()\n readonly xlarge: boolean;\n\n /**\n * Set initials to the avatar.\n * @deprecated use initials instead.\n */\n\n @Prop()\n readonly text: string;\n\n /**\n * Set src to the avatar.\n * @deprecated use src instead.\n */\n @Prop()\n readonly url: string;\n\n componentWillRender() {\n if (this.xsmall) {\n this.size = SemanticSizes.ExtraSmall;\n }\n if (this.small) {\n this.size = SemanticSizes.Small;\n }\n if (this.medium) {\n this.size = SemanticSizes.Medium;\n }\n if (this.large) {\n this.size = SemanticSizes.Large;\n }\n if (this.xlarge) {\n this.size = SemanticSizes.ExtraLarge;\n }\n if (this.text) {\n this.initials = this.text;\n }\n if (this.url) {\n this.src = this.url;\n }\n }\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * If and image is provided, add an alt tag to describe it.\n */\n @Prop({ reflect: true })\n readonly alt: string;\n\n /**\n * Will insert an image into the avatar.\n */\n @Prop({ reflect: true, mutable: true })\n src: string;\n\n /**\n * Initials of the avatar. Usually use two letters\n * When filled with the src parameter, the text will not be rendered.\n */\n @Prop({ reflect: true, mutable: true })\n initials: string;\n\n /**\n * Define the size of the avatar. You can use t-shirt sizes.\n */\n @Prop({ reflect: true, mutable: true })\n size: `${SemanticSizes}` = 'md';\n\n /**\n * You can apply different colors on the Avatar.\n * Use a string number between 1 and 10.\n */\n @Prop({ reflect: true })\n readonly color: string = '1';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Makes sure the initials are trimmed to 2 letters.\n * @param {string} initials - The initials to be trimmed.\n * @returns {string} The trimmed initials.\n */\n private trimInitials(initials: string): string {\n return initials.trim().substring(0, 2);\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(`avatar-${this.size}`, `avatar-color-${this.color}`)}\n aria-label={this.alt}\n >\n {this.src ? (\n <img src={this.src} alt={this.alt} />\n ) : this.initials ? (\n this.trimInitials(this.initials)\n ) : (\n <slot name=\"icon\">\n <nv-icon name=\"user\" />\n </slot>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-179dfba2.js';
|
|
2
|
+
import { c as clsx } from './clsx-297c1ffe.js';
|
|
3
|
+
import { u as useCollapse, t as timeline } from './timeline.animation-1b88f052.js';
|
|
4
|
+
import { u as useFade } from './fade.animation-2a077983.js';
|
|
5
|
+
|
|
6
|
+
const nvBadgeCss = "nv-icon{display:inline-block;width:fit-content;height:fit-content;color:inherit}nv-icon>.nv-icon-xs{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-icon>.nv-icon-sm{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-icon>.nv-icon-md{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-icon>.nv-icon-lg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-icon>.nv-icon-xl{width:var(--spacing-7);height:var(--spacing-7);stroke-width:1.9px}nv-badge{padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content}nv-badge.with-gap{padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content;gap:var(--badge-gap-x)}nv-badge:not(.with-gap){padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content}nv-badge.badge-1{color:var(--color-rainbow-1-content);background-color:var(--color-rainbow-1-background)}nv-badge.badge-1 .close:focus,nv-badge.badge-1 .close:focus-within{outline:none}nv-badge.badge-1 .close:focus-visible,nv-badge.badge-1 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-1-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-1 nv-icon{color:var(--color-rainbow-1-content)}nv-badge.badge-2{color:var(--color-rainbow-2-content);background-color:var(--color-rainbow-2-background)}nv-badge.badge-2 .close:focus,nv-badge.badge-2 .close:focus-within{outline:none}nv-badge.badge-2 .close:focus-visible,nv-badge.badge-2 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-2-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-2 nv-icon{color:var(--color-rainbow-2-content)}nv-badge.badge-3{color:var(--color-rainbow-3-content);background-color:var(--color-rainbow-3-background)}nv-badge.badge-3 .close:focus,nv-badge.badge-3 .close:focus-within{outline:none}nv-badge.badge-3 .close:focus-visible,nv-badge.badge-3 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-3-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-3 nv-icon{color:var(--color-rainbow-3-content)}nv-badge.badge-4{color:var(--color-rainbow-4-content);background-color:var(--color-rainbow-4-background)}nv-badge.badge-4 .close:focus,nv-badge.badge-4 .close:focus-within{outline:none}nv-badge.badge-4 .close:focus-visible,nv-badge.badge-4 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-4-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-4 nv-icon{color:var(--color-rainbow-4-content)}nv-badge.badge-5{color:var(--color-rainbow-5-content);background-color:var(--color-rainbow-5-background)}nv-badge.badge-5 .close:focus,nv-badge.badge-5 .close:focus-within{outline:none}nv-badge.badge-5 .close:focus-visible,nv-badge.badge-5 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-5-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-5 nv-icon{color:var(--color-rainbow-5-content)}nv-badge span{font-size:var(--font-size-xs);line-height:var(--line-height-xs) !important}nv-badge nv-icon>svg.icon-xs{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-sm{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-md{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-lg{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-xl{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge .close{padding:0;line-height:0;border:none;background:none;cursor:pointer;color:inherit;display:inline-flex;align-items:center;aspect-ratio:1/1;border-radius:var(--radius-rounded-full)}";
|
|
7
|
+
const NvBadgeStyle0 = nvBadgeCss;
|
|
8
|
+
|
|
9
|
+
const NvBadge = class {
|
|
10
|
+
constructor(hostRef) {
|
|
11
|
+
registerInstance(this, hostRef);
|
|
12
|
+
this.closeClicked = createEvent(this, "closeClicked", 7);
|
|
13
|
+
this.hiddenChanged = createEvent(this, "hiddenChanged", 7);
|
|
14
|
+
this.hiddenChangedComplete = createEvent(this, "hiddenChangedComplete", 7);
|
|
15
|
+
//#endregion LIFECYCLE
|
|
16
|
+
/****************************************************************************/
|
|
17
|
+
//#region METHODS
|
|
18
|
+
/**
|
|
19
|
+
* Handles the close button click.
|
|
20
|
+
* @param {MouseEvent} originalEvent - The original event.
|
|
21
|
+
*/
|
|
22
|
+
this.handleClose = (originalEvent) => {
|
|
23
|
+
if (!this.preventAutoClose) {
|
|
24
|
+
this.hidden = true;
|
|
25
|
+
}
|
|
26
|
+
this.closeClicked.emit(originalEvent);
|
|
27
|
+
};
|
|
28
|
+
this.dismissal = false;
|
|
29
|
+
this.icon = undefined;
|
|
30
|
+
this.iconLocation = undefined;
|
|
31
|
+
this.color = '1';
|
|
32
|
+
this.label = null;
|
|
33
|
+
this.leadIcon = null;
|
|
34
|
+
this.dismissible = false;
|
|
35
|
+
this.hidden = false;
|
|
36
|
+
this._isHidden = this.hidden;
|
|
37
|
+
this.preventAutoClose = false;
|
|
38
|
+
}
|
|
39
|
+
//#endregion EVENTS
|
|
40
|
+
/****************************************************************************/
|
|
41
|
+
//#region WATCHERS
|
|
42
|
+
/**
|
|
43
|
+
* Handles the dismissal prop change.
|
|
44
|
+
* @param {boolean} dismissal - The new dismissal value.
|
|
45
|
+
*/
|
|
46
|
+
handleDismissalChange(dismissal) {
|
|
47
|
+
this.dismissible = dismissal;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Handles the icon prop change.
|
|
51
|
+
* @param {string} icon - The new icon value.
|
|
52
|
+
*/
|
|
53
|
+
handleIconChange(icon) {
|
|
54
|
+
this.leadIcon = icon;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Handles the hidden prop change.
|
|
58
|
+
* @param {boolean} hidden - The new hidden value.
|
|
59
|
+
*/
|
|
60
|
+
async handleHiddenChange(hidden) {
|
|
61
|
+
this.hiddenChanged.emit(hidden);
|
|
62
|
+
if (this._isHidden === true)
|
|
63
|
+
this._isHidden = hidden;
|
|
64
|
+
const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });
|
|
65
|
+
const { collapse, expand } = useCollapse(this.ref, { duration: 150 });
|
|
66
|
+
if (hidden === true)
|
|
67
|
+
await timeline(fadeOut, collapse).start();
|
|
68
|
+
if (hidden === false)
|
|
69
|
+
await timeline(expand, fadeIn).start();
|
|
70
|
+
this.hiddenChangedComplete.emit(hidden);
|
|
71
|
+
if (this._isHidden === false)
|
|
72
|
+
this._isHidden = hidden;
|
|
73
|
+
}
|
|
74
|
+
//#endregion WATCHERS
|
|
75
|
+
/****************************************************************************/
|
|
76
|
+
//#region LIFECYCLE
|
|
77
|
+
/**
|
|
78
|
+
* Component will load.
|
|
79
|
+
*/
|
|
80
|
+
componentWillLoad() {
|
|
81
|
+
if (this.dismissal) {
|
|
82
|
+
this.dismissible = this.dismissal;
|
|
83
|
+
}
|
|
84
|
+
if (this.icon != null && this.icon != '') {
|
|
85
|
+
this.leadIcon = this.icon;
|
|
86
|
+
}
|
|
87
|
+
if (this.hidden) {
|
|
88
|
+
const { setCollapsed } = useCollapse(this.ref);
|
|
89
|
+
const { setFadeOut } = useFade(this.ref);
|
|
90
|
+
setCollapsed();
|
|
91
|
+
setFadeOut();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//#endregion METHODS
|
|
95
|
+
/****************************************************************************/
|
|
96
|
+
//#region RENDER
|
|
97
|
+
render() {
|
|
98
|
+
return (h(Host, { key: '230bec882e7425786c0a57434b1d6fde7a5d19bc', class: clsx(`badge-${this.color}`, {
|
|
99
|
+
'has-close': this.dismissible,
|
|
100
|
+
'with-gap': this.dismissible || this.label,
|
|
101
|
+
'visually-hidden': this._isHidden,
|
|
102
|
+
}) }, h("slot", { key: 'cfeeaed354a34cbe1eaf1caeed9456b630a07265', name: "leading-icon" }, this.leadIcon && (h("nv-icon", { key: '10031f4f26339860458f1413b171916cbc97f98f', slot: "leading-icon", name: this.leadIcon, size: "sm" }))), this.label && h("span", { key: '8d165b104e3952c61084f1473d31ce1a05404966' }, this.label), this.dismissible && (h("button", { key: '8320177e0ac7f8c4f5d09b6c947d81d0eddadb4f', onClick: this.handleClose, class: "close", type: "button" }, h("nv-icon", { key: '3298bd640cb7bb62923e5f1e650944afc01a7385', name: "x", size: "sm" })))));
|
|
103
|
+
}
|
|
104
|
+
get ref() { return getElement(this); }
|
|
105
|
+
static get watchers() { return {
|
|
106
|
+
"dismissal": ["handleDismissalChange"],
|
|
107
|
+
"icon": ["handleIconChange"],
|
|
108
|
+
"hidden": ["handleHiddenChange"]
|
|
109
|
+
}; }
|
|
110
|
+
};
|
|
111
|
+
NvBadge.style = NvBadgeStyle0;
|
|
112
|
+
|
|
113
|
+
export { NvBadge as nv_badge };
|
|
114
|
+
|
|
115
|
+
//# sourceMappingURL=nv-badge.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"nv-badge.entry.js","mappings":"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","names":[],"sources":["src/components/nv-badge/nv-badge.scss?tag=nv-badge","src/components/nv-badge/nv-badge.tsx"],"sourcesContent":["@use \"sass:map\";\n@use \"../nv-icon/nv-icon.scss\" as icon;\n@import \"../../styles/focus-ring\";\n\n/* Variants */\n$badge-colors: (\"1\", \"2\", \"3\", \"4\", \"5\");\n\n/* Define maps for color-related variables */\n$color-rainbow-content: (\n \"1\": var(--color-rainbow-1-content),\n \"2\": var(--color-rainbow-2-content),\n \"3\": var(--color-rainbow-3-content),\n \"4\": var(--color-rainbow-4-content),\n \"5\": var(--color-rainbow-5-content)\n);\n\n$color-rainbow-background: (\n \"1\": var(--color-rainbow-1-background),\n \"2\": var(--color-rainbow-2-background),\n \"3\": var(--color-rainbow-3-background),\n \"4\": var(--color-rainbow-4-background),\n \"5\": var(--color-rainbow-5-background)\n);\n\n@mixin root-styles() {\n padding: var(--badge-padding-y) var(--badge-padding-x);\n display: inline-flex !important; // override the display: none in [hidden] css\n vertical-align: middle;\n align-items: center;\n border-radius: var(--radius-rounded-full);\n height: fit-content;\n width: fit-content;\n}\n\n@mixin root-styles-with-gap() {\n @include root-styles();\n gap: var(--badge-gap-x);\n}\n\n@mixin badge-color($badge-number) {\n color: map.get($color-rainbow-content, $badge-number);\n background-color: map.get($color-rainbow-background, $badge-number);\n .close {\n @include focus-ring(var(--color-rainbow-#{$badge-number}-content), 0.2);\n }\n}\n\n@mixin icon-color($badge-number) {\n color: map.get($color-rainbow-content, $badge-number);\n}\n\n@mixin type-settings($font-size, $line-height) {\n font-size: var(--font-size-xs);\n line-height: var(--line-height-xs) !important;\n}\n\nnv-badge {\n @include root-styles();\n\n //gap styles\n &.with-gap {\n @include root-styles-with-gap();\n }\n\n &:not(.with-gap) {\n @include root-styles();\n }\n\n // color styles\n @each $i in $badge-colors {\n &.badge-#{$i} {\n @include badge-color($i);\n nv-icon {\n @include icon-color($i);\n }\n }\n }\n\n //label styles\n & span {\n @include type-settings(xs, xs);\n }\n\n // nv-icon styles\n & nv-icon > svg {\n @each $size, $config in icon.$icon-config {\n &.icon-#{$size} {\n @include icon.icon-size-and-stroke(\n map.get(map.get(icon.$icon-config, \"xs\"), size),\n map.get(map.get(icon.$icon-config, \"xs\"), stroke)\n );\n }\n }\n }\n\n .close {\n padding: 0;\n line-height: 0;\n border: none;\n background: none;\n cursor: pointer;\n color: inherit;\n display: inline-flex;\n align-items: center;\n aspect-ratio: 1/1;\n border-radius: var(--radius-rounded-full);\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Watch,\n Element,\n State,\n} from '@stencil/core';\nimport clsx from 'clsx';\nimport { useFade, useCollapse, timeline } from '../../animations';\n\n/**\n * @slot leading-icon - Icon before the label.\n */\n@Component({\n tag: 'nv-badge',\n styleUrl: 'nv-badge.scss',\n shadow: false,\n})\nexport class NvBadge {\n @Element() ref: HTMLNvBadgeElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Whether the badge is dismissible.\n * @deprecated use dismissible instead.\n */\n @Prop()\n readonly dismissal: boolean = false;\n\n /**\n * The icon to display in the badge.\n * @deprecated use leadIcon or slot=\"leading-icon\" instead.\n */\n @Prop()\n readonly icon: string;\n\n /**\n * The location of the icon in the badge.\n * @deprecated only leadIcon now.\n */\n @Prop({ reflect: true })\n readonly iconLocation: 'left' | 'right';\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The color of the badge. Use a string between 1 to 5\n */\n @Prop({ reflect: true })\n readonly color?: string = '1';\n\n /**\n * Main content of the badge.\n */\n @Prop({ reflect: true })\n readonly label?: string | null = null;\n\n /**\n * The lead icon of the badge.\n */\n @Prop({ reflect: true, mutable: true })\n leadIcon?: string | null = null;\n\n /**\n * Whether the badge is dismissible.\n */\n @Prop({ reflect: true, mutable: true })\n dismissible: boolean = false;\n\n /**\n * Controls the visibility of the badge. Will animate with fade and collapse.\n */\n @Prop({ reflect: true, mutable: true })\n hidden: boolean = false; // eslint-disable-line @stencil-community/reserved-member-names\n @State()\n private _isHidden: boolean = this.hidden;\n\n /**\n * When true, the alert does not automatically close upon dismissing.\n * Useful for externally controlled component behavior.\n */\n @Prop({ reflect: true })\n readonly preventAutoClose: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the badge is dismissed.\n */\n @Event()\n closeClicked: EventEmitter<MouseEvent>;\n\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\n * Passes hidden value to the detail.\n */\n @Event()\n hiddenChanged: EventEmitter<boolean>;\n\n /**\n * Emitted when the animations complete, detail includes the hidden value.\n */\n @Event()\n hiddenChangedComplete: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Handles the dismissal prop change.\n * @param {boolean} dismissal - The new dismissal value.\n */\n @Watch('dismissal')\n handleDismissalChange(dismissal: boolean) {\n this.dismissible = dismissal;\n }\n\n /**\n * Handles the icon prop change.\n * @param {string} icon - The new icon value.\n */\n @Watch('icon')\n handleIconChange(icon: string) {\n this.leadIcon = icon;\n }\n\n /**\n * Handles the hidden prop change.\n * @param {boolean} hidden - The new hidden value.\n */\n @Watch('hidden')\n async handleHiddenChange(hidden: boolean) {\n this.hiddenChanged.emit(hidden);\n if (this._isHidden === true) this._isHidden = hidden;\n\n const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });\n const { collapse, expand } = useCollapse(this.ref, { duration: 150 });\n\n if (hidden === true) await timeline(fadeOut, collapse).start();\n if (hidden === false) await timeline(expand, fadeIn).start();\n\n this.hiddenChangedComplete.emit(hidden);\n\n if (this._isHidden === false) this._isHidden = hidden;\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n /**\n * Component will load.\n */\n componentWillLoad() {\n if (this.dismissal) {\n this.dismissible = this.dismissal;\n }\n\n if (this.icon != null && this.icon != '') {\n this.leadIcon = this.icon;\n }\n\n if (this.hidden) {\n const { setCollapsed } = useCollapse(this.ref);\n const { setFadeOut } = useFade(this.ref);\n\n setCollapsed();\n setFadeOut();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles the close button click.\n * @param {MouseEvent} originalEvent - The original event.\n */\n private readonly handleClose = (originalEvent?: MouseEvent) => {\n if (!this.preventAutoClose) {\n this.hidden = true;\n }\n\n this.closeClicked.emit(originalEvent);\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(`badge-${this.color}`, {\n 'has-close': this.dismissible,\n 'with-gap': this.dismissible || this.label,\n 'visually-hidden': this._isHidden,\n })}\n >\n <slot name=\"leading-icon\">\n {this.leadIcon && (\n <nv-icon\n slot=\"leading-icon\"\n name={this.leadIcon}\n size=\"sm\"\n ></nv-icon>\n )}\n </slot>\n {this.label && <span>{this.label}</span>}\n {this.dismissible && (\n <button onClick={this.handleClose} class=\"close\" type=\"button\">\n <nv-icon name=\"x\" size=\"sm\" />\n </button>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { r as registerInstance, h, a as Host, g as getElement } from './index-179dfba2.js';
|
|
2
|
+
|
|
3
|
+
const classes = {
|
|
4
|
+
'w-full': 'w-full',
|
|
5
|
+
'wFull': 'w-full',
|
|
6
|
+
'is-active': 'is-active',
|
|
7
|
+
'is-selected': 'is-selected',
|
|
8
|
+
};
|
|
9
|
+
const NvBaseComponent = class {
|
|
10
|
+
constructor(hostRef) {
|
|
11
|
+
registerInstance(this, hostRef);
|
|
12
|
+
}
|
|
13
|
+
/****************************************************************************/
|
|
14
|
+
//#region LIFECYCLE
|
|
15
|
+
componentWillLoad() {
|
|
16
|
+
this.applyClassesOnInitialRender();
|
|
17
|
+
}
|
|
18
|
+
componentDidLoad() {
|
|
19
|
+
this.mutationObserver = new MutationObserver(mutations => {
|
|
20
|
+
console.log(mutations);
|
|
21
|
+
mutations.forEach(mutation => {
|
|
22
|
+
if (mutation.type === 'attributes') {
|
|
23
|
+
const target = mutation.target;
|
|
24
|
+
Object.keys(classes).forEach(attributeName => {
|
|
25
|
+
if (target.hasAttribute(attributeName)) {
|
|
26
|
+
target.classList.add(classes[attributeName]);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
target.classList.remove(classes[attributeName]);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
this.observeElements();
|
|
36
|
+
}
|
|
37
|
+
disconnectedCallback() {
|
|
38
|
+
if (this.mutationObserver) {
|
|
39
|
+
this.mutationObserver.disconnect();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//#endregion LIFECYCLE
|
|
43
|
+
/****************************************************************************/
|
|
44
|
+
//#region METHODS
|
|
45
|
+
applyClassesOnInitialRender() {
|
|
46
|
+
Object.keys(classes).forEach(attributeName => {
|
|
47
|
+
const elements = this.el.querySelectorAll(`[${attributeName}]`);
|
|
48
|
+
elements.forEach(element => {
|
|
49
|
+
element.classList.add(classes[attributeName]);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
observeElements() {
|
|
54
|
+
this.mutationObserver.observe(this.el, {
|
|
55
|
+
attributes: true,
|
|
56
|
+
attributeFilter: Object.keys(classes),
|
|
57
|
+
subtree: true,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
//#endregion METHODS
|
|
61
|
+
/****************************************************************************/
|
|
62
|
+
//#region RENDER
|
|
63
|
+
render() {
|
|
64
|
+
return (h(Host, { key: 'b337eb1cfbe80ce8cefdb00a9d0d1fbb153869ba', style: { display: 'block' } }, h("slot", { key: '575c8605510de2b97bf202809492dd5e2ba4a285' })));
|
|
65
|
+
}
|
|
66
|
+
get el() { return getElement(this); }
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export { NvBaseComponent as nv_base };
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=nv-base.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"nv-base.entry.js","mappings":";;AAEA,MAAM,OAAO,GAA2B;IACtC,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,WAAW;IACxB,aAAa,EAAE,aAAa;CAC7B,CAAC;MAUW,eAAe;;;;;;IAQ1B,iBAAiB;QACf,IAAI,CAAC,2BAA2B,EAAE,CAAC;KACpC;IAED,gBAAgB;QACd,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAS;YACpD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,SAAS,CAAC,OAAO,CAAC,QAAQ;gBACxB,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE;oBAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAqB,CAAC;oBAE9C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa;wBACxC,IAAI,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE;4BACtC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;yBAC9C;6BAAM;4BACL,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;yBACjD;qBACF,CAAC,CAAC;iBACJ;aACF,CAAC,CAAC;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;SACpC;KACF;;;;IAMO,2BAA2B;QACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC;YAChE,QAAQ,CAAC,OAAO,CAAC,OAAO;gBACtB,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;aAC/C,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;IAEO,eAAe;QACrB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;YACrC,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACrC,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;KACJ;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAC/B,8DAAa,CACR,EACP;KACH;;;;;;","names":[],"sources":["src/components/nv-base/nv-base.tsx"],"sourcesContent":["import { Component, Element, h, Host } from '@stencil/core';\n\nconst classes: Record<string, string> = {\n 'w-full': 'w-full',\n 'wFull': 'w-full',\n 'is-active': 'is-active',\n 'is-selected': 'is-selected',\n};\n\n/**\n * @slot default - render children\n * @deprecated This is only to help with the migration from v2 to v3. It will be removed in the next major release.\n */\n@Component({\n tag: 'nv-base',\n shadow: false,\n})\nexport class NvBaseComponent {\n @Element() el: HTMLNvBaseElement;\n\n private mutationObserver: MutationObserver;\n\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.applyClassesOnInitialRender();\n }\n\n componentDidLoad() {\n this.mutationObserver = new MutationObserver(mutations => {\n console.log(mutations);\n mutations.forEach(mutation => {\n if (mutation.type === 'attributes') {\n const target = mutation.target as HTMLElement;\n\n Object.keys(classes).forEach(attributeName => {\n if (target.hasAttribute(attributeName)) {\n target.classList.add(classes[attributeName]);\n } else {\n target.classList.remove(classes[attributeName]);\n }\n });\n }\n });\n });\n this.observeElements();\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region METHODS\n\n private applyClassesOnInitialRender() {\n Object.keys(classes).forEach(attributeName => {\n const elements = this.el.querySelectorAll(`[${attributeName}]`);\n elements.forEach(element => {\n element.classList.add(classes[attributeName]);\n });\n });\n }\n\n private observeElements() {\n this.mutationObserver.observe(this.el, {\n attributes: true,\n attributeFilter: Object.keys(classes),\n subtree: true,\n });\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host style={{ display: 'block' }}>\n <slot></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { r as registerInstance, h, a as Host, g as getElement } from './index-179dfba2.js';
|
|
2
|
+
import { B as ButtonSize } from './constants-e9bee611.js';
|
|
3
|
+
|
|
4
|
+
const nvButtonCss = "nv-icon{display:inline-block;width:fit-content;height:fit-content;color:inherit}nv-icon>.nv-icon-xs{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-icon>.nv-icon-sm{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-icon>.nv-icon-md{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-icon>.nv-icon-lg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-icon>.nv-icon-xl{width:var(--spacing-7);height:var(--spacing-7);stroke-width:1.9px}nv-button{display:inline-flex;justify-content:center;align-items:center;font-style:normal;font-weight:var(--font-weight-medium-emphasis);font-family:\"TT Norms Pro\", sans-serif;transition:background-color 150ms ease-out;user-select:none;cursor:pointer;height:fit-content;width:fit-content}nv-button[size=xs]{padding:var(--button-xs-padding-y) var(--button-xs-padding-x);gap:var(--button-xs-gap);border-radius:var(--button-xs-border-radius);line-height:var(--button-xs-line-height);font-size:var(--button-xs-font-size)}nv-button[size=xs] nv-icon>svg{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-button[size=sm]{padding:var(--button-sm-padding-y) var(--button-sm-padding-x);gap:var(--button-sm-gap);border-radius:var(--button-sm-border-radius);line-height:var(--button-sm-line-height);font-size:var(--button-sm-font-size)}nv-button[size=sm] nv-icon>svg{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-button[size=md]{padding:var(--button-md-padding-y) var(--button-md-padding-x);gap:var(--button-md-gap);border-radius:var(--button-md-border-radius);line-height:var(--button-md-line-height);font-size:var(--button-md-font-size)}nv-button[size=md] nv-icon>svg{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-button[size=lg]{padding:var(--button-lg-padding-y) var(--button-lg-padding-x);gap:var(--button-lg-gap);border-radius:var(--button-lg-border-radius);line-height:var(--button-lg-line-height);font-size:var(--button-lg-font-size)}nv-button[size=lg] nv-icon>svg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-button[emphasis=high]{background:var(--components-button-high-background);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text)}nv-button[emphasis=high]:hover{background:var(--components-button-high-background-hover);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text-hover)}nv-button[emphasis=high]:focus,nv-button[emphasis=high]:focus-within{outline:none}nv-button[emphasis=high]:focus-visible,nv-button[emphasis=high]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=high]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=high][danger]:not([danger=false]){background:var(--components-button-high-background);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text)}nv-button[emphasis=high][danger]:not([danger=false]):hover{background:var(--components-button-high-background-hover);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text-hover)}nv-button[emphasis=high][danger]:not([danger=false]):focus,nv-button[emphasis=high][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=high][danger]:not([danger=false]):focus-visible,nv-button[emphasis=high][danger]:not([danger=false]):has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=medium]{background:var(--components-button-medium-background);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text)}nv-button[emphasis=medium]:hover{background:var(--components-button-medium-background-hover);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text-hover)}nv-button[emphasis=medium]:focus,nv-button[emphasis=medium]:focus-within{outline:none}nv-button[emphasis=medium]:focus-visible,nv-button[emphasis=medium]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=medium]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=medium][danger]:not([danger=false]){background:var(--components-button-medium-background);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text)}nv-button[emphasis=medium][danger]:not([danger=false]):hover{background:var(--components-button-medium-background-hover);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text-hover)}nv-button[emphasis=medium][danger]:not([danger=false]):focus,nv-button[emphasis=medium][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=medium][danger]:not([danger=false]):focus-visible,nv-button[emphasis=medium][danger]:not([danger=false]):has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=low]{background:var(--components-button-low-background);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text)}nv-button[emphasis=low]:hover{background:var(--components-button-low-background-hover);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text-hover)}nv-button[emphasis=low]:focus,nv-button[emphasis=low]:focus-within{outline:none}nv-button[emphasis=low]:focus-visible,nv-button[emphasis=low]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=low]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=low][danger]:not([danger=false]){background:var(--components-button-low-background);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text)}nv-button[emphasis=low][danger]:not([danger=false]):hover{background:var(--components-button-low-background-hover);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text-hover)}nv-button[emphasis=low][danger]:not([danger=false]):focus,nv-button[emphasis=low][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=low][danger]:not([danger=false]):focus-visible,nv-button[emphasis=low][danger]:not([danger=false]):has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=lower]{background:var(--components-button-lower-background);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text)}nv-button[emphasis=lower]:hover{background:var(--components-button-lower-background-hover);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text-hover)}nv-button[emphasis=lower]:focus,nv-button[emphasis=lower]:focus-within{outline:none}nv-button[emphasis=lower]:focus-visible,nv-button[emphasis=lower]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=lower]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=lower][danger]:not([danger=false]){background:var(--components-button-lower-background);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text)}nv-button[emphasis=lower][danger]:not([danger=false]):hover{background:var(--components-button-lower-background-hover);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text-hover)}nv-button[emphasis=lower][danger]:not([danger=false]):focus,nv-button[emphasis=lower][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=lower][danger]:not([danger=false]):focus-visible,nv-button[emphasis=lower][danger]:not([danger=false]):has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[fluid]:not([fluid=false]){width:100%}nv-button[loading]:not([loading=false]) [slot=leading-icon]{display:none}";
|
|
5
|
+
const NvButtonStyle0 = nvButtonCss;
|
|
6
|
+
|
|
7
|
+
const NvButton = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
registerInstance(this, hostRef);
|
|
10
|
+
if (hostRef.$hostElement$["s-ei"]) {
|
|
11
|
+
this.internals = hostRef.$hostElement$["s-ei"];
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
this.internals = hostRef.$hostElement$.attachInternals();
|
|
15
|
+
hostRef.$hostElement$["s-ei"] = this.internals;
|
|
16
|
+
}
|
|
17
|
+
//#endregion PROPERTIES
|
|
18
|
+
/****************************************************************************/
|
|
19
|
+
//#region METHODS
|
|
20
|
+
/**
|
|
21
|
+
* Handles form-related actions when the button is clicked.
|
|
22
|
+
* - Submits the form if the button type is 'submit'.
|
|
23
|
+
* - Resets the form if the button type is 'reset'.
|
|
24
|
+
* @param {Event} event - The click event.
|
|
25
|
+
*/
|
|
26
|
+
this.handleClick = (event) => {
|
|
27
|
+
var _a, _b, _c, _d;
|
|
28
|
+
if (this.loading || this.disabled) {
|
|
29
|
+
event.preventDefault();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (this.type === 'submit') {
|
|
33
|
+
(_b = (_a = this.internals) === null || _a === void 0 ? void 0 : _a.form) === null || _b === void 0 ? void 0 : _b.requestSubmit();
|
|
34
|
+
}
|
|
35
|
+
if (this.type === 'reset') {
|
|
36
|
+
(_d = (_c = this.internals) === null || _c === void 0 ? void 0 : _c.form) === null || _d === void 0 ? void 0 : _d.reset();
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
this.size = 'md';
|
|
40
|
+
this.emphasis = 'high';
|
|
41
|
+
this.danger = false;
|
|
42
|
+
this.loading = false;
|
|
43
|
+
this.disabled = false;
|
|
44
|
+
this.fluid = false;
|
|
45
|
+
this.type = 'button';
|
|
46
|
+
}
|
|
47
|
+
//#endregion METHODS
|
|
48
|
+
/****************************************************************************/
|
|
49
|
+
//#region WATCHERS
|
|
50
|
+
handleLoadingChange(loading) {
|
|
51
|
+
this.loading = loading;
|
|
52
|
+
this.disabled = loading;
|
|
53
|
+
}
|
|
54
|
+
handleDisabledChange(disabled) {
|
|
55
|
+
if (this.loading) {
|
|
56
|
+
this.disabled = this.loading;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
this.disabled = disabled;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//#endregion WATCHERS
|
|
63
|
+
/****************************************************************************/
|
|
64
|
+
//#region LIFECYCLE
|
|
65
|
+
componentWillLoad() {
|
|
66
|
+
if (this.loading) {
|
|
67
|
+
this.disabled = this.loading;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//#endregion LIFECYCLE
|
|
71
|
+
/****************************************************************************/
|
|
72
|
+
//#region RENDER
|
|
73
|
+
render() {
|
|
74
|
+
return (h(Host, { key: 'f3349cdf1da05ae9a11a1b213db9f4cf062f6d9d', role: "button", tabindex: "0", onClick: this.handleClick }, this.loading && (h("nv-loader", { key: 'e776853069e4a34e72a1f07065cb969a08998f19', size: this.size === ButtonSize.Large ? 'sm' : 'xs' })), h("slot", { key: '4533e74ed576e23a75ca68a58711013c4c3482cd', name: "leading-icon" }), h("slot", { key: 'ecd5b1c5e970e47144ee522d17891af2a9c8eef7' }), h("slot", { key: '275517fb22c5cbfda415d0c5b5e45f44e1d99b21', name: "trailing-icon" })));
|
|
75
|
+
}
|
|
76
|
+
static get formAssociated() { return true; }
|
|
77
|
+
get el() { return getElement(this); }
|
|
78
|
+
static get watchers() { return {
|
|
79
|
+
"loading": ["handleLoadingChange"],
|
|
80
|
+
"disabled": ["handleDisabledChange"]
|
|
81
|
+
}; }
|
|
82
|
+
};
|
|
83
|
+
NvButton.style = NvButtonStyle0;
|
|
84
|
+
|
|
85
|
+
export { NvButton as nv_button };
|
|
86
|
+
|
|
87
|
+
//# sourceMappingURL=nv-button.entry.js.map
|