@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.mjs
CHANGED
|
@@ -124,7 +124,7 @@ function hydrateFactory($stencilWindow, $stencilHydrateOpts, $stencilHydrateResu
|
|
|
124
124
|
|
|
125
125
|
|
|
126
126
|
const NAMESPACE = 'native';
|
|
127
|
-
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:
|
|
127
|
+
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 };
|
|
128
128
|
|
|
129
129
|
// Prevents the dev components from being bundled in production as a component
|
|
130
130
|
if (Build.isDev) {
|
|
@@ -132,7 +132,7 @@ if (Build.isDev) {
|
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
/*
|
|
135
|
-
Stencil Hydrate Platform v4.22.
|
|
135
|
+
Stencil Hydrate Platform v4.22.3 | MIT Licensed | https://stenciljs.com
|
|
136
136
|
*/
|
|
137
137
|
var __defProp = Object.defineProperty;
|
|
138
138
|
var __export = (target, all) => {
|
|
@@ -566,11 +566,13 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
|
|
|
566
566
|
const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
|
|
567
567
|
styleContainerNode.insertBefore(styleElm, referenceNode2);
|
|
568
568
|
} else if ("host" in styleContainerNode) {
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
existingStyleContainer
|
|
572
|
-
|
|
573
|
-
|
|
569
|
+
{
|
|
570
|
+
const existingStyleContainer = styleContainerNode.querySelector("style");
|
|
571
|
+
if (existingStyleContainer) {
|
|
572
|
+
existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
|
|
573
|
+
} else {
|
|
574
|
+
styleContainerNode.prepend(styleElm);
|
|
575
|
+
}
|
|
574
576
|
}
|
|
575
577
|
} else {
|
|
576
578
|
styleContainerNode.append(styleElm);
|
|
@@ -1455,23 +1457,23 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1455
1457
|
var _a, _b;
|
|
1456
1458
|
const prototype = Cstr.prototype;
|
|
1457
1459
|
if (cmpMeta.$flags$ & 64 /* formAssociated */ && flags & 1 /* isElementConstructor */) {
|
|
1458
|
-
FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS.forEach(
|
|
1459
|
-
|
|
1460
|
+
FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS.forEach((cbName) => {
|
|
1461
|
+
Object.defineProperty(prototype, cbName, {
|
|
1460
1462
|
value(...args) {
|
|
1461
1463
|
const hostRef = getHostRef(this);
|
|
1462
1464
|
const instance = hostRef.$lazyInstance$ ;
|
|
1463
1465
|
if (!instance) {
|
|
1464
|
-
hostRef.$onReadyPromise$.then((
|
|
1465
|
-
const cb =
|
|
1466
|
-
typeof cb === "function" && cb.call(
|
|
1466
|
+
hostRef.$onReadyPromise$.then((asyncInstance) => {
|
|
1467
|
+
const cb = asyncInstance[cbName];
|
|
1468
|
+
typeof cb === "function" && cb.call(asyncInstance, ...args);
|
|
1467
1469
|
});
|
|
1468
1470
|
} else {
|
|
1469
|
-
const cb = instance[cbName];
|
|
1471
|
+
const cb = instance[cbName] ;
|
|
1470
1472
|
typeof cb === "function" && cb.call(instance, ...args);
|
|
1471
1473
|
}
|
|
1472
1474
|
}
|
|
1473
|
-
})
|
|
1474
|
-
);
|
|
1475
|
+
});
|
|
1476
|
+
});
|
|
1475
1477
|
}
|
|
1476
1478
|
if (cmpMeta.$members$ || (cmpMeta.$watchers$ || Cstr.watchers)) {
|
|
1477
1479
|
if (Cstr.watchers && !cmpMeta.$watchers$) {
|
|
@@ -1592,6 +1594,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
|
|
|
1592
1594
|
hostRef.$flags$ |= 128 /* isWatchReady */;
|
|
1593
1595
|
}
|
|
1594
1596
|
endNewInstance();
|
|
1597
|
+
fireConnectedCallback(hostRef.$lazyInstance$);
|
|
1595
1598
|
} else {
|
|
1596
1599
|
Cstr = elm.constructor;
|
|
1597
1600
|
const cmpTag = elm.localName;
|
|
@@ -1619,6 +1622,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
|
|
|
1619
1622
|
}
|
|
1620
1623
|
};
|
|
1621
1624
|
var fireConnectedCallback = (instance) => {
|
|
1625
|
+
{
|
|
1626
|
+
safeCall(instance, "connectedCallback");
|
|
1627
|
+
}
|
|
1622
1628
|
};
|
|
1623
1629
|
|
|
1624
1630
|
// src/runtime/connected-callback.ts
|
|
@@ -1655,8 +1661,10 @@ var connectedCallback = (elm) => {
|
|
|
1655
1661
|
}
|
|
1656
1662
|
} else {
|
|
1657
1663
|
addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
|
|
1658
|
-
if (hostRef == null ? void 0 : hostRef.$lazyInstance$)
|
|
1659
|
-
hostRef.$
|
|
1664
|
+
if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
|
|
1665
|
+
fireConnectedCallback(hostRef.$lazyInstance$);
|
|
1666
|
+
} else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
|
|
1667
|
+
hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));
|
|
1660
1668
|
}
|
|
1661
1669
|
}
|
|
1662
1670
|
endConnected();
|
|
@@ -2250,6 +2258,462 @@ var Build = {
|
|
|
2250
2258
|
};
|
|
2251
2259
|
var styles = /* @__PURE__ */ new Map();
|
|
2252
2260
|
|
|
2261
|
+
/**
|
|
2262
|
+
* Convert array of 16 byte values to UUID string format of the form:
|
|
2263
|
+
* XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
|
2264
|
+
*/
|
|
2265
|
+
var byteToHex = [];
|
|
2266
|
+
for (var i = 0; i < 256; ++i) {
|
|
2267
|
+
byteToHex.push((i + 0x100).toString(16).slice(1));
|
|
2268
|
+
}
|
|
2269
|
+
function unsafeStringify(arr, offset = 0) {
|
|
2270
|
+
// Note: Be careful editing this code! It's been tuned for performance
|
|
2271
|
+
// and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
|
|
2272
|
+
//
|
|
2273
|
+
// Note to future-self: No, you can't remove the `toLowerCase()` call.
|
|
2274
|
+
// REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351
|
|
2275
|
+
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();
|
|
2276
|
+
}
|
|
2277
|
+
|
|
2278
|
+
// Unique ID creation requires a high quality random # generator. In the browser we therefore
|
|
2279
|
+
// require the crypto API and do not support built-in fallback to lower quality random number
|
|
2280
|
+
// generators (like Math.random()).
|
|
2281
|
+
|
|
2282
|
+
var getRandomValues;
|
|
2283
|
+
var rnds8 = new Uint8Array(16);
|
|
2284
|
+
function rng() {
|
|
2285
|
+
// lazy load so that environments that need to polyfill have a chance to do so
|
|
2286
|
+
if (!getRandomValues) {
|
|
2287
|
+
// getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
|
|
2288
|
+
getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
|
|
2289
|
+
if (!getRandomValues) {
|
|
2290
|
+
throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
|
|
2291
|
+
}
|
|
2292
|
+
}
|
|
2293
|
+
return getRandomValues(rnds8);
|
|
2294
|
+
}
|
|
2295
|
+
|
|
2296
|
+
var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
|
|
2297
|
+
var native = {
|
|
2298
|
+
randomUUID
|
|
2299
|
+
};
|
|
2300
|
+
|
|
2301
|
+
function v4(options, buf, offset) {
|
|
2302
|
+
if (native.randomUUID && !buf && !options) {
|
|
2303
|
+
return native.randomUUID();
|
|
2304
|
+
}
|
|
2305
|
+
options = options || {};
|
|
2306
|
+
var rnds = options.random || (options.rng || rng)();
|
|
2307
|
+
|
|
2308
|
+
// Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
|
|
2309
|
+
rnds[6] = rnds[6] & 0x0f | 0x40;
|
|
2310
|
+
rnds[8] = rnds[8] & 0x3f | 0x80;
|
|
2311
|
+
|
|
2312
|
+
// Copy bytes to buffer, if provided
|
|
2313
|
+
if (buf) {
|
|
2314
|
+
offset = offset || 0;
|
|
2315
|
+
for (var i = 0; i < 16; ++i) {
|
|
2316
|
+
buf[offset + i] = rnds[i];
|
|
2317
|
+
}
|
|
2318
|
+
return buf;
|
|
2319
|
+
}
|
|
2320
|
+
return unsafeStringify(rnds);
|
|
2321
|
+
}
|
|
2322
|
+
|
|
2323
|
+
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)}";
|
|
2324
|
+
var NvFielddropdownStyle0 = nvFielddropdownCss;
|
|
2325
|
+
|
|
2326
|
+
/**
|
|
2327
|
+
* @slot content - Use a <ul></ul> tag for the slot, and place <nv-dropdownitem> elements inside.
|
|
2328
|
+
* @slot leading-input - Content to be placed before the input text, within the input container.
|
|
2329
|
+
* @slot before-input - Content to be placed before the input text, outside the input container.
|
|
2330
|
+
* @slot after-input - Content to be placed after the input text, outside the input container.
|
|
2331
|
+
* @slot label - Content to be placed as the label, will override the label prop.
|
|
2332
|
+
* @slot description - Content to be placed as the description, will override the description prop.
|
|
2333
|
+
* @slot error-description - Content to be placed as the error description, will override the errorDescription prop.
|
|
2334
|
+
*/
|
|
2335
|
+
class NVFieldDropDown {
|
|
2336
|
+
constructor(hostRef) {
|
|
2337
|
+
registerInstance(this, hostRef);
|
|
2338
|
+
this.dropdownItemSelected = createEvent(this, "dropdownItemSelected", 7);
|
|
2339
|
+
this.valueChanged = createEvent(this, "valueChanged", 7);
|
|
2340
|
+
/**
|
|
2341
|
+
* Handle click on the input container.
|
|
2342
|
+
* @param {MouseEvent} event - The click event.
|
|
2343
|
+
*/
|
|
2344
|
+
this.handleInputContainerClick = (event) => {
|
|
2345
|
+
if (this.disabled || this.readonly) {
|
|
2346
|
+
return; // Do nothing if the dropdown is disabled or read-only
|
|
2347
|
+
}
|
|
2348
|
+
const target = event.target;
|
|
2349
|
+
// Check if it is the paragraph or another part of the container
|
|
2350
|
+
if (target.tagName === 'P' || target.tagName === 'SPAN') {
|
|
2351
|
+
this.open = true;
|
|
2352
|
+
this.popoverElement.show();
|
|
2353
|
+
// Simulate focus to trigger "focus-within" style
|
|
2354
|
+
const inputContainer = this.el.querySelector('.input-container');
|
|
2355
|
+
if (inputContainer) {
|
|
2356
|
+
inputContainer.classList.add('focus-within');
|
|
2357
|
+
// Remove the "focus-within" class after a delay or when the popover is closed
|
|
2358
|
+
const removeFocusWithin = () => {
|
|
2359
|
+
inputContainer.classList.remove('focus-within');
|
|
2360
|
+
};
|
|
2361
|
+
// Or remove the class when the popover is closed
|
|
2362
|
+
this.popoverElement.addEventListener('hide', removeFocusWithin);
|
|
2363
|
+
}
|
|
2364
|
+
}
|
|
2365
|
+
};
|
|
2366
|
+
/**
|
|
2367
|
+
* Handle input change.
|
|
2368
|
+
* @param {Event} event - The input event.
|
|
2369
|
+
*/
|
|
2370
|
+
this.handleInput = (event) => {
|
|
2371
|
+
if (!this.filterable)
|
|
2372
|
+
return; // Do not filter if `filterable` is false
|
|
2373
|
+
if (this.disabled || this.readonly) {
|
|
2374
|
+
return; // Do not toggle the state if the dropdown is disabled or read-only
|
|
2375
|
+
}
|
|
2376
|
+
const input = event.target;
|
|
2377
|
+
this.filterText = input.value.toLowerCase();
|
|
2378
|
+
this.value = input.value; // Update the value
|
|
2379
|
+
this.valueChanged.emit(input.value); // Emit an event if needed
|
|
2380
|
+
this.filterItems(); // Update the visibility of items
|
|
2381
|
+
};
|
|
2382
|
+
/**
|
|
2383
|
+
* Handle input focus.
|
|
2384
|
+
*/
|
|
2385
|
+
this.handleInputFocus = () => {
|
|
2386
|
+
if (this.disabled || this.readonly) {
|
|
2387
|
+
return; // Do not toggle the state if the dropdown is disabled or read-only
|
|
2388
|
+
}
|
|
2389
|
+
this.open = true; // Force the popover to open
|
|
2390
|
+
};
|
|
2391
|
+
/**
|
|
2392
|
+
* Handle input blur.
|
|
2393
|
+
*/
|
|
2394
|
+
this.handleInputBlur = () => {
|
|
2395
|
+
// Use a delay to check if the focus is still within the popover
|
|
2396
|
+
setTimeout(() => {
|
|
2397
|
+
if (!this.el.contains(document.activeElement)) {
|
|
2398
|
+
this.open = false;
|
|
2399
|
+
this.popoverElement.hide(); // Close the popover if the focus is outside the component
|
|
2400
|
+
}
|
|
2401
|
+
}, 150);
|
|
2402
|
+
};
|
|
2403
|
+
/**
|
|
2404
|
+
* Toggle the dropdown popover.
|
|
2405
|
+
* @returns {void}
|
|
2406
|
+
*/
|
|
2407
|
+
this.togglePopover = () => {
|
|
2408
|
+
if (this.disabled || this.readonly) {
|
|
2409
|
+
return; // Do not toggle if disabled or read-only
|
|
2410
|
+
}
|
|
2411
|
+
this.open = !this.open;
|
|
2412
|
+
if (this.open) {
|
|
2413
|
+
this.popoverElement.show();
|
|
2414
|
+
// Si le dropdown n'est pas filtrable, focus sur le premier élément
|
|
2415
|
+
if (!this.filterable) {
|
|
2416
|
+
this.focusFirstItem();
|
|
2417
|
+
}
|
|
2418
|
+
}
|
|
2419
|
+
else {
|
|
2420
|
+
this.popoverElement.hide();
|
|
2421
|
+
}
|
|
2422
|
+
};
|
|
2423
|
+
this.inputId = v4();
|
|
2424
|
+
this.label = undefined;
|
|
2425
|
+
this.description = undefined;
|
|
2426
|
+
this.placeholder = undefined;
|
|
2427
|
+
this.name = undefined;
|
|
2428
|
+
this.open = false;
|
|
2429
|
+
this.autocomplete = 'off';
|
|
2430
|
+
this.value = undefined;
|
|
2431
|
+
this.required = false;
|
|
2432
|
+
this.error = false;
|
|
2433
|
+
this.errorDescription = undefined;
|
|
2434
|
+
this.readonly = false;
|
|
2435
|
+
this.disabled = false;
|
|
2436
|
+
this.emptyresult = 'No results found';
|
|
2437
|
+
this.filterText = '';
|
|
2438
|
+
this.filterable = false;
|
|
2439
|
+
this.isFilterable = this.filterable;
|
|
2440
|
+
this.selectedValues = new Set();
|
|
2441
|
+
}
|
|
2442
|
+
handleItemSelected(event) {
|
|
2443
|
+
if (this.disabled || this.readonly)
|
|
2444
|
+
return;
|
|
2445
|
+
// Retrieve all nv-fielddropdownitem elements present in the dropdown.
|
|
2446
|
+
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
|
|
2447
|
+
// For each item, remove the 'selected' attribute and the 'selected' class.
|
|
2448
|
+
items.forEach(item => {
|
|
2449
|
+
if (item !== event.target) {
|
|
2450
|
+
item.removeAttribute('selected');
|
|
2451
|
+
item.classList.remove('selected');
|
|
2452
|
+
}
|
|
2453
|
+
});
|
|
2454
|
+
// Update the value and emit the event with the selected item.
|
|
2455
|
+
this.value = event.detail.value;
|
|
2456
|
+
event.target.setAttribute('selected', 'true');
|
|
2457
|
+
event.target.classList.add('selected');
|
|
2458
|
+
this.dropdownItemSelected.emit(event.detail);
|
|
2459
|
+
// Close the popover after selecting.
|
|
2460
|
+
if (this.popoverElement) {
|
|
2461
|
+
this.popoverElement.hide();
|
|
2462
|
+
}
|
|
2463
|
+
}
|
|
2464
|
+
handleOpenChanged(event) {
|
|
2465
|
+
this.open = event.detail; // Update `open` based on the popover state
|
|
2466
|
+
}
|
|
2467
|
+
watchFilterableHandler(newValue) {
|
|
2468
|
+
this.isFilterable = newValue;
|
|
2469
|
+
this.filterable = newValue;
|
|
2470
|
+
}
|
|
2471
|
+
watchValueHandler() {
|
|
2472
|
+
// Handle value change and update the corresponding dropdown item if it exists
|
|
2473
|
+
this.setInitialSelection();
|
|
2474
|
+
}
|
|
2475
|
+
//#endregion EVENTS
|
|
2476
|
+
/****************************************************************************/
|
|
2477
|
+
//#region METHODS
|
|
2478
|
+
/**
|
|
2479
|
+
* Subscribe to click outside event.
|
|
2480
|
+
*/
|
|
2481
|
+
connectedCallback() {
|
|
2482
|
+
document.addEventListener('click', this.handleClickOutside.bind(this));
|
|
2483
|
+
// Handle pre-selection during component initialization
|
|
2484
|
+
this.setInitialSelection();
|
|
2485
|
+
// Apply filtering if the dropdown is filterable and there is a value
|
|
2486
|
+
if (this.filterable && this.value) {
|
|
2487
|
+
this.filterText = this.value.toLowerCase();
|
|
2488
|
+
this.filterItems(); // Update the visibility of items
|
|
2489
|
+
}
|
|
2490
|
+
else {
|
|
2491
|
+
// Ensure all items are visible if no filtering is applied
|
|
2492
|
+
this.resetFilter();
|
|
2493
|
+
}
|
|
2494
|
+
}
|
|
2495
|
+
/**
|
|
2496
|
+
* Set the initial selection based on the current value and update the inputElement value.
|
|
2497
|
+
*/
|
|
2498
|
+
setInitialSelection() {
|
|
2499
|
+
var _a;
|
|
2500
|
+
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
|
|
2501
|
+
const selectedItem = items.find(item => {
|
|
2502
|
+
var _a;
|
|
2503
|
+
return item.getAttribute('label') === this.value ||
|
|
2504
|
+
item.getAttribute('value') === this.value ||
|
|
2505
|
+
((_a = item.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === this.value;
|
|
2506
|
+
});
|
|
2507
|
+
// Remove 'selected' from all items first to reset the state
|
|
2508
|
+
items.forEach(item => {
|
|
2509
|
+
item.removeAttribute('selected');
|
|
2510
|
+
item.classList.remove('selected');
|
|
2511
|
+
});
|
|
2512
|
+
if (selectedItem) {
|
|
2513
|
+
// Add the `selected` attribute and `selected` class for visual styling
|
|
2514
|
+
selectedItem.setAttribute('selected', 'true');
|
|
2515
|
+
selectedItem.classList.add('selected');
|
|
2516
|
+
// Update the value and inputElement value to reflect the pre-selected item
|
|
2517
|
+
this.value =
|
|
2518
|
+
selectedItem.getAttribute('label') ||
|
|
2519
|
+
selectedItem.getAttribute('value') ||
|
|
2520
|
+
((_a = selectedItem.textContent) === null || _a === void 0 ? void 0 : _a.trim()) ||
|
|
2521
|
+
'';
|
|
2522
|
+
if (this.inputElement) {
|
|
2523
|
+
this.inputElement.value = this.value;
|
|
2524
|
+
}
|
|
2525
|
+
}
|
|
2526
|
+
}
|
|
2527
|
+
/**
|
|
2528
|
+
* Unsubscribe from click outside event.
|
|
2529
|
+
*/
|
|
2530
|
+
disconnectedCallback() {
|
|
2531
|
+
document.removeEventListener('click', this.handleClickOutside.bind(this));
|
|
2532
|
+
}
|
|
2533
|
+
/**
|
|
2534
|
+
* Filter dropdown items based on the text entered by the user.
|
|
2535
|
+
* If no items are found, display a message indicating no results.
|
|
2536
|
+
*/
|
|
2537
|
+
filterItems() {
|
|
2538
|
+
var _a;
|
|
2539
|
+
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
|
|
2540
|
+
// Remove the "no results found" item if it exists
|
|
2541
|
+
const existingEmptyItem = this.el.querySelector('nv-fielddropdownitem[data-empty]');
|
|
2542
|
+
if (existingEmptyItem) {
|
|
2543
|
+
existingEmptyItem.remove();
|
|
2544
|
+
}
|
|
2545
|
+
let hasVisibleItems = false;
|
|
2546
|
+
// Iterate over all items and adjust their visibility
|
|
2547
|
+
items.forEach(item => {
|
|
2548
|
+
var _a, _b;
|
|
2549
|
+
const textContent = ((_a = item.textContent) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || ''; // Get the textual content of the slot
|
|
2550
|
+
const value = ((_b = item.value) === null || _b === void 0 ? void 0 : _b.toLowerCase()) || ''; // Get the value of the `value` attribute
|
|
2551
|
+
// Check if the filtered text is present either in the value or in the textual content
|
|
2552
|
+
const shouldShow = value.includes(this.filterText) ||
|
|
2553
|
+
textContent.includes(this.filterText);
|
|
2554
|
+
item.style.display = shouldShow ? '' : 'none'; // Hide or show the item
|
|
2555
|
+
if (shouldShow) {
|
|
2556
|
+
hasVisibleItems = true;
|
|
2557
|
+
}
|
|
2558
|
+
});
|
|
2559
|
+
// If no items are visible, add the "no results found" item
|
|
2560
|
+
if (!hasVisibleItems) {
|
|
2561
|
+
const emptyItem = document.createElement('nv-fielddropdownitem');
|
|
2562
|
+
emptyItem.setAttribute('data-empty', 'true');
|
|
2563
|
+
emptyItem.setAttribute('disabled', 'true');
|
|
2564
|
+
emptyItem.textContent = this.emptyresult;
|
|
2565
|
+
(_a = this.el.querySelector('ul[slot="content"]')) === null || _a === void 0 ? void 0 : _a.appendChild(emptyItem);
|
|
2566
|
+
}
|
|
2567
|
+
}
|
|
2568
|
+
/**
|
|
2569
|
+
* Reset the filter and make all items visible.
|
|
2570
|
+
*/
|
|
2571
|
+
resetFilter() {
|
|
2572
|
+
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
|
|
2573
|
+
items.forEach(item => {
|
|
2574
|
+
item.style.display = '';
|
|
2575
|
+
});
|
|
2576
|
+
}
|
|
2577
|
+
/**
|
|
2578
|
+
* Retrieves the current filter text entered by the user.
|
|
2579
|
+
* @returns {string} The filter text.
|
|
2580
|
+
*/
|
|
2581
|
+
async getFilterText() {
|
|
2582
|
+
return this.filterText;
|
|
2583
|
+
}
|
|
2584
|
+
/**
|
|
2585
|
+
* Handle click outside the component.
|
|
2586
|
+
* @param {MouseEvent} event - The click event.
|
|
2587
|
+
*/
|
|
2588
|
+
handleClickOutside(event) {
|
|
2589
|
+
if (this.el.contains(event.target) ||
|
|
2590
|
+
(this.inputElement && this.inputElement.contains(event.target))) {
|
|
2591
|
+
// If the click is inside the component or on the input, do not close the popover
|
|
2592
|
+
return;
|
|
2593
|
+
}
|
|
2594
|
+
this.popoverElement.hide(); // Close the popover if the click is outside the component
|
|
2595
|
+
}
|
|
2596
|
+
handleKeyDown(event) {
|
|
2597
|
+
if (!this.open) {
|
|
2598
|
+
if (event.key === 'ArrowDown') {
|
|
2599
|
+
this.open = true;
|
|
2600
|
+
this.popoverElement.show();
|
|
2601
|
+
if (!this.filterable) {
|
|
2602
|
+
// Focus sur le premier élément si ce n'est pas filtrable
|
|
2603
|
+
this.focusFirstItem();
|
|
2604
|
+
}
|
|
2605
|
+
event.preventDefault();
|
|
2606
|
+
return;
|
|
2607
|
+
}
|
|
2608
|
+
return;
|
|
2609
|
+
}
|
|
2610
|
+
// Vérifiez si le popover est défini avant de chercher les items
|
|
2611
|
+
if (!this.popoverElement) {
|
|
2612
|
+
console.warn('Popover element is not defined');
|
|
2613
|
+
return;
|
|
2614
|
+
}
|
|
2615
|
+
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem:not([data-empty])'));
|
|
2616
|
+
// Vérifiez si les items existent
|
|
2617
|
+
if (items.length === 0) {
|
|
2618
|
+
console.warn('No dropdown items found to navigate');
|
|
2619
|
+
return;
|
|
2620
|
+
}
|
|
2621
|
+
let currentIndex = items.findIndex(item => item.classList.contains('highlighted'));
|
|
2622
|
+
if (event.key === 'ArrowDown') {
|
|
2623
|
+
event.preventDefault();
|
|
2624
|
+
currentIndex = (currentIndex + 1) % items.length;
|
|
2625
|
+
this.updateHighlightedItem(items, currentIndex);
|
|
2626
|
+
}
|
|
2627
|
+
else if (event.key === 'ArrowUp') {
|
|
2628
|
+
event.preventDefault();
|
|
2629
|
+
currentIndex = (currentIndex - 1 + items.length) % items.length;
|
|
2630
|
+
this.updateHighlightedItem(items, currentIndex);
|
|
2631
|
+
}
|
|
2632
|
+
else if (event.key === 'Enter' && currentIndex >= 0) {
|
|
2633
|
+
event.preventDefault();
|
|
2634
|
+
items[currentIndex].click();
|
|
2635
|
+
}
|
|
2636
|
+
else if (event.key === 'Escape') {
|
|
2637
|
+
event.preventDefault();
|
|
2638
|
+
this.open = false;
|
|
2639
|
+
this.popoverElement.hide();
|
|
2640
|
+
if (this.inputElement) {
|
|
2641
|
+
this.inputElement.blur();
|
|
2642
|
+
}
|
|
2643
|
+
}
|
|
2644
|
+
}
|
|
2645
|
+
updateHighlightedItem(items, index) {
|
|
2646
|
+
items.forEach((item, i) => {
|
|
2647
|
+
if (i === index) {
|
|
2648
|
+
item.classList.add('highlighted');
|
|
2649
|
+
item.setAttribute('tabindex', '0');
|
|
2650
|
+
if (!item.checkVisibility()) {
|
|
2651
|
+
console.log('Item not focused');
|
|
2652
|
+
}
|
|
2653
|
+
item.focus(); // Forcer le focus ici
|
|
2654
|
+
item.scrollIntoView({ block: 'nearest' });
|
|
2655
|
+
}
|
|
2656
|
+
else {
|
|
2657
|
+
item.classList.remove('highlighted');
|
|
2658
|
+
item.setAttribute('tabindex', '-1');
|
|
2659
|
+
}
|
|
2660
|
+
});
|
|
2661
|
+
}
|
|
2662
|
+
focusFirstItem() {
|
|
2663
|
+
const firstItem = this.el.querySelector('nv-fielddropdownitem');
|
|
2664
|
+
if (firstItem) {
|
|
2665
|
+
firstItem.focus();
|
|
2666
|
+
this.updateHighlightedItem(Array.from(this.el.querySelectorAll('nv-fielddropdownitem')), 0);
|
|
2667
|
+
}
|
|
2668
|
+
else {
|
|
2669
|
+
console.warn('No first item found to focus');
|
|
2670
|
+
}
|
|
2671
|
+
}
|
|
2672
|
+
//#endregion METHODS
|
|
2673
|
+
/****************************************************************************/
|
|
2674
|
+
//#region RENDER
|
|
2675
|
+
render() {
|
|
2676
|
+
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 ||
|
|
2677
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '22273a23815f4048dce904b491c7972fce7051fd', class: "description" }, hAsync("slot", { key: '8f8364a20416b5cf20c75e9ead5a2856d1ad307f', name: "description" }, this.description))), (this.errorDescription ||
|
|
2678
|
+
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)))));
|
|
2679
|
+
}
|
|
2680
|
+
static get formAssociated() { return true; }
|
|
2681
|
+
get el() { return getElement(this); }
|
|
2682
|
+
static get watchers() { return {
|
|
2683
|
+
"filterable": ["watchFilterableHandler"],
|
|
2684
|
+
"value": ["watchValueHandler"]
|
|
2685
|
+
}; }
|
|
2686
|
+
static get style() { return NvFielddropdownStyle0; }
|
|
2687
|
+
static get cmpMeta() { return {
|
|
2688
|
+
"$flags$": 68,
|
|
2689
|
+
"$tagName$": "nv-fielddropdown",
|
|
2690
|
+
"$members$": {
|
|
2691
|
+
"inputId": [513, "input-id"],
|
|
2692
|
+
"label": [513],
|
|
2693
|
+
"description": [513],
|
|
2694
|
+
"placeholder": [513],
|
|
2695
|
+
"name": [513],
|
|
2696
|
+
"open": [1540],
|
|
2697
|
+
"autocomplete": [513],
|
|
2698
|
+
"value": [1537],
|
|
2699
|
+
"required": [516],
|
|
2700
|
+
"error": [516],
|
|
2701
|
+
"errorDescription": [513, "error-description"],
|
|
2702
|
+
"readonly": [516],
|
|
2703
|
+
"disabled": [516],
|
|
2704
|
+
"emptyresult": [513],
|
|
2705
|
+
"filterable": [1540],
|
|
2706
|
+
"filterText": [32],
|
|
2707
|
+
"isFilterable": [32],
|
|
2708
|
+
"selectedValues": [32],
|
|
2709
|
+
"getFilterText": [64]
|
|
2710
|
+
},
|
|
2711
|
+
"$listeners$": [[0, "itemSelected", "handleItemSelected"], [0, "openChanged", "handleOpenChanged"], [0, "keydown", "handleKeyDown"]],
|
|
2712
|
+
"$lazyBundleId$": "-",
|
|
2713
|
+
"$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"]]
|
|
2714
|
+
}; }
|
|
2715
|
+
}
|
|
2716
|
+
|
|
2253
2717
|
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}
|
|
2254
2718
|
|
|
2255
2719
|
var FeedbackColors;
|
|
@@ -5011,68 +5475,6 @@ class NvCol {
|
|
|
5011
5475
|
}; }
|
|
5012
5476
|
}
|
|
5013
5477
|
|
|
5014
|
-
/**
|
|
5015
|
-
* Convert array of 16 byte values to UUID string format of the form:
|
|
5016
|
-
* XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
|
5017
|
-
*/
|
|
5018
|
-
var byteToHex = [];
|
|
5019
|
-
for (var i = 0; i < 256; ++i) {
|
|
5020
|
-
byteToHex.push((i + 0x100).toString(16).slice(1));
|
|
5021
|
-
}
|
|
5022
|
-
function unsafeStringify(arr, offset = 0) {
|
|
5023
|
-
// Note: Be careful editing this code! It's been tuned for performance
|
|
5024
|
-
// and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
|
|
5025
|
-
//
|
|
5026
|
-
// Note to future-self: No, you can't remove the `toLowerCase()` call.
|
|
5027
|
-
// REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351
|
|
5028
|
-
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();
|
|
5029
|
-
}
|
|
5030
|
-
|
|
5031
|
-
// Unique ID creation requires a high quality random # generator. In the browser we therefore
|
|
5032
|
-
// require the crypto API and do not support built-in fallback to lower quality random number
|
|
5033
|
-
// generators (like Math.random()).
|
|
5034
|
-
|
|
5035
|
-
var getRandomValues;
|
|
5036
|
-
var rnds8 = new Uint8Array(16);
|
|
5037
|
-
function rng() {
|
|
5038
|
-
// lazy load so that environments that need to polyfill have a chance to do so
|
|
5039
|
-
if (!getRandomValues) {
|
|
5040
|
-
// getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
|
|
5041
|
-
getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
|
|
5042
|
-
if (!getRandomValues) {
|
|
5043
|
-
throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
|
|
5044
|
-
}
|
|
5045
|
-
}
|
|
5046
|
-
return getRandomValues(rnds8);
|
|
5047
|
-
}
|
|
5048
|
-
|
|
5049
|
-
var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
|
|
5050
|
-
var native = {
|
|
5051
|
-
randomUUID
|
|
5052
|
-
};
|
|
5053
|
-
|
|
5054
|
-
function v4(options, buf, offset) {
|
|
5055
|
-
if (native.randomUUID && !buf && !options) {
|
|
5056
|
-
return native.randomUUID();
|
|
5057
|
-
}
|
|
5058
|
-
options = options || {};
|
|
5059
|
-
var rnds = options.random || (options.rng || rng)();
|
|
5060
|
-
|
|
5061
|
-
// Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
|
|
5062
|
-
rnds[6] = rnds[6] & 0x0f | 0x40;
|
|
5063
|
-
rnds[8] = rnds[8] & 0x3f | 0x80;
|
|
5064
|
-
|
|
5065
|
-
// Copy bytes to buffer, if provided
|
|
5066
|
-
if (buf) {
|
|
5067
|
-
offset = offset || 0;
|
|
5068
|
-
for (var i = 0; i < 16; ++i) {
|
|
5069
|
-
buf[offset + i] = rnds[i];
|
|
5070
|
-
}
|
|
5071
|
-
return buf;
|
|
5072
|
-
}
|
|
5073
|
-
return unsafeStringify(rnds);
|
|
5074
|
-
}
|
|
5075
|
-
|
|
5076
5478
|
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}";
|
|
5077
5479
|
var NvFieldcheckboxStyle0 = nvFieldcheckboxCss;
|
|
5078
5480
|
|
|
@@ -5189,6 +5591,75 @@ class NvFieldcheckbox {
|
|
|
5189
5591
|
}; }
|
|
5190
5592
|
}
|
|
5191
5593
|
|
|
5594
|
+
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}";
|
|
5595
|
+
var NvFielddropdownitemStyle0 = nvFielddropdownitemCss;
|
|
5596
|
+
|
|
5597
|
+
/**
|
|
5598
|
+
* @slot default - The content to be displayed inside the dropdown item.
|
|
5599
|
+
*/
|
|
5600
|
+
class NvFielddropdownitem {
|
|
5601
|
+
constructor(hostRef) {
|
|
5602
|
+
registerInstance(this, hostRef);
|
|
5603
|
+
this.itemSelected = createEvent(this, "itemSelected", 7);
|
|
5604
|
+
this.handleClick = () => {
|
|
5605
|
+
if (!this.disabled) {
|
|
5606
|
+
let itemValue = this.value || '';
|
|
5607
|
+
if (!itemValue) {
|
|
5608
|
+
itemValue =
|
|
5609
|
+
Array.from(this.el.childNodes)
|
|
5610
|
+
.map(node => { var _a; return (_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim(); })
|
|
5611
|
+
.filter(text => text && text.length > 0)
|
|
5612
|
+
.join(' ') || '';
|
|
5613
|
+
}
|
|
5614
|
+
this.selected = !this.selected; // Toggle the selected state
|
|
5615
|
+
this.itemSelected.emit({
|
|
5616
|
+
label: this.label,
|
|
5617
|
+
value: itemValue,
|
|
5618
|
+
selected: this.selected,
|
|
5619
|
+
disabled: this.disabled,
|
|
5620
|
+
});
|
|
5621
|
+
}
|
|
5622
|
+
};
|
|
5623
|
+
this.disabled = false;
|
|
5624
|
+
this.selected = false;
|
|
5625
|
+
this.value = undefined;
|
|
5626
|
+
this.label = undefined;
|
|
5627
|
+
}
|
|
5628
|
+
//#endregion EVENTS
|
|
5629
|
+
/****************************************************************************/
|
|
5630
|
+
//#region METHODS
|
|
5631
|
+
/**
|
|
5632
|
+
* Utility function to check if a string is null, empty, or contains only whitespace.
|
|
5633
|
+
* @param {string | null | undefined} input - The string to check.
|
|
5634
|
+
* @returns {boolean} - Returns true if the string is null, empty, or contains only whitespace; otherwise, false.
|
|
5635
|
+
*/
|
|
5636
|
+
isNullOrEmptyOrWhitespace(input) {
|
|
5637
|
+
return !input || input.trim().length === 0;
|
|
5638
|
+
}
|
|
5639
|
+
//#endregion METHODS
|
|
5640
|
+
/****************************************************************************/
|
|
5641
|
+
//#region RENDER
|
|
5642
|
+
render() {
|
|
5643
|
+
const showDefaultLayout = this.isNullOrEmptyOrWhitespace(this.label);
|
|
5644
|
+
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" }))))));
|
|
5645
|
+
}
|
|
5646
|
+
get el() { return getElement(this); }
|
|
5647
|
+
static get style() { return NvFielddropdownitemStyle0; }
|
|
5648
|
+
static get cmpMeta() { return {
|
|
5649
|
+
"$flags$": 4,
|
|
5650
|
+
"$tagName$": "nv-fielddropdownitem",
|
|
5651
|
+
"$members$": {
|
|
5652
|
+
"disabled": [516],
|
|
5653
|
+
"selected": [1540],
|
|
5654
|
+
"value": [513],
|
|
5655
|
+
"label": [513]
|
|
5656
|
+
},
|
|
5657
|
+
"$listeners$": undefined,
|
|
5658
|
+
"$lazyBundleId$": "-",
|
|
5659
|
+
"$attrsToReflect$": [["disabled", "disabled"], ["selected", "selected"], ["value", "value"], ["label", "label"]]
|
|
5660
|
+
}; }
|
|
5661
|
+
}
|
|
5662
|
+
|
|
5192
5663
|
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}";
|
|
5193
5664
|
var NvFieldnumberStyle0 = nvFieldnumberCss;
|
|
5194
5665
|
|
|
@@ -5268,9 +5739,9 @@ class NvFieldnumber {
|
|
|
5268
5739
|
/****************************************************************************/
|
|
5269
5740
|
//#region RENDER
|
|
5270
5741
|
render() {
|
|
5271
|
-
return (hAsync(Host, { key: '
|
|
5272
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
5273
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
5742
|
+
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 ||
|
|
5743
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '0cfe8a2d53663147451a173fc524fd20af5391ba', class: "description" }, hAsync("slot", { key: '99ddab81b68af0835b80a2d7bd5745ccb698da12', name: "description" }, this.description))), (this.errorDescription ||
|
|
5744
|
+
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)))));
|
|
5274
5745
|
}
|
|
5275
5746
|
static get formAssociated() { return true; }
|
|
5276
5747
|
get el() { return getElement(this); }
|
|
@@ -5371,9 +5842,9 @@ class NvFieldpassword {
|
|
|
5371
5842
|
/****************************************************************************/
|
|
5372
5843
|
//#region RENDER
|
|
5373
5844
|
render() {
|
|
5374
|
-
return (hAsync(Host, { key: '
|
|
5375
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
5376
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
5845
|
+
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 ||
|
|
5846
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'e5d33079071a718cafc7b0fc8fde5f9117dda201', class: "description" }, hAsync("slot", { key: '29ea9388ff1d4ec61ae54c13ff34f9101661bc62', name: "description" }, this.description))), (this.errorDescription ||
|
|
5847
|
+
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)))));
|
|
5377
5848
|
}
|
|
5378
5849
|
static get formAssociated() { return true; }
|
|
5379
5850
|
get el() { return getElement(this); }
|
|
@@ -5475,9 +5946,9 @@ class NvFieldradio {
|
|
|
5475
5946
|
/****************************************************************************/
|
|
5476
5947
|
//#region RENDER
|
|
5477
5948
|
render() {
|
|
5478
|
-
return (hAsync(Host, { key: '
|
|
5479
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
5480
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
5949
|
+
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 ||
|
|
5950
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'de70a59d9849648140de4df091d0a6431bbeba66', class: "description" }, hAsync("slot", { key: '297df2dc5e58ede572cb3ebee160d9f13cd3a2d0', name: "description" }, this.description))), (this.errorDescription ||
|
|
5951
|
+
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))))));
|
|
5481
5952
|
}
|
|
5482
5953
|
static get formAssociated() { return true; }
|
|
5483
5954
|
get el() { return getElement(this); }
|
|
@@ -5779,13 +6250,13 @@ class NvFieldselect {
|
|
|
5779
6250
|
* @returns {HTMLStencilElement} The HTML element to render.
|
|
5780
6251
|
*/
|
|
5781
6252
|
render() {
|
|
5782
|
-
return (hAsync(Host, { key: '
|
|
6253
|
+
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
|
|
5783
6254
|
? `${this.selectId}-error`
|
|
5784
|
-
: `${this.selectId}-description` })), hAsync("select", { key: '
|
|
6255
|
+
: `${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
|
|
5785
6256
|
? `${this.selectId}-error`
|
|
5786
|
-
: `${this.selectId}-description` }, hAsync("slot", { key: '
|
|
5787
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
5788
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
6257
|
+
: `${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 ||
|
|
6258
|
+
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 ||
|
|
6259
|
+
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)))));
|
|
5789
6260
|
}
|
|
5790
6261
|
static get formAssociated() { return true; }
|
|
5791
6262
|
get el() { return getElement(this); }
|
|
@@ -5895,9 +6366,9 @@ class NvFieldtext {
|
|
|
5895
6366
|
/****************************************************************************/
|
|
5896
6367
|
//#region RENDER
|
|
5897
6368
|
render() {
|
|
5898
|
-
return (hAsync(Host, { key: '
|
|
5899
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
5900
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
6369
|
+
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 ||
|
|
6370
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '11ead2a09340dc116ed3f6701dcd42cf14393e68', class: "description" }, hAsync("slot", { key: 'a54450d197d3fe5565d64b66899aac0a69fc27be', name: "description" }, this.description))), (this.errorDescription ||
|
|
6371
|
+
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)))));
|
|
5901
6372
|
}
|
|
5902
6373
|
static get formAssociated() { return true; }
|
|
5903
6374
|
get el() { return getElement(this); }
|
|
@@ -5962,7 +6433,7 @@ class NvFieldtextarea {
|
|
|
5962
6433
|
};
|
|
5963
6434
|
this.message = undefined;
|
|
5964
6435
|
this.validation = undefined;
|
|
5965
|
-
this.
|
|
6436
|
+
this.inputId = v4();
|
|
5966
6437
|
this.label = undefined;
|
|
5967
6438
|
this.description = undefined;
|
|
5968
6439
|
this.placeholder = undefined;
|
|
@@ -6066,9 +6537,9 @@ class NvFieldtextarea {
|
|
|
6066
6537
|
/****************************************************************************/
|
|
6067
6538
|
//#region RENDER
|
|
6068
6539
|
render() {
|
|
6069
|
-
return (hAsync(Host, { key: '
|
|
6070
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
6071
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
6540
|
+
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 ||
|
|
6541
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '068a1b72b760fed02ef647a866016ff6a39ed8e8', class: "description" }, hAsync("slot", { key: '2d8e34b3c44a5ca3943dadbe91a98efdfc9e1df2', name: "description" }, this.description))), (this.errorDescription ||
|
|
6542
|
+
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)))));
|
|
6072
6543
|
}
|
|
6073
6544
|
static get formAssociated() { return true; }
|
|
6074
6545
|
get el() { return getElement(this); }
|
|
@@ -6083,7 +6554,7 @@ class NvFieldtextarea {
|
|
|
6083
6554
|
"$members$": {
|
|
6084
6555
|
"message": [1],
|
|
6085
6556
|
"validation": [1],
|
|
6086
|
-
"
|
|
6557
|
+
"inputId": [513, "input-id"],
|
|
6087
6558
|
"label": [513],
|
|
6088
6559
|
"description": [1537],
|
|
6089
6560
|
"placeholder": [513],
|
|
@@ -6103,7 +6574,7 @@ class NvFieldtextarea {
|
|
|
6103
6574
|
},
|
|
6104
6575
|
"$listeners$": undefined,
|
|
6105
6576
|
"$lazyBundleId$": "-",
|
|
6106
|
-
"$attrsToReflect$": [["
|
|
6577
|
+
"$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"]]
|
|
6107
6578
|
}; }
|
|
6108
6579
|
}
|
|
6109
6580
|
|
|
@@ -6154,8 +6625,8 @@ class NvFieldtoggle {
|
|
|
6154
6625
|
}
|
|
6155
6626
|
/********************************* RENDER ***********************************/
|
|
6156
6627
|
render() {
|
|
6157
|
-
return (hAsync(Host, { key: '
|
|
6158
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
6628
|
+
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 ||
|
|
6629
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '464d5965f59fb70656e918f5808146d247b86b33', class: "description" }, hAsync("slot", { key: '6d0445706d47cffbd7ec80799d11f2eae048652f', name: "description" }, this.description))))));
|
|
6159
6630
|
}
|
|
6160
6631
|
get el() { return getElement(this); }
|
|
6161
6632
|
static get watchers() { return {
|
|
@@ -6233,7 +6704,7 @@ class NvIcon {
|
|
|
6233
6704
|
//#region RENDER
|
|
6234
6705
|
render() {
|
|
6235
6706
|
//const iconSprite = getAssetPath('assets/icon-sprite.svg');
|
|
6236
|
-
return (hAsync(Host, { key: '
|
|
6707
|
+
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}` }))));
|
|
6237
6708
|
}
|
|
6238
6709
|
static get style() { return NvIconStyle0; }
|
|
6239
6710
|
static get cmpMeta() { return {
|
|
@@ -6330,7 +6801,7 @@ class NvIconbutton {
|
|
|
6330
6801
|
/****************************************************************************/
|
|
6331
6802
|
//#region RENDER
|
|
6332
6803
|
render() {
|
|
6333
|
-
return (hAsync(Host, { key: '
|
|
6804
|
+
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' })));
|
|
6334
6805
|
}
|
|
6335
6806
|
static get formAssociated() { return true; }
|
|
6336
6807
|
get el() { return getElement(this); }
|
|
@@ -6372,7 +6843,7 @@ class NvLoader {
|
|
|
6372
6843
|
//#region RENDER
|
|
6373
6844
|
/* <slot> empty to force rendering change */
|
|
6374
6845
|
render() {
|
|
6375
|
-
return (hAsync(Host, { key: '
|
|
6846
|
+
return (hAsync(Host, { key: '1b1c99d9d22aabedb2037b67fe277c679b0c9cb9', class: clsx(this.size && `size-${this.size}`, this.color && `color-${this.color}`) }));
|
|
6376
6847
|
}
|
|
6377
6848
|
static get style() { return NvLoaderStyle0; }
|
|
6378
6849
|
static get cmpMeta() { return {
|
|
@@ -6566,7 +7037,7 @@ class NvMenu {
|
|
|
6566
7037
|
/****************************************************************************/
|
|
6567
7038
|
//#region RENDER
|
|
6568
7039
|
render() {
|
|
6569
|
-
return (hAsync(Host, { key: '
|
|
7040
|
+
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" }))));
|
|
6570
7041
|
}
|
|
6571
7042
|
get el() { return getElement(this); }
|
|
6572
7043
|
static get style() { return NvMenuStyle0; }
|
|
@@ -8954,7 +9425,7 @@ class NvPopover {
|
|
|
8954
9425
|
/****************************************************************************/
|
|
8955
9426
|
//#region RENDER
|
|
8956
9427
|
render() {
|
|
8957
|
-
return (hAsync(Host, { key: '
|
|
9428
|
+
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" }))));
|
|
8958
9429
|
}
|
|
8959
9430
|
get el() { return getElement(this); }
|
|
8960
9431
|
static get watchers() { return {
|
|
@@ -8999,7 +9470,7 @@ class NvRow {
|
|
|
8999
9470
|
/****************************************************************************/
|
|
9000
9471
|
//#region RENDER
|
|
9001
9472
|
render() {
|
|
9002
|
-
return (hAsync(Host, { key: '
|
|
9473
|
+
return (hAsync(Host, { key: '0509e4652dd679fbfb5b4eadb3aaef8979d879e7' }, hAsync("slot", { key: '75a3a0b83eec4f573a3e54340b3679dc8f529fda' })));
|
|
9003
9474
|
}
|
|
9004
9475
|
static get style() { return NvRowStyle0; }
|
|
9005
9476
|
static get cmpMeta() { return {
|
|
@@ -9032,7 +9503,7 @@ class NvStack {
|
|
|
9032
9503
|
/****************************************************************************/
|
|
9033
9504
|
//#region RENDER
|
|
9034
9505
|
render() {
|
|
9035
|
-
return (hAsync(Host, { key: '
|
|
9506
|
+
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' })));
|
|
9036
9507
|
}
|
|
9037
9508
|
static get style() { return NvStackStyle0; }
|
|
9038
9509
|
static get cmpMeta() { return {
|
|
@@ -9077,7 +9548,7 @@ class NvTooltip {
|
|
|
9077
9548
|
/****************************************************************************/
|
|
9078
9549
|
//#region RENDER
|
|
9079
9550
|
render() {
|
|
9080
|
-
return (hAsync(Host, { key: '
|
|
9551
|
+
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" }))));
|
|
9081
9552
|
}
|
|
9082
9553
|
get el() { return getElement(this); }
|
|
9083
9554
|
static get style() { return NvTooltipStyle0; }
|
|
@@ -9096,6 +9567,7 @@ class NvTooltip {
|
|
|
9096
9567
|
}
|
|
9097
9568
|
|
|
9098
9569
|
registerComponents([
|
|
9570
|
+
NVFieldDropDown,
|
|
9099
9571
|
NvAlert,
|
|
9100
9572
|
NvAvatar,
|
|
9101
9573
|
NvBadge,
|
|
@@ -9103,6 +9575,7 @@ registerComponents([
|
|
|
9103
9575
|
NvButton,
|
|
9104
9576
|
NvCol,
|
|
9105
9577
|
NvFieldcheckbox,
|
|
9578
|
+
NvFielddropdownitem,
|
|
9106
9579
|
NvFieldnumber,
|
|
9107
9580
|
NvFieldpassword,
|
|
9108
9581
|
NvFieldradio,
|
|
@@ -9233,7 +9706,7 @@ var NAMESPACE = (
|
|
|
9233
9706
|
);
|
|
9234
9707
|
|
|
9235
9708
|
/*
|
|
9236
|
-
Stencil Hydrate Runner v4.22.
|
|
9709
|
+
Stencil Hydrate Runner v4.22.3 | MIT Licensed | https://stenciljs.com
|
|
9237
9710
|
*/
|
|
9238
9711
|
var __defProp = Object.defineProperty;
|
|
9239
9712
|
var __export = (target, all) => {
|
|
@@ -21206,6 +21679,9 @@ var MockAnchorElement = class extends MockHTMLElement {
|
|
|
21206
21679
|
this.setAttribute("href", value);
|
|
21207
21680
|
}
|
|
21208
21681
|
get pathname() {
|
|
21682
|
+
if (!this.href) {
|
|
21683
|
+
return "";
|
|
21684
|
+
}
|
|
21209
21685
|
return new URL(this.href).pathname;
|
|
21210
21686
|
}
|
|
21211
21687
|
};
|