@nova-design-system/nova-webcomponents 3.0.0-beta.24 → 3.0.0-beta.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blazor-docs.json +971 -22
- package/dist/cjs/{app-globals-2ceecab2.js → app-globals-d8cbb987.js} +2 -2
- package/dist/cjs/app-globals-d8cbb987.js.map +1 -0
- package/dist/cjs/{index-5d1f2412.js → index-c50face0.js} +37 -17
- package/dist/cjs/index-c50face0.js.map +1 -0
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/native.cjs.js +4 -4
- package/dist/cjs/native.cjs.js.map +1 -1
- package/dist/cjs/nv-alert.cjs.entry.js +1 -1
- package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
- package/dist/cjs/nv-badge.cjs.entry.js +1 -1
- package/dist/cjs/nv-base.cjs.entry.js +1 -1
- package/dist/cjs/nv-button.cjs.entry.js +1 -1
- package/dist/cjs/nv-col.cjs.entry.js +1 -1
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +1 -1
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +367 -0
- package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +62 -0
- package/dist/cjs/nv-fielddropdownitem.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +4 -4
- package/dist/cjs/nv-fieldpassword.cjs.entry.js +4 -4
- package/dist/cjs/nv-fieldradio.cjs.entry.js +4 -4
- package/dist/cjs/nv-fieldselect.cjs.entry.js +6 -6
- package/dist/cjs/nv-fieldtext.cjs.entry.js +4 -4
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +5 -5
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtoggle.cjs.entry.js +3 -3
- package/dist/cjs/nv-icon.cjs.entry.js +2 -2
- package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-iconbutton.cjs.entry.js +2 -2
- package/dist/cjs/nv-loader.cjs.entry.js +2 -2
- package/dist/cjs/nv-menu.cjs.entry.js +2 -2
- package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
- package/dist/cjs/nv-popover.cjs.entry.js +2 -2
- package/dist/cjs/nv-row.cjs.entry.js +2 -2
- package/dist/cjs/nv-stack.cjs.entry.js +2 -2
- package/dist/cjs/nv-tooltip.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.css +195 -0
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +160 -0
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -0
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +751 -0
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -0
- package/dist/collection/components/nv-fielddropdownitem/DropdownItemSelectedEventDetail.js +2 -0
- package/dist/collection/components/nv-fielddropdownitem/DropdownItemSelectedEventDetail.js.map +1 -0
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.css +46 -0
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.docs.js +6 -0
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.docs.js.map +1 -0
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +160 -0
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js.map +1 -0
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +7 -7
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -1
- package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js +2 -2
- package/dist/collection/components/nv-icon/nv-icon.js +2 -2
- package/dist/collection/components/nv-icon/nv-icon.js.map +1 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
- package/dist/collection/components/nv-loader/nv-loader.js +1 -1
- package/dist/collection/components/nv-menu/nv-menu.js +1 -1
- package/dist/collection/components/nv-popover/nv-popover.js +1 -1
- package/dist/collection/components/nv-row/nv-row.js +1 -1
- package/dist/collection/components/nv-stack/nv-stack.js +1 -1
- package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
- package/dist/components/index.js +3 -3
- package/dist/components/nv-alert.js +2 -2
- package/dist/components/nv-avatar.js +2 -2
- package/dist/components/nv-badge.js +2 -2
- package/dist/components/nv-base.js +1 -1
- package/dist/components/nv-button.js +2 -2
- package/dist/components/nv-col.js +1 -1
- package/dist/components/nv-fieldcheckbox.js +1 -1
- package/dist/components/nv-fielddropdown.d.ts +11 -0
- package/dist/components/nv-fielddropdown.js +434 -0
- package/dist/components/nv-fielddropdown.js.map +1 -0
- package/dist/components/nv-fielddropdownitem.d.ts +11 -0
- package/dist/components/nv-fielddropdownitem.js +8 -0
- package/dist/components/nv-fielddropdownitem.js.map +1 -0
- package/dist/components/nv-fieldnumber.js +5 -5
- package/dist/components/nv-fieldpassword.js +7 -7
- package/dist/components/nv-fieldradio.js +4 -4
- package/dist/components/nv-fieldselect.js +7 -7
- package/dist/components/nv-fieldtext.js +5 -5
- package/dist/components/nv-fieldtextarea.js +6 -6
- package/dist/components/nv-fieldtextarea.js.map +1 -1
- package/dist/components/nv-fieldtoggle.js +3 -3
- package/dist/components/nv-icon.js +1 -1
- package/dist/components/nv-iconbutton.js +1 -1
- package/dist/components/nv-loader.js +1 -1
- package/dist/components/nv-menu.js +3 -3
- package/dist/components/nv-menuitem.js +2 -2
- package/dist/components/nv-popover.js +1 -1
- package/dist/components/nv-row.js +2 -2
- package/dist/components/nv-stack.js +2 -2
- package/dist/components/nv-tooltip.js +3 -3
- package/dist/components/{p-8da6d9a3.js → p-69cc7819.js} +3 -3
- package/dist/components/{p-8da6d9a3.js.map → p-69cc7819.js.map} +1 -1
- package/dist/components/p-76eb28db.js +84 -0
- package/dist/components/p-76eb28db.js.map +1 -0
- package/dist/components/{p-d9a2aa08.js → p-9647924f.js} +5 -5
- package/dist/components/{p-d9a2aa08.js.map → p-9647924f.js.map} +1 -1
- package/dist/components/{p-137af295.js → p-9be1ebd4.js} +3 -3
- package/dist/components/{p-137af295.js.map → p-9be1ebd4.js.map} +1 -1
- package/dist/components/{p-50bd2808.js → p-ae6a0d80.js} +21 -7
- package/dist/components/p-ae6a0d80.js.map +1 -0
- package/dist/components/{p-632bedb8.js → p-d506ae63.js} +33 -19
- package/dist/components/p-d506ae63.js.map +1 -0
- package/dist/components/{p-c711fe67.js → p-ff97f99e.js} +4 -4
- package/dist/components/{p-c711fe67.js.map → p-ff97f99e.js.map} +1 -1
- package/dist/docs.json +961 -24
- package/dist/esm/{app-globals-df0a3c8d.js → app-globals-eea8674a.js} +2 -2
- package/dist/esm/app-globals-eea8674a.js.map +1 -0
- package/dist/esm/{index-179dfba2.js → index-e7b35c14.js} +37 -17
- package/dist/esm/index-e7b35c14.js.map +1 -0
- package/dist/esm/loader.js +4 -4
- package/dist/esm/native.js +5 -5
- package/dist/esm/native.js.map +1 -1
- package/dist/esm/nv-alert.entry.js +1 -1
- package/dist/esm/nv-avatar.entry.js +1 -1
- package/dist/esm/nv-badge.entry.js +1 -1
- package/dist/esm/nv-base.entry.js +1 -1
- package/dist/esm/nv-button.entry.js +1 -1
- package/dist/esm/nv-col.entry.js +1 -1
- package/dist/esm/nv-fieldcheckbox.entry.js +1 -1
- package/dist/esm/nv-fielddropdown.entry.js +363 -0
- package/dist/esm/nv-fielddropdown.entry.js.map +1 -0
- package/dist/esm/nv-fielddropdownitem.entry.js +58 -0
- package/dist/esm/nv-fielddropdownitem.entry.js.map +1 -0
- package/dist/esm/nv-fieldnumber.entry.js +4 -4
- package/dist/esm/nv-fieldpassword.entry.js +4 -4
- package/dist/esm/nv-fieldradio.entry.js +4 -4
- package/dist/esm/nv-fieldselect.entry.js +6 -6
- package/dist/esm/nv-fieldtext.entry.js +4 -4
- package/dist/esm/nv-fieldtextarea.entry.js +5 -5
- package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
- package/dist/esm/nv-fieldtoggle.entry.js +3 -3
- package/dist/esm/nv-icon.entry.js +2 -2
- package/dist/esm/nv-icon.entry.js.map +1 -1
- package/dist/esm/nv-iconbutton.entry.js +2 -2
- package/dist/esm/nv-loader.entry.js +2 -2
- package/dist/esm/nv-menu.entry.js +2 -2
- package/dist/esm/nv-menuitem.entry.js +1 -1
- package/dist/esm/nv-popover.entry.js +2 -2
- package/dist/esm/nv-row.entry.js +2 -2
- package/dist/esm/nv-stack.entry.js +2 -2
- package/dist/esm/nv-tooltip.entry.js +2 -2
- package/dist/native/native.css +1 -1
- package/dist/native/native.esm.js +1 -1
- package/dist/native/native.esm.js.map +1 -1
- package/dist/native/{p-617d6a09.entry.js → p-000749ae.entry.js} +2 -2
- package/dist/native/p-0d335326.entry.js +2 -0
- package/dist/native/{p-29d482cd.entry.js.map → p-0d335326.entry.js.map} +1 -1
- package/dist/native/{p-f5acea50.entry.js → p-1aaee302.entry.js} +2 -2
- package/dist/native/{p-1ceee367.entry.js → p-20ea1b61.entry.js} +2 -2
- package/dist/native/{p-89accab1.entry.js → p-23b20b80.entry.js} +2 -2
- package/dist/native/{p-f9aac71a.entry.js → p-25e1bc94.entry.js} +2 -2
- package/dist/native/{p-6f762ec2.entry.js → p-2fca31c0.entry.js} +2 -2
- package/dist/native/{p-7ce1b712.entry.js → p-330c929d.entry.js} +2 -2
- package/dist/native/{p-43cd42ca.entry.js → p-396b65bb.entry.js} +2 -2
- package/dist/native/{p-b8eb4c31.entry.js → p-4a43953f.entry.js} +2 -2
- package/dist/native/p-4b550f95.entry.js +2 -0
- package/dist/native/{p-b5e4a9e7.entry.js → p-4fae1b2c.entry.js} +2 -2
- package/dist/native/p-4fae1b2c.entry.js.map +1 -0
- package/dist/native/{p-06f64d05.entry.js → p-5172aa15.entry.js} +2 -2
- package/dist/native/{p-71d6aad8.entry.js → p-69ca8c88.entry.js} +2 -2
- package/dist/native/{p-8b65b16f.entry.js → p-71fbdb92.entry.js} +2 -2
- package/dist/native/{p-519e0f59.entry.js → p-89468485.entry.js} +2 -2
- package/dist/native/{p-fb6f42b7.entry.js → p-8de6396f.entry.js} +2 -2
- package/dist/native/{p-124a7067.entry.js → p-a016e4b6.entry.js} +2 -2
- package/dist/native/{p-0aa0193b.entry.js → p-a59ec107.entry.js} +2 -2
- package/dist/native/{p-dccf739a.entry.js → p-aeaa326f.entry.js} +2 -2
- package/dist/native/{p-dccf739a.entry.js.map → p-aeaa326f.entry.js.map} +1 -1
- package/dist/native/p-b4aea326.js +3 -0
- package/dist/native/p-b4aea326.js.map +1 -0
- package/dist/native/p-bb243eaf.entry.js +2 -0
- package/dist/native/p-bb243eaf.entry.js.map +1 -0
- package/dist/native/{p-d5a8b6c4.entry.js → p-c16a4fbe.entry.js} +2 -2
- package/dist/native/{p-14c08510.entry.js → p-d4e0b6e1.entry.js} +2 -2
- package/dist/native/p-d5c24d8f.entry.js +2 -0
- package/dist/native/p-d5c24d8f.entry.js.map +1 -0
- package/dist/native/{p-830ec54a.entry.js → p-ed893068.entry.js} +2 -2
- package/dist/native/p-eeb6a3dc.js +2 -0
- package/dist/native/p-eeb6a3dc.js.map +1 -0
- package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +185 -0
- package/dist/types/components/nv-fielddropdown/nv-fielddropdown.docs.d.ts +4 -0
- package/dist/types/components/nv-fielddropdownitem/DropdownItemSelectedEventDetail.d.ts +9 -0
- package/dist/types/components/nv-fielddropdownitem/nv-fielddropdownitem.d.ts +40 -0
- package/dist/types/components/nv-fielddropdownitem/nv-fielddropdownitem.docs.d.ts +4 -0
- package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +2 -2
- package/dist/types/components.d.ts +241 -8
- package/dist/types/stencil-public-runtime.d.ts +2 -0
- package/hydrate/index.js +589 -113
- package/hydrate/index.mjs +589 -113
- package/hydrate/package.json +1 -1
- package/package.json +58 -2
- package/dist/cjs/app-globals-2ceecab2.js.map +0 -1
- package/dist/cjs/index-5d1f2412.js.map +0 -1
- package/dist/components/p-50bd2808.js.map +0 -1
- package/dist/components/p-632bedb8.js.map +0 -1
- package/dist/esm/app-globals-df0a3c8d.js.map +0 -1
- package/dist/esm/index-179dfba2.js.map +0 -1
- package/dist/native/p-29d482cd.entry.js +0 -2
- package/dist/native/p-80788ddf.js +0 -2
- package/dist/native/p-80788ddf.js.map +0 -1
- package/dist/native/p-b5e4a9e7.entry.js.map +0 -1
- package/dist/native/p-b99aa075.entry.js +0 -2
- package/dist/native/p-db2a68f3.js +0 -3
- package/dist/native/p-db2a68f3.js.map +0 -1
- package/dist/vscode-data.json +0 -3179
- /package/dist/native/{p-617d6a09.entry.js.map → p-000749ae.entry.js.map} +0 -0
- /package/dist/native/{p-f5acea50.entry.js.map → p-1aaee302.entry.js.map} +0 -0
- /package/dist/native/{p-1ceee367.entry.js.map → p-20ea1b61.entry.js.map} +0 -0
- /package/dist/native/{p-89accab1.entry.js.map → p-23b20b80.entry.js.map} +0 -0
- /package/dist/native/{p-f9aac71a.entry.js.map → p-25e1bc94.entry.js.map} +0 -0
- /package/dist/native/{p-6f762ec2.entry.js.map → p-2fca31c0.entry.js.map} +0 -0
- /package/dist/native/{p-7ce1b712.entry.js.map → p-330c929d.entry.js.map} +0 -0
- /package/dist/native/{p-43cd42ca.entry.js.map → p-396b65bb.entry.js.map} +0 -0
- /package/dist/native/{p-b8eb4c31.entry.js.map → p-4a43953f.entry.js.map} +0 -0
- /package/dist/native/{p-b99aa075.entry.js.map → p-4b550f95.entry.js.map} +0 -0
- /package/dist/native/{p-06f64d05.entry.js.map → p-5172aa15.entry.js.map} +0 -0
- /package/dist/native/{p-71d6aad8.entry.js.map → p-69ca8c88.entry.js.map} +0 -0
- /package/dist/native/{p-8b65b16f.entry.js.map → p-71fbdb92.entry.js.map} +0 -0
- /package/dist/native/{p-519e0f59.entry.js.map → p-89468485.entry.js.map} +0 -0
- /package/dist/native/{p-fb6f42b7.entry.js.map → p-8de6396f.entry.js.map} +0 -0
- /package/dist/native/{p-124a7067.entry.js.map → p-a016e4b6.entry.js.map} +0 -0
- /package/dist/native/{p-0aa0193b.entry.js.map → p-a59ec107.entry.js.map} +0 -0
- /package/dist/native/{p-d5a8b6c4.entry.js.map → p-c16a4fbe.entry.js.map} +0 -0
- /package/dist/native/{p-14c08510.entry.js.map → p-d4e0b6e1.entry.js.map} +0 -0
- /package/dist/native/{p-830ec54a.entry.js.map → p-ed893068.entry.js.map} +0 -0
package/hydrate/index.js
CHANGED
|
@@ -128,7 +128,7 @@ function hydrateFactory($stencilWindow, $stencilHydrateOpts, $stencilHydrateResu
|
|
|
128
128
|
|
|
129
129
|
|
|
130
130
|
const NAMESPACE = 'native';
|
|
131
|
-
const BUILD = /* native */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback:
|
|
131
|
+
const BUILD = /* native */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: false, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: true, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: true, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: true, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: false, shadowDomShim: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: true };
|
|
132
132
|
|
|
133
133
|
// Prevents the dev components from being bundled in production as a component
|
|
134
134
|
if (Build.isDev) {
|
|
@@ -136,7 +136,7 @@ if (Build.isDev) {
|
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
/*
|
|
139
|
-
Stencil Hydrate Platform v4.22.
|
|
139
|
+
Stencil Hydrate Platform v4.22.3 | MIT Licensed | https://stenciljs.com
|
|
140
140
|
*/
|
|
141
141
|
var __defProp = Object.defineProperty;
|
|
142
142
|
var __export = (target, all) => {
|
|
@@ -570,11 +570,13 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
|
|
|
570
570
|
const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
|
|
571
571
|
styleContainerNode.insertBefore(styleElm, referenceNode2);
|
|
572
572
|
} else if ("host" in styleContainerNode) {
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
existingStyleContainer
|
|
576
|
-
|
|
577
|
-
|
|
573
|
+
{
|
|
574
|
+
const existingStyleContainer = styleContainerNode.querySelector("style");
|
|
575
|
+
if (existingStyleContainer) {
|
|
576
|
+
existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
|
|
577
|
+
} else {
|
|
578
|
+
styleContainerNode.prepend(styleElm);
|
|
579
|
+
}
|
|
578
580
|
}
|
|
579
581
|
} else {
|
|
580
582
|
styleContainerNode.append(styleElm);
|
|
@@ -1459,23 +1461,23 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1459
1461
|
var _a, _b;
|
|
1460
1462
|
const prototype = Cstr.prototype;
|
|
1461
1463
|
if (cmpMeta.$flags$ & 64 /* formAssociated */ && flags & 1 /* isElementConstructor */) {
|
|
1462
|
-
FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS.forEach(
|
|
1463
|
-
|
|
1464
|
+
FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS.forEach((cbName) => {
|
|
1465
|
+
Object.defineProperty(prototype, cbName, {
|
|
1464
1466
|
value(...args) {
|
|
1465
1467
|
const hostRef = getHostRef(this);
|
|
1466
1468
|
const instance = hostRef.$lazyInstance$ ;
|
|
1467
1469
|
if (!instance) {
|
|
1468
|
-
hostRef.$onReadyPromise$.then((
|
|
1469
|
-
const cb =
|
|
1470
|
-
typeof cb === "function" && cb.call(
|
|
1470
|
+
hostRef.$onReadyPromise$.then((asyncInstance) => {
|
|
1471
|
+
const cb = asyncInstance[cbName];
|
|
1472
|
+
typeof cb === "function" && cb.call(asyncInstance, ...args);
|
|
1471
1473
|
});
|
|
1472
1474
|
} else {
|
|
1473
|
-
const cb = instance[cbName];
|
|
1475
|
+
const cb = instance[cbName] ;
|
|
1474
1476
|
typeof cb === "function" && cb.call(instance, ...args);
|
|
1475
1477
|
}
|
|
1476
1478
|
}
|
|
1477
|
-
})
|
|
1478
|
-
);
|
|
1479
|
+
});
|
|
1480
|
+
});
|
|
1479
1481
|
}
|
|
1480
1482
|
if (cmpMeta.$members$ || (cmpMeta.$watchers$ || Cstr.watchers)) {
|
|
1481
1483
|
if (Cstr.watchers && !cmpMeta.$watchers$) {
|
|
@@ -1596,6 +1598,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
|
|
|
1596
1598
|
hostRef.$flags$ |= 128 /* isWatchReady */;
|
|
1597
1599
|
}
|
|
1598
1600
|
endNewInstance();
|
|
1601
|
+
fireConnectedCallback(hostRef.$lazyInstance$);
|
|
1599
1602
|
} else {
|
|
1600
1603
|
Cstr = elm.constructor;
|
|
1601
1604
|
const cmpTag = elm.localName;
|
|
@@ -1623,6 +1626,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
|
|
|
1623
1626
|
}
|
|
1624
1627
|
};
|
|
1625
1628
|
var fireConnectedCallback = (instance) => {
|
|
1629
|
+
{
|
|
1630
|
+
safeCall(instance, "connectedCallback");
|
|
1631
|
+
}
|
|
1626
1632
|
};
|
|
1627
1633
|
|
|
1628
1634
|
// src/runtime/connected-callback.ts
|
|
@@ -1659,8 +1665,10 @@ var connectedCallback = (elm) => {
|
|
|
1659
1665
|
}
|
|
1660
1666
|
} else {
|
|
1661
1667
|
addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
|
|
1662
|
-
if (hostRef == null ? void 0 : hostRef.$lazyInstance$)
|
|
1663
|
-
hostRef.$
|
|
1668
|
+
if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
|
|
1669
|
+
fireConnectedCallback(hostRef.$lazyInstance$);
|
|
1670
|
+
} else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
|
|
1671
|
+
hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));
|
|
1664
1672
|
}
|
|
1665
1673
|
}
|
|
1666
1674
|
endConnected();
|
|
@@ -2254,6 +2262,462 @@ var Build = {
|
|
|
2254
2262
|
};
|
|
2255
2263
|
var styles = /* @__PURE__ */ new Map();
|
|
2256
2264
|
|
|
2265
|
+
/**
|
|
2266
|
+
* Convert array of 16 byte values to UUID string format of the form:
|
|
2267
|
+
* XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
|
2268
|
+
*/
|
|
2269
|
+
var byteToHex = [];
|
|
2270
|
+
for (var i = 0; i < 256; ++i) {
|
|
2271
|
+
byteToHex.push((i + 0x100).toString(16).slice(1));
|
|
2272
|
+
}
|
|
2273
|
+
function unsafeStringify(arr, offset = 0) {
|
|
2274
|
+
// Note: Be careful editing this code! It's been tuned for performance
|
|
2275
|
+
// and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
|
|
2276
|
+
//
|
|
2277
|
+
// Note to future-self: No, you can't remove the `toLowerCase()` call.
|
|
2278
|
+
// REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351
|
|
2279
|
+
return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
|
|
2280
|
+
}
|
|
2281
|
+
|
|
2282
|
+
// Unique ID creation requires a high quality random # generator. In the browser we therefore
|
|
2283
|
+
// require the crypto API and do not support built-in fallback to lower quality random number
|
|
2284
|
+
// generators (like Math.random()).
|
|
2285
|
+
|
|
2286
|
+
var getRandomValues;
|
|
2287
|
+
var rnds8 = new Uint8Array(16);
|
|
2288
|
+
function rng() {
|
|
2289
|
+
// lazy load so that environments that need to polyfill have a chance to do so
|
|
2290
|
+
if (!getRandomValues) {
|
|
2291
|
+
// getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
|
|
2292
|
+
getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
|
|
2293
|
+
if (!getRandomValues) {
|
|
2294
|
+
throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
|
|
2295
|
+
}
|
|
2296
|
+
}
|
|
2297
|
+
return getRandomValues(rnds8);
|
|
2298
|
+
}
|
|
2299
|
+
|
|
2300
|
+
var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
|
|
2301
|
+
var native = {
|
|
2302
|
+
randomUUID
|
|
2303
|
+
};
|
|
2304
|
+
|
|
2305
|
+
function v4(options, buf, offset) {
|
|
2306
|
+
if (native.randomUUID && !buf && !options) {
|
|
2307
|
+
return native.randomUUID();
|
|
2308
|
+
}
|
|
2309
|
+
options = options || {};
|
|
2310
|
+
var rnds = options.random || (options.rng || rng)();
|
|
2311
|
+
|
|
2312
|
+
// Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
|
|
2313
|
+
rnds[6] = rnds[6] & 0x0f | 0x40;
|
|
2314
|
+
rnds[8] = rnds[8] & 0x3f | 0x80;
|
|
2315
|
+
|
|
2316
|
+
// Copy bytes to buffer, if provided
|
|
2317
|
+
if (buf) {
|
|
2318
|
+
offset = offset || 0;
|
|
2319
|
+
for (var i = 0; i < 16; ++i) {
|
|
2320
|
+
buf[offset + i] = rnds[i];
|
|
2321
|
+
}
|
|
2322
|
+
return buf;
|
|
2323
|
+
}
|
|
2324
|
+
return unsafeStringify(rnds);
|
|
2325
|
+
}
|
|
2326
|
+
|
|
2327
|
+
const nvFielddropdownCss = "nv-fielddropdown{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box}nv-fielddropdown[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fielddropdown[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive)}nv-fielddropdown[required]:not([required=false]) label::after{content:\"*\";color:var(--components-form-text-required);font-weight:700}nv-fielddropdown label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fielddropdown nv-popover{width:100%;display:block}nv-fielddropdown .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;width:100%}nv-fielddropdown .input-container{display:flex;flex-grow:1;padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);justify-content:center;align-items:center;gap:var(--form-field-gap);align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default);background:var(--nv-field-background);transition:all 150ms ease-out;display:flex;align-items:center;position:relative;width:100%;min-height:40px}nv-fielddropdown .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fielddropdown .input-container:focus-within{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fielddropdown .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fielddropdown .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fielddropdown .input-container input,nv-fielddropdown .input-container p.non-filterable-text{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);text-overflow:ellipsis;font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;padding-right:2rem;flex-grow:1;margin:0;min-height:100%;box-sizing:border-box}nv-fielddropdown .input-container input:focus,nv-fielddropdown .input-container p.non-filterable-text:focus{outline:none}nv-fielddropdown .input-container input::placeholder,nv-fielddropdown .input-container p.non-filterable-text::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fielddropdown .input-container .toggle-dropdown-icon{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:2}nv-fielddropdown .input-container nv-icon.validation{color:var(--nv-field-border-default);position:absolute;right:50px}nv-fielddropdown .input-container.focus-within,nv-fielddropdown .input-container:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fielddropdown .non-filterable-text{display:block;border-radius:var(--form-field-radius);background-color:var(--nv-field-background);color:var(--components-form-field-content-text);font-size:var(--form-field-font-size);font-weight:500;line-height:var(--form-field-line-height);box-sizing:border-box;cursor:pointer;height:100%;min-height:40px}nv-fielddropdown .non-filterable-text span{display:inline-block;width:100%;overflow:hidden;text-overflow:ellipsis}nv-fielddropdown .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fielddropdown .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fielddropdown hr{border:none;border-top:1px solid var(--dropdown-divider-color, #ccc);margin:0.5rem 0}.input-container.focus-within,.input-container:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}";
|
|
2328
|
+
var NvFielddropdownStyle0 = nvFielddropdownCss;
|
|
2329
|
+
|
|
2330
|
+
/**
|
|
2331
|
+
* @slot content - Use a <ul></ul> tag for the slot, and place <nv-dropdownitem> elements inside.
|
|
2332
|
+
* @slot leading-input - Content to be placed before the input text, within the input container.
|
|
2333
|
+
* @slot before-input - Content to be placed before the input text, outside the input container.
|
|
2334
|
+
* @slot after-input - Content to be placed after the input text, outside the input container.
|
|
2335
|
+
* @slot label - Content to be placed as the label, will override the label prop.
|
|
2336
|
+
* @slot description - Content to be placed as the description, will override the description prop.
|
|
2337
|
+
* @slot error-description - Content to be placed as the error description, will override the errorDescription prop.
|
|
2338
|
+
*/
|
|
2339
|
+
class NVFieldDropDown {
|
|
2340
|
+
constructor(hostRef) {
|
|
2341
|
+
registerInstance(this, hostRef);
|
|
2342
|
+
this.dropdownItemSelected = createEvent(this, "dropdownItemSelected", 7);
|
|
2343
|
+
this.valueChanged = createEvent(this, "valueChanged", 7);
|
|
2344
|
+
/**
|
|
2345
|
+
* Handle click on the input container.
|
|
2346
|
+
* @param {MouseEvent} event - The click event.
|
|
2347
|
+
*/
|
|
2348
|
+
this.handleInputContainerClick = (event) => {
|
|
2349
|
+
if (this.disabled || this.readonly) {
|
|
2350
|
+
return; // Do nothing if the dropdown is disabled or read-only
|
|
2351
|
+
}
|
|
2352
|
+
const target = event.target;
|
|
2353
|
+
// Check if it is the paragraph or another part of the container
|
|
2354
|
+
if (target.tagName === 'P' || target.tagName === 'SPAN') {
|
|
2355
|
+
this.open = true;
|
|
2356
|
+
this.popoverElement.show();
|
|
2357
|
+
// Simulate focus to trigger "focus-within" style
|
|
2358
|
+
const inputContainer = this.el.querySelector('.input-container');
|
|
2359
|
+
if (inputContainer) {
|
|
2360
|
+
inputContainer.classList.add('focus-within');
|
|
2361
|
+
// Remove the "focus-within" class after a delay or when the popover is closed
|
|
2362
|
+
const removeFocusWithin = () => {
|
|
2363
|
+
inputContainer.classList.remove('focus-within');
|
|
2364
|
+
};
|
|
2365
|
+
// Or remove the class when the popover is closed
|
|
2366
|
+
this.popoverElement.addEventListener('hide', removeFocusWithin);
|
|
2367
|
+
}
|
|
2368
|
+
}
|
|
2369
|
+
};
|
|
2370
|
+
/**
|
|
2371
|
+
* Handle input change.
|
|
2372
|
+
* @param {Event} event - The input event.
|
|
2373
|
+
*/
|
|
2374
|
+
this.handleInput = (event) => {
|
|
2375
|
+
if (!this.filterable)
|
|
2376
|
+
return; // Do not filter if `filterable` is false
|
|
2377
|
+
if (this.disabled || this.readonly) {
|
|
2378
|
+
return; // Do not toggle the state if the dropdown is disabled or read-only
|
|
2379
|
+
}
|
|
2380
|
+
const input = event.target;
|
|
2381
|
+
this.filterText = input.value.toLowerCase();
|
|
2382
|
+
this.value = input.value; // Update the value
|
|
2383
|
+
this.valueChanged.emit(input.value); // Emit an event if needed
|
|
2384
|
+
this.filterItems(); // Update the visibility of items
|
|
2385
|
+
};
|
|
2386
|
+
/**
|
|
2387
|
+
* Handle input focus.
|
|
2388
|
+
*/
|
|
2389
|
+
this.handleInputFocus = () => {
|
|
2390
|
+
if (this.disabled || this.readonly) {
|
|
2391
|
+
return; // Do not toggle the state if the dropdown is disabled or read-only
|
|
2392
|
+
}
|
|
2393
|
+
this.open = true; // Force the popover to open
|
|
2394
|
+
};
|
|
2395
|
+
/**
|
|
2396
|
+
* Handle input blur.
|
|
2397
|
+
*/
|
|
2398
|
+
this.handleInputBlur = () => {
|
|
2399
|
+
// Use a delay to check if the focus is still within the popover
|
|
2400
|
+
setTimeout(() => {
|
|
2401
|
+
if (!this.el.contains(document.activeElement)) {
|
|
2402
|
+
this.open = false;
|
|
2403
|
+
this.popoverElement.hide(); // Close the popover if the focus is outside the component
|
|
2404
|
+
}
|
|
2405
|
+
}, 150);
|
|
2406
|
+
};
|
|
2407
|
+
/**
|
|
2408
|
+
* Toggle the dropdown popover.
|
|
2409
|
+
* @returns {void}
|
|
2410
|
+
*/
|
|
2411
|
+
this.togglePopover = () => {
|
|
2412
|
+
if (this.disabled || this.readonly) {
|
|
2413
|
+
return; // Do not toggle if disabled or read-only
|
|
2414
|
+
}
|
|
2415
|
+
this.open = !this.open;
|
|
2416
|
+
if (this.open) {
|
|
2417
|
+
this.popoverElement.show();
|
|
2418
|
+
// Si le dropdown n'est pas filtrable, focus sur le premier élément
|
|
2419
|
+
if (!this.filterable) {
|
|
2420
|
+
this.focusFirstItem();
|
|
2421
|
+
}
|
|
2422
|
+
}
|
|
2423
|
+
else {
|
|
2424
|
+
this.popoverElement.hide();
|
|
2425
|
+
}
|
|
2426
|
+
};
|
|
2427
|
+
this.inputId = v4();
|
|
2428
|
+
this.label = undefined;
|
|
2429
|
+
this.description = undefined;
|
|
2430
|
+
this.placeholder = undefined;
|
|
2431
|
+
this.name = undefined;
|
|
2432
|
+
this.open = false;
|
|
2433
|
+
this.autocomplete = 'off';
|
|
2434
|
+
this.value = undefined;
|
|
2435
|
+
this.required = false;
|
|
2436
|
+
this.error = false;
|
|
2437
|
+
this.errorDescription = undefined;
|
|
2438
|
+
this.readonly = false;
|
|
2439
|
+
this.disabled = false;
|
|
2440
|
+
this.emptyresult = 'No results found';
|
|
2441
|
+
this.filterText = '';
|
|
2442
|
+
this.filterable = false;
|
|
2443
|
+
this.isFilterable = this.filterable;
|
|
2444
|
+
this.selectedValues = new Set();
|
|
2445
|
+
}
|
|
2446
|
+
handleItemSelected(event) {
|
|
2447
|
+
if (this.disabled || this.readonly)
|
|
2448
|
+
return;
|
|
2449
|
+
// Retrieve all nv-fielddropdownitem elements present in the dropdown.
|
|
2450
|
+
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
|
|
2451
|
+
// For each item, remove the 'selected' attribute and the 'selected' class.
|
|
2452
|
+
items.forEach(item => {
|
|
2453
|
+
if (item !== event.target) {
|
|
2454
|
+
item.removeAttribute('selected');
|
|
2455
|
+
item.classList.remove('selected');
|
|
2456
|
+
}
|
|
2457
|
+
});
|
|
2458
|
+
// Update the value and emit the event with the selected item.
|
|
2459
|
+
this.value = event.detail.value;
|
|
2460
|
+
event.target.setAttribute('selected', 'true');
|
|
2461
|
+
event.target.classList.add('selected');
|
|
2462
|
+
this.dropdownItemSelected.emit(event.detail);
|
|
2463
|
+
// Close the popover after selecting.
|
|
2464
|
+
if (this.popoverElement) {
|
|
2465
|
+
this.popoverElement.hide();
|
|
2466
|
+
}
|
|
2467
|
+
}
|
|
2468
|
+
handleOpenChanged(event) {
|
|
2469
|
+
this.open = event.detail; // Update `open` based on the popover state
|
|
2470
|
+
}
|
|
2471
|
+
watchFilterableHandler(newValue) {
|
|
2472
|
+
this.isFilterable = newValue;
|
|
2473
|
+
this.filterable = newValue;
|
|
2474
|
+
}
|
|
2475
|
+
watchValueHandler() {
|
|
2476
|
+
// Handle value change and update the corresponding dropdown item if it exists
|
|
2477
|
+
this.setInitialSelection();
|
|
2478
|
+
}
|
|
2479
|
+
//#endregion EVENTS
|
|
2480
|
+
/****************************************************************************/
|
|
2481
|
+
//#region METHODS
|
|
2482
|
+
/**
|
|
2483
|
+
* Subscribe to click outside event.
|
|
2484
|
+
*/
|
|
2485
|
+
connectedCallback() {
|
|
2486
|
+
document.addEventListener('click', this.handleClickOutside.bind(this));
|
|
2487
|
+
// Handle pre-selection during component initialization
|
|
2488
|
+
this.setInitialSelection();
|
|
2489
|
+
// Apply filtering if the dropdown is filterable and there is a value
|
|
2490
|
+
if (this.filterable && this.value) {
|
|
2491
|
+
this.filterText = this.value.toLowerCase();
|
|
2492
|
+
this.filterItems(); // Update the visibility of items
|
|
2493
|
+
}
|
|
2494
|
+
else {
|
|
2495
|
+
// Ensure all items are visible if no filtering is applied
|
|
2496
|
+
this.resetFilter();
|
|
2497
|
+
}
|
|
2498
|
+
}
|
|
2499
|
+
/**
|
|
2500
|
+
* Set the initial selection based on the current value and update the inputElement value.
|
|
2501
|
+
*/
|
|
2502
|
+
setInitialSelection() {
|
|
2503
|
+
var _a;
|
|
2504
|
+
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
|
|
2505
|
+
const selectedItem = items.find(item => {
|
|
2506
|
+
var _a;
|
|
2507
|
+
return item.getAttribute('label') === this.value ||
|
|
2508
|
+
item.getAttribute('value') === this.value ||
|
|
2509
|
+
((_a = item.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === this.value;
|
|
2510
|
+
});
|
|
2511
|
+
// Remove 'selected' from all items first to reset the state
|
|
2512
|
+
items.forEach(item => {
|
|
2513
|
+
item.removeAttribute('selected');
|
|
2514
|
+
item.classList.remove('selected');
|
|
2515
|
+
});
|
|
2516
|
+
if (selectedItem) {
|
|
2517
|
+
// Add the `selected` attribute and `selected` class for visual styling
|
|
2518
|
+
selectedItem.setAttribute('selected', 'true');
|
|
2519
|
+
selectedItem.classList.add('selected');
|
|
2520
|
+
// Update the value and inputElement value to reflect the pre-selected item
|
|
2521
|
+
this.value =
|
|
2522
|
+
selectedItem.getAttribute('label') ||
|
|
2523
|
+
selectedItem.getAttribute('value') ||
|
|
2524
|
+
((_a = selectedItem.textContent) === null || _a === void 0 ? void 0 : _a.trim()) ||
|
|
2525
|
+
'';
|
|
2526
|
+
if (this.inputElement) {
|
|
2527
|
+
this.inputElement.value = this.value;
|
|
2528
|
+
}
|
|
2529
|
+
}
|
|
2530
|
+
}
|
|
2531
|
+
/**
|
|
2532
|
+
* Unsubscribe from click outside event.
|
|
2533
|
+
*/
|
|
2534
|
+
disconnectedCallback() {
|
|
2535
|
+
document.removeEventListener('click', this.handleClickOutside.bind(this));
|
|
2536
|
+
}
|
|
2537
|
+
/**
|
|
2538
|
+
* Filter dropdown items based on the text entered by the user.
|
|
2539
|
+
* If no items are found, display a message indicating no results.
|
|
2540
|
+
*/
|
|
2541
|
+
filterItems() {
|
|
2542
|
+
var _a;
|
|
2543
|
+
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
|
|
2544
|
+
// Remove the "no results found" item if it exists
|
|
2545
|
+
const existingEmptyItem = this.el.querySelector('nv-fielddropdownitem[data-empty]');
|
|
2546
|
+
if (existingEmptyItem) {
|
|
2547
|
+
existingEmptyItem.remove();
|
|
2548
|
+
}
|
|
2549
|
+
let hasVisibleItems = false;
|
|
2550
|
+
// Iterate over all items and adjust their visibility
|
|
2551
|
+
items.forEach(item => {
|
|
2552
|
+
var _a, _b;
|
|
2553
|
+
const textContent = ((_a = item.textContent) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || ''; // Get the textual content of the slot
|
|
2554
|
+
const value = ((_b = item.value) === null || _b === void 0 ? void 0 : _b.toLowerCase()) || ''; // Get the value of the `value` attribute
|
|
2555
|
+
// Check if the filtered text is present either in the value or in the textual content
|
|
2556
|
+
const shouldShow = value.includes(this.filterText) ||
|
|
2557
|
+
textContent.includes(this.filterText);
|
|
2558
|
+
item.style.display = shouldShow ? '' : 'none'; // Hide or show the item
|
|
2559
|
+
if (shouldShow) {
|
|
2560
|
+
hasVisibleItems = true;
|
|
2561
|
+
}
|
|
2562
|
+
});
|
|
2563
|
+
// If no items are visible, add the "no results found" item
|
|
2564
|
+
if (!hasVisibleItems) {
|
|
2565
|
+
const emptyItem = document.createElement('nv-fielddropdownitem');
|
|
2566
|
+
emptyItem.setAttribute('data-empty', 'true');
|
|
2567
|
+
emptyItem.setAttribute('disabled', 'true');
|
|
2568
|
+
emptyItem.textContent = this.emptyresult;
|
|
2569
|
+
(_a = this.el.querySelector('ul[slot="content"]')) === null || _a === void 0 ? void 0 : _a.appendChild(emptyItem);
|
|
2570
|
+
}
|
|
2571
|
+
}
|
|
2572
|
+
/**
|
|
2573
|
+
* Reset the filter and make all items visible.
|
|
2574
|
+
*/
|
|
2575
|
+
resetFilter() {
|
|
2576
|
+
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
|
|
2577
|
+
items.forEach(item => {
|
|
2578
|
+
item.style.display = '';
|
|
2579
|
+
});
|
|
2580
|
+
}
|
|
2581
|
+
/**
|
|
2582
|
+
* Retrieves the current filter text entered by the user.
|
|
2583
|
+
* @returns {string} The filter text.
|
|
2584
|
+
*/
|
|
2585
|
+
async getFilterText() {
|
|
2586
|
+
return this.filterText;
|
|
2587
|
+
}
|
|
2588
|
+
/**
|
|
2589
|
+
* Handle click outside the component.
|
|
2590
|
+
* @param {MouseEvent} event - The click event.
|
|
2591
|
+
*/
|
|
2592
|
+
handleClickOutside(event) {
|
|
2593
|
+
if (this.el.contains(event.target) ||
|
|
2594
|
+
(this.inputElement && this.inputElement.contains(event.target))) {
|
|
2595
|
+
// If the click is inside the component or on the input, do not close the popover
|
|
2596
|
+
return;
|
|
2597
|
+
}
|
|
2598
|
+
this.popoverElement.hide(); // Close the popover if the click is outside the component
|
|
2599
|
+
}
|
|
2600
|
+
handleKeyDown(event) {
|
|
2601
|
+
if (!this.open) {
|
|
2602
|
+
if (event.key === 'ArrowDown') {
|
|
2603
|
+
this.open = true;
|
|
2604
|
+
this.popoverElement.show();
|
|
2605
|
+
if (!this.filterable) {
|
|
2606
|
+
// Focus sur le premier élément si ce n'est pas filtrable
|
|
2607
|
+
this.focusFirstItem();
|
|
2608
|
+
}
|
|
2609
|
+
event.preventDefault();
|
|
2610
|
+
return;
|
|
2611
|
+
}
|
|
2612
|
+
return;
|
|
2613
|
+
}
|
|
2614
|
+
// Vérifiez si le popover est défini avant de chercher les items
|
|
2615
|
+
if (!this.popoverElement) {
|
|
2616
|
+
console.warn('Popover element is not defined');
|
|
2617
|
+
return;
|
|
2618
|
+
}
|
|
2619
|
+
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem:not([data-empty])'));
|
|
2620
|
+
// Vérifiez si les items existent
|
|
2621
|
+
if (items.length === 0) {
|
|
2622
|
+
console.warn('No dropdown items found to navigate');
|
|
2623
|
+
return;
|
|
2624
|
+
}
|
|
2625
|
+
let currentIndex = items.findIndex(item => item.classList.contains('highlighted'));
|
|
2626
|
+
if (event.key === 'ArrowDown') {
|
|
2627
|
+
event.preventDefault();
|
|
2628
|
+
currentIndex = (currentIndex + 1) % items.length;
|
|
2629
|
+
this.updateHighlightedItem(items, currentIndex);
|
|
2630
|
+
}
|
|
2631
|
+
else if (event.key === 'ArrowUp') {
|
|
2632
|
+
event.preventDefault();
|
|
2633
|
+
currentIndex = (currentIndex - 1 + items.length) % items.length;
|
|
2634
|
+
this.updateHighlightedItem(items, currentIndex);
|
|
2635
|
+
}
|
|
2636
|
+
else if (event.key === 'Enter' && currentIndex >= 0) {
|
|
2637
|
+
event.preventDefault();
|
|
2638
|
+
items[currentIndex].click();
|
|
2639
|
+
}
|
|
2640
|
+
else if (event.key === 'Escape') {
|
|
2641
|
+
event.preventDefault();
|
|
2642
|
+
this.open = false;
|
|
2643
|
+
this.popoverElement.hide();
|
|
2644
|
+
if (this.inputElement) {
|
|
2645
|
+
this.inputElement.blur();
|
|
2646
|
+
}
|
|
2647
|
+
}
|
|
2648
|
+
}
|
|
2649
|
+
updateHighlightedItem(items, index) {
|
|
2650
|
+
items.forEach((item, i) => {
|
|
2651
|
+
if (i === index) {
|
|
2652
|
+
item.classList.add('highlighted');
|
|
2653
|
+
item.setAttribute('tabindex', '0');
|
|
2654
|
+
if (!item.checkVisibility()) {
|
|
2655
|
+
console.log('Item not focused');
|
|
2656
|
+
}
|
|
2657
|
+
item.focus(); // Forcer le focus ici
|
|
2658
|
+
item.scrollIntoView({ block: 'nearest' });
|
|
2659
|
+
}
|
|
2660
|
+
else {
|
|
2661
|
+
item.classList.remove('highlighted');
|
|
2662
|
+
item.setAttribute('tabindex', '-1');
|
|
2663
|
+
}
|
|
2664
|
+
});
|
|
2665
|
+
}
|
|
2666
|
+
focusFirstItem() {
|
|
2667
|
+
const firstItem = this.el.querySelector('nv-fielddropdownitem');
|
|
2668
|
+
if (firstItem) {
|
|
2669
|
+
firstItem.focus();
|
|
2670
|
+
this.updateHighlightedItem(Array.from(this.el.querySelectorAll('nv-fielddropdownitem')), 0);
|
|
2671
|
+
}
|
|
2672
|
+
else {
|
|
2673
|
+
console.warn('No first item found to focus');
|
|
2674
|
+
}
|
|
2675
|
+
}
|
|
2676
|
+
//#endregion METHODS
|
|
2677
|
+
/****************************************************************************/
|
|
2678
|
+
//#region RENDER
|
|
2679
|
+
render() {
|
|
2680
|
+
return (hAsync(Host, { key: '250c1480057430dc7ed9b9f9e754f141f72ae8df' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '381c4c83a2a868e3714770c942e02f7553c02593', htmlFor: this.inputId }, hAsync("slot", { key: '213591b66daee583e63f8f13097ce5d7e00176b5', name: "label" }, this.label))), hAsync("nv-popover", { key: '935e926058a328f1279002853a6125fb14183b3d', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: 'e0b285ab5bb4af2bf84afd20457fccbad87c7ab6', class: "input-wrapper", slot: "trigger" }, hAsync("slot", { key: '78a732873c07adb228c2e1c930bcadc3f77a25c6', name: "before-input" }), hAsync("div", { key: '7413239369a4d03acd13875f63d8f4973bf3147e', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: '228cf0a81fdc68fd8ed9c25ce15da5ad88b4e1fb', name: "leading-input" }), this.isFilterable || this.disabled || this.readonly ? (hAsync("input", { id: this.inputId, type: "search", ref: e => (this.inputElement = e), autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.value, required: this.required, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur, onKeyDown: this.handleKeyDown })) : (hAsync("p", { id: this.inputId, class: "non-filterable-text", onClick: this.handleInputContainerClick, tabIndex: 0, onKeyDown: this.handleKeyDown, onFocus: this.handleInputFocus }, hAsync("span", null, this.value || this.placeholder))), hAsync("nv-iconbutton", { key: 'b6be1247858609d11db9401f08625445961c0c5c', class: "toggle-dropdown-icon", name: this.open ? 'chevron-top' : 'chevron-down', size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide dropdown' : 'Show dropdown', "aria-pressed": this.open.toString(), onClick: this.togglePopover })), hAsync("slot", { key: 'c0ad34bdf23bdfdb1adbdab04b4629b2b1c6bc9d', name: "after-input" })), hAsync("slot", { key: 'e8d4a526b62a84caca5f28aa0a9d448683d3ad51', name: "content" })), (this.description ||
|
|
2681
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '22273a23815f4048dce904b491c7972fce7051fd', class: "description" }, hAsync("slot", { key: '8f8364a20416b5cf20c75e9ead5a2856d1ad307f', name: "description" }, this.description))), (this.errorDescription ||
|
|
2682
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'e13aa744e80484699a0abf26f93a1ed2490d13cb', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: 'faf36f46aede8b40e9f7c01c36119cee11ad5dd2', name: "error-description" }, this.errorDescription)))));
|
|
2683
|
+
}
|
|
2684
|
+
static get formAssociated() { return true; }
|
|
2685
|
+
get el() { return getElement(this); }
|
|
2686
|
+
static get watchers() { return {
|
|
2687
|
+
"filterable": ["watchFilterableHandler"],
|
|
2688
|
+
"value": ["watchValueHandler"]
|
|
2689
|
+
}; }
|
|
2690
|
+
static get style() { return NvFielddropdownStyle0; }
|
|
2691
|
+
static get cmpMeta() { return {
|
|
2692
|
+
"$flags$": 68,
|
|
2693
|
+
"$tagName$": "nv-fielddropdown",
|
|
2694
|
+
"$members$": {
|
|
2695
|
+
"inputId": [513, "input-id"],
|
|
2696
|
+
"label": [513],
|
|
2697
|
+
"description": [513],
|
|
2698
|
+
"placeholder": [513],
|
|
2699
|
+
"name": [513],
|
|
2700
|
+
"open": [1540],
|
|
2701
|
+
"autocomplete": [513],
|
|
2702
|
+
"value": [1537],
|
|
2703
|
+
"required": [516],
|
|
2704
|
+
"error": [516],
|
|
2705
|
+
"errorDescription": [513, "error-description"],
|
|
2706
|
+
"readonly": [516],
|
|
2707
|
+
"disabled": [516],
|
|
2708
|
+
"emptyresult": [513],
|
|
2709
|
+
"filterable": [1540],
|
|
2710
|
+
"filterText": [32],
|
|
2711
|
+
"isFilterable": [32],
|
|
2712
|
+
"selectedValues": [32],
|
|
2713
|
+
"getFilterText": [64]
|
|
2714
|
+
},
|
|
2715
|
+
"$listeners$": [[0, "itemSelected", "handleItemSelected"], [0, "openChanged", "handleOpenChanged"], [0, "keydown", "handleKeyDown"]],
|
|
2716
|
+
"$lazyBundleId$": "-",
|
|
2717
|
+
"$attrsToReflect$": [["inputId", "input-id"], ["label", "label"], ["description", "description"], ["placeholder", "placeholder"], ["name", "name"], ["open", "open"], ["autocomplete", "autocomplete"], ["value", "value"], ["required", "required"], ["error", "error"], ["errorDescription", "error-description"], ["readonly", "readonly"], ["disabled", "disabled"], ["emptyresult", "emptyresult"], ["filterable", "filterable"]]
|
|
2718
|
+
}; }
|
|
2719
|
+
}
|
|
2720
|
+
|
|
2257
2721
|
function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
|
|
2258
2722
|
|
|
2259
2723
|
var FeedbackColors;
|
|
@@ -5015,68 +5479,6 @@ class NvCol {
|
|
|
5015
5479
|
}; }
|
|
5016
5480
|
}
|
|
5017
5481
|
|
|
5018
|
-
/**
|
|
5019
|
-
* Convert array of 16 byte values to UUID string format of the form:
|
|
5020
|
-
* XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
|
5021
|
-
*/
|
|
5022
|
-
var byteToHex = [];
|
|
5023
|
-
for (var i = 0; i < 256; ++i) {
|
|
5024
|
-
byteToHex.push((i + 0x100).toString(16).slice(1));
|
|
5025
|
-
}
|
|
5026
|
-
function unsafeStringify(arr, offset = 0) {
|
|
5027
|
-
// Note: Be careful editing this code! It's been tuned for performance
|
|
5028
|
-
// and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
|
|
5029
|
-
//
|
|
5030
|
-
// Note to future-self: No, you can't remove the `toLowerCase()` call.
|
|
5031
|
-
// REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351
|
|
5032
|
-
return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
|
|
5033
|
-
}
|
|
5034
|
-
|
|
5035
|
-
// Unique ID creation requires a high quality random # generator. In the browser we therefore
|
|
5036
|
-
// require the crypto API and do not support built-in fallback to lower quality random number
|
|
5037
|
-
// generators (like Math.random()).
|
|
5038
|
-
|
|
5039
|
-
var getRandomValues;
|
|
5040
|
-
var rnds8 = new Uint8Array(16);
|
|
5041
|
-
function rng() {
|
|
5042
|
-
// lazy load so that environments that need to polyfill have a chance to do so
|
|
5043
|
-
if (!getRandomValues) {
|
|
5044
|
-
// getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
|
|
5045
|
-
getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
|
|
5046
|
-
if (!getRandomValues) {
|
|
5047
|
-
throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
|
|
5048
|
-
}
|
|
5049
|
-
}
|
|
5050
|
-
return getRandomValues(rnds8);
|
|
5051
|
-
}
|
|
5052
|
-
|
|
5053
|
-
var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
|
|
5054
|
-
var native = {
|
|
5055
|
-
randomUUID
|
|
5056
|
-
};
|
|
5057
|
-
|
|
5058
|
-
function v4(options, buf, offset) {
|
|
5059
|
-
if (native.randomUUID && !buf && !options) {
|
|
5060
|
-
return native.randomUUID();
|
|
5061
|
-
}
|
|
5062
|
-
options = options || {};
|
|
5063
|
-
var rnds = options.random || (options.rng || rng)();
|
|
5064
|
-
|
|
5065
|
-
// Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
|
|
5066
|
-
rnds[6] = rnds[6] & 0x0f | 0x40;
|
|
5067
|
-
rnds[8] = rnds[8] & 0x3f | 0x80;
|
|
5068
|
-
|
|
5069
|
-
// Copy bytes to buffer, if provided
|
|
5070
|
-
if (buf) {
|
|
5071
|
-
offset = offset || 0;
|
|
5072
|
-
for (var i = 0; i < 16; ++i) {
|
|
5073
|
-
buf[offset + i] = rnds[i];
|
|
5074
|
-
}
|
|
5075
|
-
return buf;
|
|
5076
|
-
}
|
|
5077
|
-
return unsafeStringify(rnds);
|
|
5078
|
-
}
|
|
5079
|
-
|
|
5080
5482
|
const nvFieldcheckboxCss = "nv-fieldcheckbox{--nv-fieldcheckbox-border-default:var(--components-form-field-border-default);--nv-fieldcheckbox-border-hover:var(--components-form-field-border-hover);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-default);--nv-fieldcheckbox-background-default:var(--components-form-field-background-default);--nv-fieldcheckbox-background-checked:var(--components-form-field-background-checked);--nv-fieldcheckbox-background-disabled:var(--components-form-field-background-disabled);--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-brand);--nv-fieldcheckbox-color-checked:var(--components-form-shape-foreground-default);--nv-fieldcheckbox-color-disabled:var(--components-form-shape-foreground-disabled);--nv-fieldcheckbox-outline-color:var(--color-focus-brand);display:inline-flex;align-items:flex-start;gap:var(--form-gap-x);position:relative}nv-fieldcheckbox:not([disabled],[readonly]) input,nv-fieldcheckbox:not([disabled],[readonly]) label{cursor:pointer}nv-fieldcheckbox.error .input-container{--nv-fieldcheckbox-border-default:var(--components-form-field-border-error);--nv-fieldcheckbox-border-hover:var(--nv-fieldcheckbox-border-default);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-error);--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-destructive);--nv-fieldcheckbox-color-disabled:var(--components-form-shape-foreground-disabled-error);--nv-fieldcheckbox-background-checked:var(--components-form-field-background-error);--nv-fieldcheckbox-outline-color:var(--color-focus-destructive)}nv-fieldcheckbox.label-placement-before{flex-direction:row-reverse}nv-fieldcheckbox[disabled]{opacity:0.5}nv-fieldcheckbox label{align-self:stretch;color:var(--components-form-text-label-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--form-label-font-weight);line-height:var(--form-label-line-height)}nv-fieldcheckbox .input-container{position:relative;color:var(--nv-fieldcheckbox-color-checked)}nv-fieldcheckbox .input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox .input-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--nv-fieldcheckbox-color-disabled)}nv-fieldcheckbox .input-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-checkbox-size);height:var(--form-checkbox-size);flex-direction:column;align-items:flex-start;border-radius:var(--form-checkbox-radius);border-width:var(--form-checkbox-border-width);border-style:solid;border-color:var(--nv-fieldcheckbox-border-default);background:var(--nv-fieldcheckbox-background-default)}nv-fieldcheckbox .input-container input[type=checkbox]:hover{border-color:var(--nv-fieldcheckbox-border-hover)}nv-fieldcheckbox .input-container input[type=checkbox]:focus{border-color:var(--nv-fieldcheckbox-border-focus)}nv-fieldcheckbox .input-container input[type=checkbox]:focus,nv-fieldcheckbox .input-container input[type=checkbox]:focus-within{outline:none}nv-fieldcheckbox .input-container input[type=checkbox]:focus-visible,nv-fieldcheckbox .input-container input[type=checkbox]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--nv-fieldcheckbox-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-fieldcheckbox .input-container input[type=checkbox]:checked,nv-fieldcheckbox .input-container input[type=checkbox]:indeterminate{background:var(--nv-fieldcheckbox-background-checked);border-color:var(--nv-fieldcheckbox-background-checked)}nv-fieldcheckbox .input-container input[type=checkbox]:disabled:not([readonly]){background:var(--nv-fieldcheckbox-background-disabled);border-color:var(--nv-fieldcheckbox-border-default)}nv-fieldcheckbox .input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox .input-container .icon{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}nv-fieldcheckbox .input-container .icon svg{width:var(--form-checkbox-icon-size);height:var(--form-checkbox-icon-size);fill:none;stroke:currentcolor;stroke-width:var(--form-checkbox-icon-stroke);flex-shrink:0}nv-fieldcheckbox .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height)}nv-fieldcheckbox .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fieldcheckbox .text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}";
|
|
5081
5483
|
var NvFieldcheckboxStyle0 = nvFieldcheckboxCss;
|
|
5082
5484
|
|
|
@@ -5193,6 +5595,75 @@ class NvFieldcheckbox {
|
|
|
5193
5595
|
}; }
|
|
5194
5596
|
}
|
|
5195
5597
|
|
|
5598
|
+
const nvFielddropdownitemCss = "nv-fielddropdownitem{display:flex;align-items:center;justify-content:space-between;max-width:300px;width:100%;padding:var(--menu-contextual-item-padding-y) var(--menu-contextual-item-padding-x);font-size:var(--menu-contextual-item-font-size);font-weight:var(--menu-contextual-item-font-weight);color:var(--components-menu-contextual-item-content);border-radius:var(--menu-contextual-item-radius);transition:background-color 150ms ease-out, color 150ms ease-out;cursor:pointer}nv-fielddropdownitem:hover,nv-fielddropdownitem:focus,nv-fielddropdownitem:focus-within{background-color:var(--components-menu-contextual-item-background-hover);color:var(--components-menu-contextual-item-content-hover)}nv-fielddropdownitem.selected{background-color:var(--components-menu-contextual-item-background-selected);color:var(--components-menu-contextual-item-content-selected)}nv-fielddropdownitem[disabled]:not([disabled=false]){cursor:not-allowed;background-color:unset;color:var(--components-menu-contextual-item-content-disabled)}nv-fielddropdownitem [data-scope=text]{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nv-fielddropdownitem .selection-icon{padding-left:10px;color:var(--components-menu-contextual-item-icon-selected);align-self:center}:root{--components-menu-contextual-item-background-selected:#f5f6f7;--components-menu-contextual-item-content-selected:#171f22;--components-menu-contextual-item-icon-selected:#007f00;--components-menu-contextual-item-background-hover:#f5f6f7;--components-menu-contextual-item-content-hover:#171f22}";
|
|
5599
|
+
var NvFielddropdownitemStyle0 = nvFielddropdownitemCss;
|
|
5600
|
+
|
|
5601
|
+
/**
|
|
5602
|
+
* @slot default - The content to be displayed inside the dropdown item.
|
|
5603
|
+
*/
|
|
5604
|
+
class NvFielddropdownitem {
|
|
5605
|
+
constructor(hostRef) {
|
|
5606
|
+
registerInstance(this, hostRef);
|
|
5607
|
+
this.itemSelected = createEvent(this, "itemSelected", 7);
|
|
5608
|
+
this.handleClick = () => {
|
|
5609
|
+
if (!this.disabled) {
|
|
5610
|
+
let itemValue = this.value || '';
|
|
5611
|
+
if (!itemValue) {
|
|
5612
|
+
itemValue =
|
|
5613
|
+
Array.from(this.el.childNodes)
|
|
5614
|
+
.map(node => { var _a; return (_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim(); })
|
|
5615
|
+
.filter(text => text && text.length > 0)
|
|
5616
|
+
.join(' ') || '';
|
|
5617
|
+
}
|
|
5618
|
+
this.selected = !this.selected; // Toggle the selected state
|
|
5619
|
+
this.itemSelected.emit({
|
|
5620
|
+
label: this.label,
|
|
5621
|
+
value: itemValue,
|
|
5622
|
+
selected: this.selected,
|
|
5623
|
+
disabled: this.disabled,
|
|
5624
|
+
});
|
|
5625
|
+
}
|
|
5626
|
+
};
|
|
5627
|
+
this.disabled = false;
|
|
5628
|
+
this.selected = false;
|
|
5629
|
+
this.value = undefined;
|
|
5630
|
+
this.label = undefined;
|
|
5631
|
+
}
|
|
5632
|
+
//#endregion EVENTS
|
|
5633
|
+
/****************************************************************************/
|
|
5634
|
+
//#region METHODS
|
|
5635
|
+
/**
|
|
5636
|
+
* Utility function to check if a string is null, empty, or contains only whitespace.
|
|
5637
|
+
* @param {string | null | undefined} input - The string to check.
|
|
5638
|
+
* @returns {boolean} - Returns true if the string is null, empty, or contains only whitespace; otherwise, false.
|
|
5639
|
+
*/
|
|
5640
|
+
isNullOrEmptyOrWhitespace(input) {
|
|
5641
|
+
return !input || input.trim().length === 0;
|
|
5642
|
+
}
|
|
5643
|
+
//#endregion METHODS
|
|
5644
|
+
/****************************************************************************/
|
|
5645
|
+
//#region RENDER
|
|
5646
|
+
render() {
|
|
5647
|
+
const showDefaultLayout = this.isNullOrEmptyOrWhitespace(this.label);
|
|
5648
|
+
return (hAsync(Host, { key: '7883f469059e808bca1d6fa7f4a0bbef75681d81', role: "menuitem", tabindex: this.disabled ? '-1' : '0', onClick: this.handleClick, class: { selected: this.selected } }, showDefaultLayout ? (hAsync("slot", null)) : (hAsync("div", { class: "flex gap-2" }, hAsync("span", { "data-scope": "text" }, this.label), this.selected && (hAsync("nv-icon", { name: "check", "aria-hidden": "true", class: "selection-icon" }))))));
|
|
5649
|
+
}
|
|
5650
|
+
get el() { return getElement(this); }
|
|
5651
|
+
static get style() { return NvFielddropdownitemStyle0; }
|
|
5652
|
+
static get cmpMeta() { return {
|
|
5653
|
+
"$flags$": 4,
|
|
5654
|
+
"$tagName$": "nv-fielddropdownitem",
|
|
5655
|
+
"$members$": {
|
|
5656
|
+
"disabled": [516],
|
|
5657
|
+
"selected": [1540],
|
|
5658
|
+
"value": [513],
|
|
5659
|
+
"label": [513]
|
|
5660
|
+
},
|
|
5661
|
+
"$listeners$": undefined,
|
|
5662
|
+
"$lazyBundleId$": "-",
|
|
5663
|
+
"$attrsToReflect$": [["disabled", "disabled"], ["selected", "selected"], ["value", "value"], ["label", "label"]]
|
|
5664
|
+
}; }
|
|
5665
|
+
}
|
|
5666
|
+
|
|
5196
5667
|
const nvFieldnumberCss = "nv-fieldnumber {\n --nv-field-border-default: var(--components-form-field-border-default);\n --nv-field-border-hover: var(--components-form-field-border-hover);\n --nv-field-border-focus: var(--components-form-field-border-focus);\n --nv-field-border-disabled: var(--components-form-field-border-default);\n --nv-field-border-readonly: var(--components-form-field-border-default);\n --nv-field-focus-box-shadow: var(--color-focus-brand);\n --nv-field-background: var(--components-form-field-background-default);\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--form-gap-y);\n box-sizing: border-box;\n}\nnv-fieldnumber[readonly]:not([readonly=false]) {\n --nv-field-border-default: var(--components-form-field-border-readonly);\n --nv-field-border-hover: var(--nv-field-border-default);\n --nv-field-border-focus: var(--components-form-field-border-focus);\n --nv-field-border-disabled: var(--nv-field-border-default);\n --nv-field-border-readonly: var(--nv-field-border-default);\n --nv-field-background: var(--components-form-field-background-readonly);\n}\nnv-fieldnumber[error]:not([error=false]) {\n --nv-field-border-default: var(--components-form-field-border-error);\n --nv-field-border-hover: var(--nv-field-border-default);\n --nv-field-border-focus: var(--nv-field-border-default);\n --nv-field-border-disabled: var(--nv-field-border-default);\n --nv-field-border-readonly: var(--nv-field-border-default);\n --nv-field-focus-box-shadow: var(--color-focus-destructive);\n}\nnv-fieldnumber[success]:not([success=false]) {\n --nv-field-border-default: var(--components-form-field-border-success);\n --nv-field-border-hover: var(--nv-field-border-default);\n --nv-field-border-focus: var(--nv-field-border-default);\n --nv-field-border-disabled: var(--nv-field-border-default);\n --nv-field-border-readonly: var(--nv-field-border-default);\n --nv-field-focus-box-shadow: var(--color-focus-success);\n}\nnv-fieldnumber[required]:not([required=false]) label::after {\n content: \"*\";\n color: var(--components-form-text-required);\n font-weight: 700;\n}\nnv-fieldnumber label {\n display: flex;\n align-items: center;\n gap: var(--form-label-gap);\n align-self: stretch;\n color: var(--components-form-text-label-default);\n font-family: \"TT Norms Pro\", sans-serif;\n font-size: var(--form-label-font-size);\n font-style: normal;\n font-weight: 500;\n line-height: var(--form-label-line-height);\n}\nnv-fieldnumber .input-wrapper {\n display: flex;\n flex-wrap: wrap;\n gap: var(--form-gap-x);\n align-items: stretch;\n align-self: stretch;\n}\nnv-fieldnumber .input-wrapper .input-container {\n display: flex;\n flex-grow: 1;\n padding: calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);\n justify-content: center;\n align-items: center;\n gap: var(--form-field-gap);\n align-self: stretch;\n border-radius: var(--form-field-radius);\n border-width: 1px;\n border-style: solid;\n border-color: var(--nv-field-border-default);\n opacity: var(--components-form-opacity-default);\n background: var(--nv-field-background);\n transition: all 150ms ease-out;\n container-type: inline-size;\n container-name: field-number-input-container;\n overflow: hidden;\n position: relative;\n}\nnv-fieldnumber .input-wrapper .input-container:hover {\n border-color: var(--nv-field-border-hover);\n}\nnv-fieldnumber .input-wrapper .input-container:focus-within {\n border-color: var(--nv-field-border-focus);\n box-shadow: 0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow);\n}\nnv-fieldnumber .input-wrapper .input-container:has(input:read-only) {\n opacity: 0.5;\n background-color: var(--components-form-field-background-readonly);\n border-color: var(--nv-field-border-readonly);\n}\nnv-fieldnumber .input-wrapper .input-container:has(input:disabled) {\n opacity: 0.5;\n background-color: var(--components-form-field-background-disabled);\n border-color: var(--nv-field-border-disabled);\n}\nnv-fieldnumber .input-wrapper .input-container input {\n display: flex;\n align-items: center;\n flex: 1 0 0;\n overflow: hidden;\n background-color: transparent;\n color: var(--components-form-field-content-text);\n text-overflow: ellipsis;\n font-size: var(--form-field-font-size);\n font-style: normal;\n font-weight: 500;\n line-height: var(--form-field-line-height);\n width: 100%;\n appearance: textfield;\n}\nnv-fieldnumber .input-wrapper .input-container input:focus {\n outline: none;\n}\nnv-fieldnumber .input-wrapper .input-container input::placeholder {\n overflow: hidden;\n color: var(--components-form-field-content-placeholder);\n text-overflow: ellipsis;\n font-family: \"TT Norms Pro\", sans-serif;\n font-size: var(--form-field-font-size);\n font-style: normal;\n font-weight: 400;\n line-height: var(--form-field-line-height);\n}\nnv-fieldnumber .input-wrapper .input-container input::-webkit-inner-spin-button, nv-fieldnumber .input-wrapper .input-container input::-webkit-outer-spin-button {\n appearance: none;\n margin: 0;\n}\nnv-fieldnumber .input-wrapper .input-container nv-icon.validation {\n color: var(--nv-field-border-default);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper {\n position: absolute;\n right: 0;\n height: 100%;\n display: flex;\n align-items: center;\n border-left: var(--notification-border-width-low-emphasis) solid var(--components-form-field-border-readonly);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper nv-icon {\n color: var(--components-form-field-icon-default);\n height: 100%;\n}\nnv-fieldnumber .input-wrapper .input-container .stepper nv-icon:first-child {\n padding: var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-int) var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-ext);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper nv-icon:last-child {\n padding: var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-ext) var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-int);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper nv-icon:hover {\n background: var(--color-interaction-neutral-background-hover);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper-spacer {\n width: calc(2 * (var(--form-field-icon-size) + var(--form-field-inner-button-padding-x-ext) + var(--form-field-inner-button-padding-x-int)) + var(--form-field-padding-x) + var(--notification-border-width-low-emphasis));\n}\n@container field-number-input-container (width < 150px) {\n nv-fieldnumber .input-wrapper .input-container .stepper-spacer {\n display: none;\n }\n nv-fieldnumber .input-wrapper .input-container .stepper {\n display: none;\n }\n}\nnv-fieldnumber .description {\n align-self: stretch;\n color: var(--components-form-text-description-default);\n font-family: \"TT Norms Pro\", sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n line-height: var(--form-description-line-height);\n}\nnv-fieldnumber .error-description {\n align-self: stretch;\n color: var(--components-form-text-description-default);\n font-family: \"TT Norms Pro\", sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n line-height: var(--form-description-line-height);\n color: var(--components-form-text-description-error);\n}";
|
|
5197
5668
|
var NvFieldnumberStyle0 = nvFieldnumberCss;
|
|
5198
5669
|
|
|
@@ -5272,9 +5743,9 @@ class NvFieldnumber {
|
|
|
5272
5743
|
/****************************************************************************/
|
|
5273
5744
|
//#region RENDER
|
|
5274
5745
|
render() {
|
|
5275
|
-
return (hAsync(Host, { key: '
|
|
5276
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
5277
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
5746
|
+
return (hAsync(Host, { key: '3a9223b9ec5b98988453bb2e4c3d321c753dbcd7' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'be1746ca557a151ff837a1477b37291297aebbb8', htmlFor: this.inputId }, hAsync("slot", { key: '982e9f0d6aeed6fe243e7f3ad44de0efba796df1', name: "label" }, this.label))), hAsync("div", { key: '931b96aeac31f348be4ee0650e9db607d1b67376', class: "input-wrapper" }, hAsync("slot", { key: 'dfc3887c891cdf34591254294cd510a1850b22eb', name: "before-input" }), hAsync("div", { key: '59724e6aa3c46b55f88ec02bfe4fefa271e988d1', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: 'db0ad5990287b5e5d731346ea9088d18aea437f9', name: "leading-input" }), hAsync("input", { key: 'c524743652559eb6d039a71c9507cfbb08e2a115', id: this.inputId, ref: e => (this.inputElement = e), placeholder: this.placeholder, name: this.name, type: "number", required: this.required, max: this.max, min: this.min, step: this.step, value: this.value, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput }), this.error && (hAsync("nv-icon", { key: 'eeba7946b7576c8eb37954479864d0fe5616609e', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '50ca73fb3cb891f2267da51bf4e2fe6c08e8384e', name: "circle-check", class: "validation", size: "md" })), hAsync("div", { key: '399d9a01d07c98dbfd75cbe1f17720a3e2e7d892', class: "stepper-spacer" }), hAsync("div", { key: '5d006aba51286bdbf6727e7970ffa6b7a1d089e6', class: "stepper" }, hAsync("nv-icon", { key: 'bc7b73f787d0749fc617d689944eea3df06eb78d', name: "minus", size: "md", onClick: this.handleMinus, class: clsx({ disabled: this.isMinValueReached() }) }), hAsync("nv-icon", { key: '5e4389fa084cb76c82f086d1937b6967c8292d53', name: "plus", size: "md", onClick: this.handlePlus, class: clsx({ disabled: this.isMaxValueReached() }) }))), hAsync("slot", { key: '462809599f077fd76f8fac8bab40870885ec1369', name: "after-input" })), (this.description ||
|
|
5747
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '0cfe8a2d53663147451a173fc524fd20af5391ba', class: "description" }, hAsync("slot", { key: '99ddab81b68af0835b80a2d7bd5745ccb698da12', name: "description" }, this.description))), (this.errorDescription ||
|
|
5748
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'c9199d6a3cf00ae2b63f93a11a15ff247fea2eda', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '0bb584f886a73deaa18dfbbc5e93b25c96f22b1a', name: "error-description" }, this.errorDescription)))));
|
|
5278
5749
|
}
|
|
5279
5750
|
static get formAssociated() { return true; }
|
|
5280
5751
|
get el() { return getElement(this); }
|
|
@@ -5375,9 +5846,9 @@ class NvFieldpassword {
|
|
|
5375
5846
|
/****************************************************************************/
|
|
5376
5847
|
//#region RENDER
|
|
5377
5848
|
render() {
|
|
5378
|
-
return (hAsync(Host, { key: '
|
|
5379
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
5380
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
5849
|
+
return (hAsync(Host, { key: '69ec0ce8bb09a3d18bc35ea9d3507642577e1d73' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'd1d7da07f6a385d9f1e533bcd2265416ad72c081', htmlFor: this.inputId }, hAsync("slot", { key: 'e3636425c7ff4774efcebf23003c4ddfffd8deeb', name: "label" }, this.label))), hAsync("div", { key: 'b1c900415a7c52f7c8049ee25095d672fcf0b2ae', class: "input-wrapper" }, hAsync("slot", { key: 'a185ce16ac38763e53a874221a6d356b5a124a26', name: "before-input" }), hAsync("div", { key: 'fea4f799535237b6eeaf74f4c689df99a9961676', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: '9d0b505fc3c5289d6e58c097d4c60ee7afee7df1', name: "leading-input" }), hAsync("input", { key: 'c3edbe0d8ff28fe7fc37adc73857654bebab642b', id: this.inputId, ref: e => (this.inputElement = e), autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, type: this.showPasswordState ? 'text' : 'password', inputMode: this.mode, value: this.value, required: this.required, maxlength: this.maxlength, minlength: this.minlength, pattern: this.pattern, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput }), !this.hidePasswordIcon && (hAsync("nv-iconbutton", { key: '603d51f607526c519a181fd76d4e710948485041', class: "toggle-password-icon", name: this.showPasswordState ? 'eye' : 'eye-off', size: "md", emphasis: "lower", onClick: this.togglePasswordVisibility, onKeyDown: this.handleKeyDown, "aria-label": this.showPasswordState ? 'Hide password' : 'Show password', "aria-pressed": this.showPasswordState.toString() })), (this.success || this.error) && (hAsync("nv-icon", { key: '64d7c84b4c559a1d5abde6838f851a7020a13479', name: this.success ? 'circle-check' : 'alert-circle', class: "validation", size: "md" }))), hAsync("slot", { key: 'a4b2924196420f0907721fe48d759720cf0b2bbb', name: "after-input" })), (this.description ||
|
|
5850
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'e5d33079071a718cafc7b0fc8fde5f9117dda201', class: "description" }, hAsync("slot", { key: '29ea9388ff1d4ec61ae54c13ff34f9101661bc62', name: "description" }, this.description))), (this.errorDescription ||
|
|
5851
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '34ed51e1bf050712126bd5a48ab9f426a3444db9', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '940aa4d7799df58265a82b9440bf1e0bb36eb68e', name: "error-description" }, this.errorDescription)))));
|
|
5381
5852
|
}
|
|
5382
5853
|
static get formAssociated() { return true; }
|
|
5383
5854
|
get el() { return getElement(this); }
|
|
@@ -5479,9 +5950,9 @@ class NvFieldradio {
|
|
|
5479
5950
|
/****************************************************************************/
|
|
5480
5951
|
//#region RENDER
|
|
5481
5952
|
render() {
|
|
5482
|
-
return (hAsync(Host, { key: '
|
|
5483
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
5484
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
5953
|
+
return (hAsync(Host, { key: '3b583693083de14efaeb3fec362b7841d792fd64', class: clsx(this.labelPlacement === 'before' && 'label-placement-before', this.error && 'error') }, hAsync("input", { key: 'afbb24afc56563ba72f598f6bd5e195d5bcefcbf', type: "radio", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: this.checked, disabled: this.disabled }), hAsync("div", { key: 'f7506c57b0d409e0834fff77ed6f3f20937a7684', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '094290188857979a7c54878cfbba40333ea21044', htmlFor: this.inputId }, hAsync("slot", { key: 'dd1dd4cda3cde671224d2a96b75a0db2d68484f9', name: "label" }, this.label))), (this.description ||
|
|
5954
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'de70a59d9849648140de4df091d0a6431bbeba66', class: "description" }, hAsync("slot", { key: '297df2dc5e58ede572cb3ebee160d9f13cd3a2d0', name: "description" }, this.description))), (this.errorDescription ||
|
|
5955
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'e514dad229d2bedb194ac1e9586ce15cf9fca9ce', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '68e52668dc96da4c354f1bc81927b7de3b81c8f6', name: "error-description" }, this.errorDescription))))));
|
|
5485
5956
|
}
|
|
5486
5957
|
static get formAssociated() { return true; }
|
|
5487
5958
|
get el() { return getElement(this); }
|
|
@@ -5783,13 +6254,13 @@ class NvFieldselect {
|
|
|
5783
6254
|
* @returns {HTMLStencilElement} The HTML element to render.
|
|
5784
6255
|
*/
|
|
5785
6256
|
render() {
|
|
5786
|
-
return (hAsync(Host, { key: '
|
|
6257
|
+
return (hAsync(Host, { key: '084b481cd9fb4a5de72475c55b160e6b52791b19' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '8af61112f500899f876163354f0b75b1e68f0874', htmlFor: this.selectId }, hAsync("slot", { key: 'e49a64d55614534aafc53b1aae1f93ab1e164ff2', name: "label" }, this.label))), hAsync("div", { key: '3b91159475d481c9c2cfcebfdefee9e9ada81e09', class: "select-wrapper" }, hAsync("slot", { key: '8a1e0736dcf48b2bf6d63936011115b903cc732a', name: "before-input" }), hAsync("div", { key: 'c5d874489e528f67c60ee2262ed053cc29ed53fa', class: "select-container", onClick: this.handleSelectContainerClick }, hAsync("slot", { key: '22e1ef11fb7924b71dc968ddc0cab92ce7ad0ad9', name: "leading-input" }), this.internalReadonly && (hAsync("input", { key: 'd117241f08b1bc4e1c81cd07ff71ef4335a07768', id: this.selectId + '-readonly', type: "text", value: this.computedDisplayValue, readOnly: true, class: "readonly-input", "aria-readonly": "true", "aria-label": this.label, "aria-describedby": this.error
|
|
5787
6258
|
? `${this.selectId}-error`
|
|
5788
|
-
: `${this.selectId}-description` })), hAsync("select", { key: '
|
|
6259
|
+
: `${this.selectId}-description` })), hAsync("select", { key: '62715b40d36a97243f3126238bb89cf99bfa697a', id: this.selectId, ref: el => (this.selectElement = el), name: this.name, disabled: this.disabled, required: this.required, multiple: this.multiple, onChange: this.handleSelectChange, class: this.internalReadonly ? 'hidden' : '', "aria-label": this.label, "aria-describedby": this.error
|
|
5789
6260
|
? `${this.selectId}-error`
|
|
5790
|
-
: `${this.selectId}-description` }, hAsync("slot", { key: '
|
|
5791
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
5792
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
6261
|
+
: `${this.selectId}-description` }, hAsync("slot", { key: '48005aa82e831392898795ce1bf84f6ae62ebbae' })), this.internalReadonly && (hAsync("nv-icon", { key: 'b708946069c6ae49bd56910efaa246757d5c9aa6', name: "chevron-down", class: "readonly-icon", size: "sm" })), this.error && (hAsync("nv-icon", { key: '43b4b0a27420de9fa357783cea4dfc3755dad51a', name: "alert-circle", class: "validation", size: "sm" })), this.success && (hAsync("nv-icon", { key: 'd0607401dffd4bf618acb7af51ff9a21576fb6ec', name: "circle-check", class: "validation", size: "sm" }))), hAsync("slot", { key: 'e90a2d6a6b75e3a85c300c4913cfe68356e09cc5', name: "after-input" })), (this.description ||
|
|
6262
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'ea723eab08cd1c2501719d327b441c4ee5f017c0', class: "description", id: `${this.selectId}-description` }, hAsync("slot", { key: 'eb4ee8a77bef595b8f654ff38debea299f702adc', name: "description" }, this.description))), (this.errorDescription ||
|
|
6263
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '3177ab730cb80127e12e807db80574dd777a2a99', class: "error-description", id: `${this.selectId}-error` }, hAsync("slot", { key: '5e3c77cb967bfe314c8a492db0c735f40a540a66', name: "error-description" }, this.errorDescription)))));
|
|
5793
6264
|
}
|
|
5794
6265
|
static get formAssociated() { return true; }
|
|
5795
6266
|
get el() { return getElement(this); }
|
|
@@ -5899,9 +6370,9 @@ class NvFieldtext {
|
|
|
5899
6370
|
/****************************************************************************/
|
|
5900
6371
|
//#region RENDER
|
|
5901
6372
|
render() {
|
|
5902
|
-
return (hAsync(Host, { key: '
|
|
5903
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
5904
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
6373
|
+
return (hAsync(Host, { key: 'e225aa4eaca09107049fa32ccf899bce6ee470a7' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'ba7633e59530f2ee1d4705d7d1a9aba41e1b3f35', htmlFor: this.inputId }, hAsync("slot", { key: '2baaf93329a6ccc2272dffa02b5cae183e0df7c5', name: "label" }, this.label))), hAsync("div", { key: 'acb57998333c6f120e8f2767edb5219522cef1b1', class: "input-wrapper" }, hAsync("slot", { key: '9514a67fc44ed12d19a77d7dbe207973c9e2a2e4', name: "before-input" }), hAsync("div", { key: '5ddfe286f746e0a8bb227cb161f136e3accd31d8', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: '468801862e9586bd7c4ced9514e03e564e003751', name: "leading-input" }), hAsync("input", { key: '5fee6340bb6b66fa06459f646528b31e1894493f', id: this.inputId, ref: e => (this.inputElement = e), placeholder: this.placeholder, name: this.name, type: this.type, disabled: this.disabled, readOnly: this.readonly, required: this.required, maxlength: this.maxlength, minlength: this.minlength, pattern: this.pattern, autocomplete: this.autocomplete, multiple: this.multiple, value: this.value, onInput: this.handleInput }), this.error && (hAsync("nv-icon", { key: '29cef781d6815da459d2459749237c2fd8daa3a5', name: "alert-circle", class: "validation", size: "sm" })), this.success && (hAsync("nv-icon", { key: '2d43eed9dd4cfc5545bb001809604903879cbe44', name: "circle-check", class: "validation", size: "sm" }))), hAsync("slot", { key: 'bf438d831e88a0a2a8886c4539c9a294f0276507', name: "after-input" })), (this.description ||
|
|
6374
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '11ead2a09340dc116ed3f6701dcd42cf14393e68', class: "description" }, hAsync("slot", { key: 'a54450d197d3fe5565d64b66899aac0a69fc27be', name: "description" }, this.description))), (this.errorDescription ||
|
|
6375
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'ee77c6e156665ab92ece7d653f2079d841a3ba71', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: 'b8eb5b43f7a7df72b4f278b9b86c0c621642900b', name: "error-description" }, this.errorDescription)))));
|
|
5905
6376
|
}
|
|
5906
6377
|
static get formAssociated() { return true; }
|
|
5907
6378
|
get el() { return getElement(this); }
|
|
@@ -5966,7 +6437,7 @@ class NvFieldtextarea {
|
|
|
5966
6437
|
};
|
|
5967
6438
|
this.message = undefined;
|
|
5968
6439
|
this.validation = undefined;
|
|
5969
|
-
this.
|
|
6440
|
+
this.inputId = v4();
|
|
5970
6441
|
this.label = undefined;
|
|
5971
6442
|
this.description = undefined;
|
|
5972
6443
|
this.placeholder = undefined;
|
|
@@ -6070,9 +6541,9 @@ class NvFieldtextarea {
|
|
|
6070
6541
|
/****************************************************************************/
|
|
6071
6542
|
//#region RENDER
|
|
6072
6543
|
render() {
|
|
6073
|
-
return (hAsync(Host, { key: '
|
|
6074
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
6075
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
6544
|
+
return (hAsync(Host, { key: '535238832a686d98bed7a743ba994515be7fa43b' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'ee8ee83154d8ebd436f697fb69235ad431aed0fd', htmlFor: this.inputId }, hAsync("slot", { key: 'cf261fdd000fb29094888419a51f82dfa3fd8648', name: "label" }, this.label))), hAsync("div", { key: '4b0573cf4c17e9a7c1ef2ff7ab4d1d08fe3e4848', class: "textarea-wrapper" }, hAsync("div", { key: '36817cc56f30858fd5c4d2fe0acb29ebcbcaa2b8', class: "textarea-container", onClick: this.handleTextareaContainerClick }, hAsync("textarea", { key: '6586b1d3dd17b29edccb96e556b6d01b721025b5', id: this.inputId, ref: e => (this.textareaElement = e), placeholder: this.placeholder, name: this.name, disabled: this.disabled, readOnly: this.readonly, required: this.required, maxlength: this.maxlength, minlength: this.minlength, autocomplete: "off", value: this.value, onInput: this.handleTextarea, rows: this.rows, class: clsx(this.getResize()) }))), (this.description ||
|
|
6545
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '068a1b72b760fed02ef647a866016ff6a39ed8e8', class: "description" }, hAsync("slot", { key: '2d8e34b3c44a5ca3943dadbe91a98efdfc9e1df2', name: "description" }, this.description))), (this.errorDescription ||
|
|
6546
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '35fea730fcc254764c545f275298d3b03917b608', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '58e300e380166c82e9857aa9d2929bdd11d798bf', name: "error-description" }, this.errorDescription)))));
|
|
6076
6547
|
}
|
|
6077
6548
|
static get formAssociated() { return true; }
|
|
6078
6549
|
get el() { return getElement(this); }
|
|
@@ -6087,7 +6558,7 @@ class NvFieldtextarea {
|
|
|
6087
6558
|
"$members$": {
|
|
6088
6559
|
"message": [1],
|
|
6089
6560
|
"validation": [1],
|
|
6090
|
-
"
|
|
6561
|
+
"inputId": [513, "input-id"],
|
|
6091
6562
|
"label": [513],
|
|
6092
6563
|
"description": [1537],
|
|
6093
6564
|
"placeholder": [513],
|
|
@@ -6107,7 +6578,7 @@ class NvFieldtextarea {
|
|
|
6107
6578
|
},
|
|
6108
6579
|
"$listeners$": undefined,
|
|
6109
6580
|
"$lazyBundleId$": "-",
|
|
6110
|
-
"$attrsToReflect$": [["
|
|
6581
|
+
"$attrsToReflect$": [["inputId", "input-id"], ["label", "label"], ["description", "description"], ["placeholder", "placeholder"], ["name", "name"], ["value", "value"], ["disabled", "disabled"], ["readonly", "readonly"], ["required", "required"], ["error", "error"], ["errorDescription", "error-description"], ["success", "success"], ["maxlength", "maxlength"], ["minlength", "minlength"], ["rows", "rows"], ["resize", "resize"], ["autosize", "autosize"]]
|
|
6111
6582
|
}; }
|
|
6112
6583
|
}
|
|
6113
6584
|
|
|
@@ -6158,8 +6629,8 @@ class NvFieldtoggle {
|
|
|
6158
6629
|
}
|
|
6159
6630
|
/********************************* RENDER ***********************************/
|
|
6160
6631
|
render() {
|
|
6161
|
-
return (hAsync(Host, { key: '
|
|
6162
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
6632
|
+
return (hAsync(Host, { key: '3ea68d4cbec4bc0de00705d5b4dbf4a42316319b', class: clsx(this.labelPlacement === 'before' && 'label-placement-before') }, hAsync("div", { key: 'cef0c3c3919f7248cc9870dbd2363cba85d2b038', class: "input-container" }, hAsync("input", { key: '74d23f8ee6ed6fd7fb91dd5d233515970ac7ceed', type: "checkbox", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly })), hAsync("div", { key: '09a4f4c7fce473f4bb40a35f09e52a64d2dcf1d7', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '8bd7591d0c24613aa4b8c590e1bdec1b2e722042', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, hAsync("slot", { key: '404b6150ec81bcb651ac45c8ca5b2017c1805f49', name: "label" }, this.label))), (this.description ||
|
|
6633
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '464d5965f59fb70656e918f5808146d247b86b33', class: "description" }, hAsync("slot", { key: '6d0445706d47cffbd7ec80799d11f2eae048652f', name: "description" }, this.description))))));
|
|
6163
6634
|
}
|
|
6164
6635
|
get el() { return getElement(this); }
|
|
6165
6636
|
static get watchers() { return {
|
|
@@ -6237,7 +6708,7 @@ class NvIcon {
|
|
|
6237
6708
|
//#region RENDER
|
|
6238
6709
|
render() {
|
|
6239
6710
|
//const iconSprite = getAssetPath('assets/icon-sprite.svg');
|
|
6240
|
-
return (hAsync(Host, { key: '
|
|
6711
|
+
return (hAsync(Host, { key: 'aa3f7b43ad5884ad7cde113d0628f7189d791a21', class: clsx(this.color && `${this.color}`), role: "img", "aria-label": `${this.name}-icon` }, hAsync("svg", { key: '4b8b9ecc37fb1d420bc6c4dd03d0e190c1b7565a', stroke: "currentColor", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: `nv-icon-${this.size}` }, hAsync("use", { key: '14ebb2c282fb36c1dea48fc2fe6be4b537e0855c', href: `${this.spriteUrl}#${this.name}` }))));
|
|
6241
6712
|
}
|
|
6242
6713
|
static get style() { return NvIconStyle0; }
|
|
6243
6714
|
static get cmpMeta() { return {
|
|
@@ -6334,7 +6805,7 @@ class NvIconbutton {
|
|
|
6334
6805
|
/****************************************************************************/
|
|
6335
6806
|
//#region RENDER
|
|
6336
6807
|
render() {
|
|
6337
|
-
return (hAsync(Host, { key: '
|
|
6808
|
+
return (hAsync(Host, { key: '50d222f7466955415b3f14d23661cea99cac11d3', role: "button", type: this.type, tabindex: "0", disabled: this.disabled ? true : undefined, class: clsx('root', `size-${this.size}`, `emphasis-${this.emphasis}`, this.loading && 'loading', `shape-${this.shape}`), onClick: this.handleClick }, this.loading && hAsync("nv-loader", { key: '53956bced12f2fa88bd8a1c53edef08df06b03c6', size: this.size }), !this.loading && hAsync("nv-icon", { key: '802248d952f0724dcb8f9e22821d270a01c52800', name: this.name, size: this.size }), hAsync("slot", { key: '3429a4dfaa3d683a23c0b18770a8caf0bfb26726' })));
|
|
6338
6809
|
}
|
|
6339
6810
|
static get formAssociated() { return true; }
|
|
6340
6811
|
get el() { return getElement(this); }
|
|
@@ -6376,7 +6847,7 @@ class NvLoader {
|
|
|
6376
6847
|
//#region RENDER
|
|
6377
6848
|
/* <slot> empty to force rendering change */
|
|
6378
6849
|
render() {
|
|
6379
|
-
return (hAsync(Host, { key: '
|
|
6850
|
+
return (hAsync(Host, { key: '1b1c99d9d22aabedb2037b67fe277c679b0c9cb9', class: clsx(this.size && `size-${this.size}`, this.color && `color-${this.color}`) }));
|
|
6380
6851
|
}
|
|
6381
6852
|
static get style() { return NvLoaderStyle0; }
|
|
6382
6853
|
static get cmpMeta() { return {
|
|
@@ -6570,7 +7041,7 @@ class NvMenu {
|
|
|
6570
7041
|
/****************************************************************************/
|
|
6571
7042
|
//#region RENDER
|
|
6572
7043
|
render() {
|
|
6573
|
-
return (hAsync(Host, { key: '
|
|
7044
|
+
return (hAsync(Host, { key: '7a68c75f464a73f44ca5e9b586f14074f8997ef7' }, hAsync("slot", { key: '844e291a25b0761e00b3d491fca937b652d9289b', name: "trigger" }), hAsync("nv-popover", { key: 'cb231870f62e952483ee32fe07e92c03dfa18acf', ref: el => (this.popoverElement = el), triggerMode: "click", triggerElement: this.triggerElement, placement: this.placement, nested: this.nested, open: this.open }, hAsync("slot", { key: 'b59e6458addf054a4ef370a50498bb6620676166', name: "content" }))));
|
|
6574
7045
|
}
|
|
6575
7046
|
get el() { return getElement(this); }
|
|
6576
7047
|
static get style() { return NvMenuStyle0; }
|
|
@@ -8958,7 +9429,7 @@ class NvPopover {
|
|
|
8958
9429
|
/****************************************************************************/
|
|
8959
9430
|
//#region RENDER
|
|
8960
9431
|
render() {
|
|
8961
|
-
return (hAsync(Host, { key: '
|
|
9432
|
+
return (hAsync(Host, { key: '4af33bb11f90830320677d0c7e9d1c7e6e6fe3e4' }, hAsync("slot", { key: '7c1a62939502345813b4f2c9b33f4a9d3bbb6f4e', name: "trigger" }), hAsync("div", { key: '52c93de45bcb3411e75414604d71f5f28ead7450', "data-scope": "popover", hidden: true, ref: el => (this.popoverElement = el) }, this.hasArrow && (hAsync("div", { key: 'd12fde333309d12224c5bf0a4959c9549396755b', "data-scope": "arrow", ref: el => (this.arrowElement = el) })), hAsync("slot", { key: '8c8475dd19a1373d5bdd3f679a241e5e0accb5a1', name: "content" }))));
|
|
8962
9433
|
}
|
|
8963
9434
|
get el() { return getElement(this); }
|
|
8964
9435
|
static get watchers() { return {
|
|
@@ -9003,7 +9474,7 @@ class NvRow {
|
|
|
9003
9474
|
/****************************************************************************/
|
|
9004
9475
|
//#region RENDER
|
|
9005
9476
|
render() {
|
|
9006
|
-
return (hAsync(Host, { key: '
|
|
9477
|
+
return (hAsync(Host, { key: '0509e4652dd679fbfb5b4eadb3aaef8979d879e7' }, hAsync("slot", { key: '75a3a0b83eec4f573a3e54340b3679dc8f529fda' })));
|
|
9007
9478
|
}
|
|
9008
9479
|
static get style() { return NvRowStyle0; }
|
|
9009
9480
|
static get cmpMeta() { return {
|
|
@@ -9036,7 +9507,7 @@ class NvStack {
|
|
|
9036
9507
|
/****************************************************************************/
|
|
9037
9508
|
//#region RENDER
|
|
9038
9509
|
render() {
|
|
9039
|
-
return (hAsync(Host, { key: '
|
|
9510
|
+
return (hAsync(Host, { key: 'c644c9312f247c75b8eecc0903fb16d36e9ed4e5', class: clsx(this.fill && 'nv-stack-fill', this.flex && 'nv-stack-flex', this.full && 'w-full', this.gutter && !this.vertical && `gutter-x-${this.gutter}`, this.gutter && this.vertical && `gutter-y-${this.gutter}`, this.vertical && 'nv-stack-vertical') }, hAsync("slot", { key: '654459698308057e20afc68fc046364cd32c2512' })));
|
|
9040
9511
|
}
|
|
9041
9512
|
static get style() { return NvStackStyle0; }
|
|
9042
9513
|
static get cmpMeta() { return {
|
|
@@ -9081,7 +9552,7 @@ class NvTooltip {
|
|
|
9081
9552
|
/****************************************************************************/
|
|
9082
9553
|
//#region RENDER
|
|
9083
9554
|
render() {
|
|
9084
|
-
return (hAsync(Host, { key: '
|
|
9555
|
+
return (hAsync(Host, { key: '46f64d21b9d3b2b69b46e9c1314d1f23594b1475' }, hAsync("slot", { key: '92264616d33e8cea569b86e03108680a9cd77ce6' }), hAsync("nv-popover", { key: '23eabf680f27fcdd0eb924bd48cadcd88e057f6f', triggerMode: "hover", hasArrow: true, placement: this.placement, triggerElement: this.triggerElement, groupName: 'tooltip', enterDelay: this.enterDelay }, hAsync("p", { key: 'e61c681be642de5a1a4dd113c809bf3939970141', slot: "content" }, this.message), hAsync("slot", { key: 'bd44dcd5180244856cab6df5840e6c8bb2c07e32', name: "content" }))));
|
|
9085
9556
|
}
|
|
9086
9557
|
get el() { return getElement(this); }
|
|
9087
9558
|
static get style() { return NvTooltipStyle0; }
|
|
@@ -9100,6 +9571,7 @@ class NvTooltip {
|
|
|
9100
9571
|
}
|
|
9101
9572
|
|
|
9102
9573
|
registerComponents([
|
|
9574
|
+
NVFieldDropDown,
|
|
9103
9575
|
NvAlert,
|
|
9104
9576
|
NvAvatar,
|
|
9105
9577
|
NvBadge,
|
|
@@ -9107,6 +9579,7 @@ registerComponents([
|
|
|
9107
9579
|
NvButton,
|
|
9108
9580
|
NvCol,
|
|
9109
9581
|
NvFieldcheckbox,
|
|
9582
|
+
NvFielddropdownitem,
|
|
9110
9583
|
NvFieldnumber,
|
|
9111
9584
|
NvFieldpassword,
|
|
9112
9585
|
NvFieldradio,
|
|
@@ -9237,7 +9710,7 @@ var NAMESPACE = (
|
|
|
9237
9710
|
);
|
|
9238
9711
|
|
|
9239
9712
|
/*
|
|
9240
|
-
Stencil Hydrate Runner v4.22.
|
|
9713
|
+
Stencil Hydrate Runner v4.22.3 | MIT Licensed | https://stenciljs.com
|
|
9241
9714
|
*/
|
|
9242
9715
|
var __defProp = Object.defineProperty;
|
|
9243
9716
|
var __export = (target, all) => {
|
|
@@ -21210,6 +21683,9 @@ var MockAnchorElement = class extends MockHTMLElement {
|
|
|
21210
21683
|
this.setAttribute("href", value);
|
|
21211
21684
|
}
|
|
21212
21685
|
get pathname() {
|
|
21686
|
+
if (!this.href) {
|
|
21687
|
+
return "";
|
|
21688
|
+
}
|
|
21213
21689
|
return new URL(this.href).pathname;
|
|
21214
21690
|
}
|
|
21215
21691
|
};
|