@aquera/nile-elements 2.0.18 → 2.0.19
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/README.md +5 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +404 -385
- package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js +1 -1
- package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js.map +1 -1
- package/dist/nile-breadcrumb/nile-breadcrumb.esm.js +2 -2
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js.map +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.cjs.js +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.cjs.js.map +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.esm.js +14 -2
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.esm.js +4 -4
- package/dist/nile-select/index.cjs.js +1 -1
- package/dist/nile-select/index.esm.js +1 -1
- package/dist/nile-select/nile-select.cjs.js +2 -2
- package/dist/nile-select/nile-select.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.esm.js +1 -1
- package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
- package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
- package/dist/nile-select/virtual-scroll-helper.esm.js +48 -47
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js +4 -4
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.esm.js +2 -2
- package/dist/src/nile-breadcrumb/nile-breadcrumb.d.ts +7 -0
- package/dist/src/nile-breadcrumb/nile-breadcrumb.js +24 -1
- package/dist/src/nile-breadcrumb/nile-breadcrumb.js.map +1 -1
- package/dist/src/nile-breadcrumb/nile-breadcrumb.test.js +51 -0
- package/dist/src/nile-breadcrumb/nile-breadcrumb.test.js.map +1 -1
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.css.js +12 -0
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.css.js.map +1 -1
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.d.ts +5 -0
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.js +9 -0
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.js.map +1 -1
- package/dist/src/nile-select/nile-select.d.ts +1 -0
- package/dist/src/nile-select/nile-select.js +16 -1
- package/dist/src/nile-select/nile-select.js.map +1 -1
- package/dist/src/nile-select/nile-select.test.js +430 -5
- package/dist/src/nile-select/nile-select.test.js.map +1 -1
- package/dist/src/nile-select/virtual-scroll-helper.js +7 -4
- package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +3 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.js +14 -6
- package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.test.js +115 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.test.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-breadcrumb/nile-breadcrumb.test.ts +57 -0
- package/src/nile-breadcrumb/nile-breadcrumb.ts +19 -0
- package/src/nile-breadcrumb-item/nile-breadcrumb-item.css.ts +12 -0
- package/src/nile-breadcrumb-item/nile-breadcrumb-item.ts +7 -0
- package/src/nile-select/nile-select.test.ts +560 -5
- package/src/nile-select/nile-select.ts +21 -1
- package/src/nile-select/virtual-scroll-helper.ts +7 -4
- package/src/nile-virtual-select/nile-virtual-select.test.ts +139 -1
- package/src/nile-virtual-select/nile-virtual-select.ts +17 -6
- package/vscode-html-custom-data.json +39 -14
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { html } from 'lit';
|
|
1
|
+
import { html, noChange, nothing } from 'lit';
|
|
2
|
+
import { guard } from 'lit/directives/guard.js';
|
|
2
3
|
import type NileElement from '../internal/nile-element';
|
|
3
4
|
|
|
4
5
|
/**
|
|
@@ -13,12 +14,14 @@ export class VirtualScrollHelper {
|
|
|
13
14
|
|
|
14
15
|
renderVirtualizedContent(): any {
|
|
15
16
|
const component = this.component as any;
|
|
17
|
+
const tooltipPath = !!component.showTooltip;
|
|
16
18
|
|
|
17
19
|
return html`
|
|
18
20
|
<div class="virtual-select">
|
|
19
21
|
<nile-virtual-select
|
|
20
22
|
.name=${component.name}
|
|
21
23
|
.value=${component.value}
|
|
24
|
+
.maxOptionsVisible=${tooltipPath || !component.maxOptionsVisibleExplicit ? noChange : component.maxOptionsVisible}
|
|
22
25
|
.autoResize=${component.autoResize}
|
|
23
26
|
.showTooltip=${component.showTooltip}
|
|
24
27
|
.chipMinWidth=${component.chipMinWidth}
|
|
@@ -51,7 +54,7 @@ export class VirtualScrollHelper {
|
|
|
51
54
|
.blockValueChange=${component.blockValueChange}
|
|
52
55
|
.noWidthSync=${component.noWidthSync}
|
|
53
56
|
.enableTabClose=${component.enableTabClose}
|
|
54
|
-
.data=${component.data}
|
|
57
|
+
.data=${tooltipPath ? guard([component.data], () => component.data) : component.data}
|
|
55
58
|
.open=${component.open}
|
|
56
59
|
.loading=${component.loading}
|
|
57
60
|
.portal=${component.portal}
|
|
@@ -60,8 +63,8 @@ export class VirtualScrollHelper {
|
|
|
60
63
|
.enableDescription=${component.enableDescription}
|
|
61
64
|
.tickOnSelect=${component.tickOnSelect}
|
|
62
65
|
.legacy=${component.legacy}
|
|
63
|
-
@nile-input=${(e: CustomEvent) => component.syncValueFromVirtualSelect(e)}
|
|
64
|
-
@nile-change=${(e: CustomEvent) => component.syncValueFromVirtualSelect(e)}
|
|
66
|
+
@nile-input=${tooltipPath ? (e: CustomEvent) => component.syncValueFromVirtualSelect(e) : nothing}
|
|
67
|
+
@nile-change=${tooltipPath ? (e: CustomEvent) => component.syncValueFromVirtualSelect(e) : nothing}
|
|
65
68
|
exportparts="
|
|
66
69
|
select-options,
|
|
67
70
|
select-no-results,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aTimeout, expect, fixture, html, nextFrame, waitUntil } from '@open-wc/testing';
|
|
1
|
+
import { aTimeout, expect, fixture, html, nextFrame, oneEvent, waitUntil } from '@open-wc/testing';
|
|
2
2
|
import './nile-virtual-select';
|
|
3
3
|
import '../nile-input/nile-input';
|
|
4
4
|
import type { NileVirtualSelect } from './nile-virtual-select';
|
|
@@ -843,3 +843,141 @@ describe('NileVirtualSelect showtooltip tooltip on sub-pixel truncation', () =>
|
|
|
843
843
|
}
|
|
844
844
|
});
|
|
845
845
|
});
|
|
846
|
+
|
|
847
|
+
|
|
848
|
+
describe('NileVirtualSelect external value while Selected is open', () => {
|
|
849
|
+
const OPTIONS = Array.from({ length: 200 }, (_, i) => ({ value: `option-${i + 1}`, label: `Option ${i + 1}` }));
|
|
850
|
+
let mounted: any;
|
|
851
|
+
|
|
852
|
+
// Let the dropdown finish hiding before the fixture is torn down, so the virtualizer is not still laying out
|
|
853
|
+
// a list that has already been detached.
|
|
854
|
+
afterEach(async () => {
|
|
855
|
+
if (mounted?.open) {
|
|
856
|
+
const hidden = oneEvent(mounted, 'nile-after-hide');
|
|
857
|
+
mounted.open = false;
|
|
858
|
+
await Promise.race([hidden, aTimeout(1500)]);
|
|
859
|
+
await nextFrame();
|
|
860
|
+
await nextFrame();
|
|
861
|
+
}
|
|
862
|
+
mounted = undefined;
|
|
863
|
+
});
|
|
864
|
+
|
|
865
|
+
// Known, pre-existing noise from @lit-labs/virtualizer (a "ResizeObserver loop" notice, and a detached-list error
|
|
866
|
+
// when the visible list swaps between a short and a long data set). The browser raises them as window errors,
|
|
867
|
+
// which would fail whichever test is running; the assertions below still decide pass or fail. The detached-list
|
|
868
|
+
// errors are matched on message AND a `virtualizer` frame in the stack, so the same message from anywhere else
|
|
869
|
+
// still fails the test. "ResizeObserver loop" is a browser notice with no stack.
|
|
870
|
+
const virtualizerErrors = ['ChildPart` has no `parentNode`', "reading 'insertBefore'"];
|
|
871
|
+
let previousOnError: OnErrorEventHandler;
|
|
872
|
+
before(() => {
|
|
873
|
+
previousOnError = window.onerror;
|
|
874
|
+
window.onerror = (message, source, lineno, colno, error) => {
|
|
875
|
+
if (typeof message === 'string') {
|
|
876
|
+
if (message.includes('ResizeObserver loop')) return true;
|
|
877
|
+
if (virtualizerErrors.some(known => message.includes(known)) && error?.stack?.toLowerCase().includes('virtualizer')) {
|
|
878
|
+
return true;
|
|
879
|
+
}
|
|
880
|
+
}
|
|
881
|
+
return previousOnError ? previousOnError.call(window, message, source, lineno, colno, error) : false;
|
|
882
|
+
};
|
|
883
|
+
});
|
|
884
|
+
after(() => {
|
|
885
|
+
window.onerror = previousOnError;
|
|
886
|
+
});
|
|
887
|
+
|
|
888
|
+
async function mount(showTooltip: boolean, value: string[] = ['option-1', 'option-2']) {
|
|
889
|
+
const el = await fixture<NileVirtualSelect>(html`<nile-virtual-select
|
|
890
|
+
multiple
|
|
891
|
+
?showTooltip=${showTooltip}
|
|
892
|
+
.data=${OPTIONS}
|
|
893
|
+
.value=${value}
|
|
894
|
+
></nile-virtual-select>`);
|
|
895
|
+
await el.updateComplete;
|
|
896
|
+
const shown = oneEvent(el, 'nile-after-show');
|
|
897
|
+
(el.shadowRoot!.querySelector('[part="combobox"]') as HTMLElement).dispatchEvent(
|
|
898
|
+
new MouseEvent('mousedown', { bubbles: true, composed: true, button: 0 })
|
|
899
|
+
);
|
|
900
|
+
await shown;
|
|
901
|
+
await aTimeout(50);
|
|
902
|
+
mounted = el;
|
|
903
|
+
return el as any;
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
async function toggleSelected(el: any) {
|
|
907
|
+
(el.shadowRoot.querySelector('.select__footer nile-checkbox') as HTMLElement).click();
|
|
908
|
+
await el.updateComplete;
|
|
909
|
+
await aTimeout(30);
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
// The standalone select has no sized container here, so its options are not laid out; drive the same
|
|
913
|
+
// selection handler the option click uses.
|
|
914
|
+
async function pick(el: any, value: string) {
|
|
915
|
+
el.handleOptionSelection({ value });
|
|
916
|
+
await el.updateComplete;
|
|
917
|
+
await aTimeout(30);
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
const values = (el: any) => el.data.map((item: any) => item.value);
|
|
921
|
+
|
|
922
|
+
it('E1. showtooltip: an external value replace recomputes the Selected list', async () => {
|
|
923
|
+
const el = await mount(true);
|
|
924
|
+
await toggleSelected(el);
|
|
925
|
+
expect(values(el)).to.deep.equal(['option-1', 'option-2']);
|
|
926
|
+
|
|
927
|
+
el.value = ['option-5'];
|
|
928
|
+
await el.updateComplete;
|
|
929
|
+
await aTimeout(30);
|
|
930
|
+
|
|
931
|
+
expect(el.showSelected).to.be.true;
|
|
932
|
+
expect(values(el)).to.deep.equal(['option-5']);
|
|
933
|
+
});
|
|
934
|
+
|
|
935
|
+
it('E2. showtooltip: an external value that adds or removes items follows the Selected list', async () => {
|
|
936
|
+
const el = await mount(true);
|
|
937
|
+
await toggleSelected(el);
|
|
938
|
+
|
|
939
|
+
el.value = ['option-1', 'option-2', 'option-7'];
|
|
940
|
+
await el.updateComplete;
|
|
941
|
+
await aTimeout(30);
|
|
942
|
+
expect(values(el)).to.deep.equal(['option-1', 'option-2', 'option-7']);
|
|
943
|
+
|
|
944
|
+
el.value = ['option-2'];
|
|
945
|
+
await el.updateComplete;
|
|
946
|
+
await aTimeout(30);
|
|
947
|
+
expect(values(el)).to.deep.equal(['option-2']);
|
|
948
|
+
});
|
|
949
|
+
|
|
950
|
+
it('E3. showtooltip: an external empty value leaves the Selected view', async () => {
|
|
951
|
+
const el = await mount(true);
|
|
952
|
+
await toggleSelected(el);
|
|
953
|
+
|
|
954
|
+
el.value = [];
|
|
955
|
+
await el.updateComplete;
|
|
956
|
+
await aTimeout(30);
|
|
957
|
+
|
|
958
|
+
expect(el.showSelected).to.be.false;
|
|
959
|
+
expect(el.data.length).to.equal(200);
|
|
960
|
+
});
|
|
961
|
+
|
|
962
|
+
it('E4. showtooltip: a normal uncheck in the Selected view is not treated as external', async () => {
|
|
963
|
+
const el = await mount(true);
|
|
964
|
+
await toggleSelected(el);
|
|
965
|
+
|
|
966
|
+
await pick(el, 'option-2');
|
|
967
|
+
|
|
968
|
+
expect(el.value).to.deep.equal(['option-1']);
|
|
969
|
+
expect(values(el)).to.deep.equal(['option-1', 'option-2']);
|
|
970
|
+
});
|
|
971
|
+
|
|
972
|
+
it('E5. without showtooltip an external value leaves the Selected list as it was (pre-2.0.9)', async () => {
|
|
973
|
+
const el = await mount(false);
|
|
974
|
+
await toggleSelected(el);
|
|
975
|
+
|
|
976
|
+
el.value = ['option-5'];
|
|
977
|
+
await el.updateComplete;
|
|
978
|
+
await aTimeout(30);
|
|
979
|
+
|
|
980
|
+
expect(el.showSelected).to.be.true;
|
|
981
|
+
expect(values(el)).to.deep.equal(['option-1', 'option-2']);
|
|
982
|
+
});
|
|
983
|
+
});
|
|
@@ -135,9 +135,10 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
135
135
|
/** The name of the select, submitted as a name/value pair with form data. */
|
|
136
136
|
@property() name = '';
|
|
137
137
|
|
|
138
|
-
/** Array of all option items for virtual scrolling */
|
|
139
138
|
@property({ type: Array }) data: any = [];
|
|
140
139
|
|
|
140
|
+
private lastSeenValue: string | string[] | undefined;
|
|
141
|
+
|
|
141
142
|
/** Original unfiltered option items for search functionality */
|
|
142
143
|
@state() private originalOptionItems: any = [];
|
|
143
144
|
|
|
@@ -658,6 +659,15 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
658
659
|
event.preventDefault();
|
|
659
660
|
}
|
|
660
661
|
|
|
662
|
+
/** Narrows `data` to the items that are currently selected (the "Selected" view). */
|
|
663
|
+
private applySelectedFilter(): void {
|
|
664
|
+
const selectedValues = Array.isArray(this.value) ? this.value : [this.value];
|
|
665
|
+
this.data = this.originalOptionItems.filter((item: any) => {
|
|
666
|
+
const itemValue = this.getItemValue(item);
|
|
667
|
+
return selectedValues.some(val => String(val) === String(itemValue));
|
|
668
|
+
});
|
|
669
|
+
}
|
|
670
|
+
|
|
661
671
|
private toggleShowSelected(event: Event): void {
|
|
662
672
|
event.stopPropagation();
|
|
663
673
|
event.preventDefault();
|
|
@@ -668,11 +678,7 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
668
678
|
|
|
669
679
|
if (this.showSelected) {
|
|
670
680
|
this.searchValue = "";
|
|
671
|
-
|
|
672
|
-
this.data = this.originalOptionItems.filter((item: any) => {
|
|
673
|
-
const itemValue = this.getItemValue(item);
|
|
674
|
-
return selectedValues.some(val => String(val) === String(itemValue));
|
|
675
|
-
});
|
|
681
|
+
this.applySelectedFilter();
|
|
676
682
|
} else {
|
|
677
683
|
this.data = [...this.originalOptionItems];
|
|
678
684
|
}
|
|
@@ -859,6 +865,7 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
859
865
|
}
|
|
860
866
|
|
|
861
867
|
private selectionChanged(): void {
|
|
868
|
+
this.lastSeenValue = this.value;
|
|
862
869
|
const itemsToSearch = this.originalOptionItems.length > 0 ? this.originalOptionItems : this.data;
|
|
863
870
|
this.selectedOptions = VirtualSelectSelectionManager.createVirtualOptionsFromValues(
|
|
864
871
|
this.value,
|
|
@@ -1018,7 +1025,11 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
1018
1025
|
|
|
1019
1026
|
@watch('value', { waitUntilFirstUpdate: true })
|
|
1020
1027
|
handleValueChange(): void {
|
|
1028
|
+
const externalValueChange = this.value !== this.lastSeenValue;
|
|
1021
1029
|
this.selectionChanged();
|
|
1030
|
+
if (externalValueChange && this.showTooltip && this.showSelected) {
|
|
1031
|
+
this.applySelectedFilter();
|
|
1032
|
+
}
|
|
1022
1033
|
this.requestUpdate();
|
|
1023
1034
|
|
|
1024
1035
|
// Update body append content if it's active
|
|
@@ -595,18 +595,43 @@
|
|
|
595
595
|
},
|
|
596
596
|
{
|
|
597
597
|
"name": "nile-breadcrumb-item",
|
|
598
|
-
"description": "Nile BreadCrumb Item component.\n\nAttributes:\n\n * `separator` {`string`} - Render method\n\nProperties:\n\n * `isLast` {`boolean`} - \n\n * `separator` {`string`} - Render method\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
598
|
+
"description": "Nile BreadCrumb Item component.\n\nAttributes:\n\n * `separator` {`string`} - Render method\n\n * `variant` {`\"default\" | \"outlined\"`} - Visual style of the item. `outlined` wraps the text in an outlined chip.\nSet automatically from the parent `nile-breadcrumb`'s `variant`.\n\nProperties:\n\n * `isLast` {`boolean`} - \n\n * `separator` {`string`} - Render method\n\n * `variant` {`\"default\" | \"outlined\"`} - Visual style of the item. `outlined` wraps the text in an outlined chip.\nSet automatically from the parent `nile-breadcrumb`'s `variant`.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
599
599
|
"attributes": [
|
|
600
600
|
{
|
|
601
601
|
"name": "separator",
|
|
602
602
|
"description": "`separator` {`string`} - Render method\n\nProperty: separator\n\nDefault: var(--nile-icon-arrow-right, var(--ng-icon-chevron-right))"
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
"name": "variant",
|
|
606
|
+
"description": "`variant` {`\"default\" | \"outlined\"`} - Visual style of the item. `outlined` wraps the text in an outlined chip.\nSet automatically from the parent `nile-breadcrumb`'s `variant`.\n\nProperty: variant\n\nDefault: default",
|
|
607
|
+
"values": [
|
|
608
|
+
{
|
|
609
|
+
"name": "default"
|
|
610
|
+
},
|
|
611
|
+
{
|
|
612
|
+
"name": "outlined"
|
|
613
|
+
}
|
|
614
|
+
]
|
|
603
615
|
}
|
|
604
616
|
]
|
|
605
617
|
},
|
|
606
618
|
{
|
|
607
619
|
"name": "nile-breadcrumb",
|
|
608
|
-
"description": "Nile BreadCrumb component.\n\nProperties:\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
609
|
-
"attributes": [
|
|
620
|
+
"description": "Nile BreadCrumb component.\n\nAttributes:\n\n * `variant` {`\"default\" | \"outlined\"`} - Visual style of the items. `outlined` renders each item inside an outlined chip;\ntext colours are unchanged. Propagated to every slotted `nile-breadcrumb-item`.\n\nProperties:\n\n * `variant` {`\"default\" | \"outlined\"`} - Visual style of the items. `outlined` renders each item inside an outlined chip;\ntext colours are unchanged. Propagated to every slotted `nile-breadcrumb-item`.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
621
|
+
"attributes": [
|
|
622
|
+
{
|
|
623
|
+
"name": "variant",
|
|
624
|
+
"description": "`variant` {`\"default\" | \"outlined\"`} - Visual style of the items. `outlined` renders each item inside an outlined chip;\ntext colours are unchanged. Propagated to every slotted `nile-breadcrumb-item`.\n\nProperty: variant\n\nDefault: default",
|
|
625
|
+
"values": [
|
|
626
|
+
{
|
|
627
|
+
"name": "default"
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
"name": "outlined"
|
|
631
|
+
}
|
|
632
|
+
]
|
|
633
|
+
}
|
|
634
|
+
]
|
|
610
635
|
},
|
|
611
636
|
{
|
|
612
637
|
"name": "nile-button-filter",
|
|
@@ -3212,7 +3237,7 @@
|
|
|
3212
3237
|
},
|
|
3213
3238
|
{
|
|
3214
3239
|
"name": "nile-floating-panel",
|
|
3215
|
-
"description": "Nile floating-panel component.\n\nA popover that supports rich content (title, body, actions).\n\n**Wrapper mode** (default): first child element is the trigger.\n**For mode**: set `for=\"elementId\"` to attach to an external element.\n\nEvents:\n\n * `nile-init` {} - Component initialized.\n\n * `nile-destroy` {} - Component destroyed.\n\n * `nile-show` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - Panel opened.\n\n * `nile-hide` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - Panel closed.\n\n * `nile-after-show` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - Panel fully visible after animation.\n\n * `nile-after-hide` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - Panel fully hidden after animation.\n\n * `nile-toggle` {`CustomEvent<{ open: boolean; instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - Open/close transition (detail.open).\n\n * `nile-visibility-change` {} - Hidden by scroll/tab change.\n\nAttributes:\n\n * `placement` {`\"left\" | \"right\" | \"top\" | \"top-start\" | \"top-end\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left-start\" | \"left-end\" | \"auto\" | \"auto-start\" | \"auto-end\"`} - \n\n * `trigger` {`string`} - \n\n * `distance` {`number`} - \n\n * `skidding` {`number`} - \n\n * `arrow` {`\"
|
|
3240
|
+
"description": "Nile floating-panel component.\n\nA popover that supports rich content (title, body, actions).\n\n**Wrapper mode** (default): first child element is the trigger.\n**For mode**: set `for=\"elementId\"` to attach to an external element.\n\nEvents:\n\n * `nile-init` {} - Component initialized.\n\n * `nile-destroy` {} - Component destroyed.\n\n * `nile-show` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - Panel opened.\n\n * `nile-hide` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - Panel closed.\n\n * `nile-after-show` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - Panel fully visible after animation.\n\n * `nile-after-hide` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - Panel fully hidden after animation.\n\n * `nile-toggle` {`CustomEvent<{ open: boolean; instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - Open/close transition (detail.open).\n\n * `nile-visibility-change` {} - Hidden by scroll/tab change.\n\nAttributes:\n\n * `placement` {`\"left\" | \"right\" | \"top\" | \"top-start\" | \"top-end\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left-start\" | \"left-end\" | \"auto\" | \"auto-start\" | \"auto-end\"`} - \n\n * `trigger` {`string`} - \n\n * `distance` {`number`} - \n\n * `skidding` {`number`} - \n\n * `arrow` {`\"default\" | \"none\" | \"round\"`} - \n\n * `animation` {`string`} - \n\n * `duration` {`string | number | [number, number]`} - \n\n * `delay` {`number | [number, number]`} - \n\n * `interactive` {`boolean`} - \n\n * `interactiveBorder` {`number`} - \n\n * `maxWidth` {`string | number`} - \n\n * `zIndex` {`number`} - \n\n * `followCursor` {`boolean | \"horizontal\" | \"vertical\" | \"initial\" | \"true\" | \"false\"`} - \n\n * `hideOnClick` {`boolean | \"toggle\"`} - \n\n * `inertia` {`boolean`} - \n\n * `allowHTML` {`boolean`} - \n\n * `flip` {`boolean`} - \n\n * `for` {`string | null`} - \n\n * `open` {`boolean`} - \n\n * `preventOverlayClose` {`boolean`} - \n\n * `title` {`string`} - \n\n * `disabled` {`boolean`} - \n\n * `width` {`string | undefined`} - \n\n * `height` {`string | undefined`} - \n\n * `group` {`string | null`} - When set, only one panel in the same group can be open at a time.\n\n * `closeOnEscape` {`boolean`} - Close the panel when Escape is pressed.\n\n * `panelClass` {`string`} - Custom CSS class(es) added to the Tippy popper element, allowing per-instance styling from the host.\n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `enableTabClose` {`boolean`} - \n\nProperties:\n\n * `_groups` {`Map<string, Set<NileFloatingPanel>>`} - \n\n * `_reducedMotionQuery` {`MediaQueryList | null`} - \n\n * `placement` {`\"left\" | \"right\" | \"top\" | \"top-start\" | \"top-end\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left-start\" | \"left-end\" | \"auto\" | \"auto-start\" | \"auto-end\"`} - \n\n * `trigger` {`string`} - \n\n * `distance` {`number`} - \n\n * `skidding` {`number`} - \n\n * `arrow` {`\"default\" | \"none\" | \"round\"`} - \n\n * `animation` {`string`} - \n\n * `duration` {`string | number | [number, number]`} - \n\n * `delay` {`number | [number, number]`} - \n\n * `interactive` {`boolean`} - \n\n * `interactiveBorder` {`number`} - \n\n * `maxWidth` {`string | number`} - \n\n * `zIndex` {`number`} - \n\n * `followCursor` {`boolean | \"horizontal\" | \"vertical\" | \"initial\" | \"true\" | \"false\"`} - \n\n * `hideOnClick` {`boolean | \"toggle\"`} - \n\n * `inertia` {`boolean`} - \n\n * `allowHTML` {`boolean`} - \n\n * `flip` {`boolean`} - \n\n * `for` {`string | null`} - \n\n * `open` {`boolean`} - \n\n * `preventOverlayClose` {`boolean`} - \n\n * `title` {`string`} - \n\n * `disabled` {`boolean`} - \n\n * `width` {`string | undefined`} - \n\n * `height` {`string | undefined`} - \n\n * `group` {`string | null`} - When set, only one panel in the same group can be open at a time.\n\n * `closeOnEscape` {`boolean`} - Close the panel when Escape is pressed.\n\n * `panelClass` {`string`} - Custom CSS class(es) added to the Tippy popper element, allowing per-instance styling from the host.\n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `enableTabClose` {`boolean`} - \n\n * `tippyInstance` {`Instance<Props> | null`} - \n\n * `visibilityManager` - \n\n * `panelContainer` {`HTMLElement | null`} - \n\n * `anchorEl` {`HTMLElement | null`} - \n\n * `_suppressOpenWatch` {`boolean`} - \n\n * `_panelId` {`string`} - \n\n * `_boundEscHandler` - \n\n * `_pendingShowListener` - \n\n * `_pendingHideListener` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
3216
3241
|
"attributes": [
|
|
3217
3242
|
{
|
|
3218
3243
|
"name": "placement",
|
|
@@ -3279,13 +3304,13 @@
|
|
|
3279
3304
|
},
|
|
3280
3305
|
{
|
|
3281
3306
|
"name": "arrow",
|
|
3282
|
-
"description": "`arrow` {`\"
|
|
3307
|
+
"description": "`arrow` {`\"default\" | \"none\" | \"round\"`} - \n\nProperty: arrow\n\nDefault: round",
|
|
3283
3308
|
"values": [
|
|
3284
3309
|
{
|
|
3285
|
-
"name": "
|
|
3310
|
+
"name": "default"
|
|
3286
3311
|
},
|
|
3287
3312
|
{
|
|
3288
|
-
"name": "
|
|
3313
|
+
"name": "none"
|
|
3289
3314
|
},
|
|
3290
3315
|
{
|
|
3291
3316
|
"name": "round"
|
|
@@ -4572,7 +4597,7 @@
|
|
|
4572
4597
|
},
|
|
4573
4598
|
{
|
|
4574
4599
|
"name": "nile-lite-tooltip",
|
|
4575
|
-
"description": "Nile lite-tooltip component.\n\nSupports wrapper, sibling (for), and singleton modes.\nAligns with Tippy.js props and Nile design system.\n\nEvents:\n\n * `nile-show` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - \n\n * `nile-toggle` {`CustomEvent<{ open: boolean; instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - \n\n * `nile-hide` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - \n\nAttributes:\n\n * `for` {`string | null`} - ID of the target element (for sibling mode)\n\n * `content` {`string`} - Tooltip content text or HTML\n\n * `size` {`\"small\" | \"large\"`} - Tooltip size (applies CSS class)\n\n * `duration` {`string | number | [number, number]`} - Animation duration for show/hide (ms). Can be a single value or [show, hide].\n\n * `interactive` {`boolean`} - Interactive mode\n\n * `placement` {`\"left\" | \"right\" | \"top\" | \"top-start\" | \"top-end\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left-start\" | \"left-end\" | \"auto\" | \"auto-start\" | \"auto-end\"`} - Placement of the tooltip\n\n * `disabled` {`boolean`} - \n\n * `distance` {`number`} - \n\n * `skidding` {`number`} - \n\n * `open` {`boolean`} - \n\n * `trigger` {`string`} - \n\n * `allowHTML` {`boolean`} - \n\n * `followCursor` {`boolean | \"horizontal\" | \"vertical\" | \"initial\" | \"true\" | \"false\"`} - \n\n * `arrow` {`\"
|
|
4600
|
+
"description": "Nile lite-tooltip component.\n\nSupports wrapper, sibling (for), and singleton modes.\nAligns with Tippy.js props and Nile design system.\n\nEvents:\n\n * `nile-show` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - \n\n * `nile-toggle` {`CustomEvent<{ open: boolean; instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - \n\n * `nile-hide` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - \n\nAttributes:\n\n * `for` {`string | null`} - ID of the target element (for sibling mode)\n\n * `content` {`string`} - Tooltip content text or HTML\n\n * `size` {`\"small\" | \"large\"`} - Tooltip size (applies CSS class)\n\n * `duration` {`string | number | [number, number]`} - Animation duration for show/hide (ms). Can be a single value or [show, hide].\n\n * `interactive` {`boolean`} - Interactive mode\n\n * `placement` {`\"left\" | \"right\" | \"top\" | \"top-start\" | \"top-end\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left-start\" | \"left-end\" | \"auto\" | \"auto-start\" | \"auto-end\"`} - Placement of the tooltip\n\n * `disabled` {`boolean`} - \n\n * `distance` {`number`} - \n\n * `skidding` {`number`} - \n\n * `open` {`boolean`} - \n\n * `trigger` {`string`} - \n\n * `allowHTML` {`boolean`} - \n\n * `followCursor` {`boolean | \"horizontal\" | \"vertical\" | \"initial\" | \"true\" | \"false\"`} - \n\n * `arrow` {`\"default\" | \"small\" | \"none\" | \"large\" | \"round\" | \"narrow\" | \"wide\"`} - \n\n * `singleton` {`boolean`} - \n\n * `enableRecursiveMode` {`boolean`} - \n\n * `delay` {`number | [number, number]`} - Not added in Doc\n\n * `maxWidth` {`string | number`} - \n\n * `zIndex` {`number`} - \n\n * `hideOnClick` {`boolean | \"toggle\"`} - \n\n * `inertia` {`boolean`} - \n\n * `interactiveBorder` {`number`} - \n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `enableTabClose` {`boolean`} - \n\n * `width` {`string | undefined`} - \n\n * `height` {`string | undefined`} - \n\nProperties:\n\n * `for` {`string | null`} - ID of the target element (for sibling mode)\n\n * `content` {`string`} - Tooltip content text or HTML\n\n * `size` {`\"small\" | \"large\"`} - Tooltip size (applies CSS class)\n\n * `duration` {`string | number | [number, number]`} - Animation duration for show/hide (ms). Can be a single value or [show, hide].\n\n * `interactive` {`boolean`} - Interactive mode\n\n * `placement` {`\"left\" | \"right\" | \"top\" | \"top-start\" | \"top-end\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left-start\" | \"left-end\" | \"auto\" | \"auto-start\" | \"auto-end\"`} - Placement of the tooltip\n\n * `disabled` {`boolean`} - \n\n * `distance` {`number`} - \n\n * `skidding` {`number`} - \n\n * `open` {`boolean`} - \n\n * `trigger` {`string`} - \n\n * `allowHTML` {`boolean`} - \n\n * `followCursor` {`boolean | \"horizontal\" | \"vertical\" | \"initial\" | \"true\" | \"false\"`} - \n\n * `arrow` {`\"default\" | \"small\" | \"none\" | \"large\" | \"round\" | \"narrow\" | \"wide\"`} - \n\n * `singleton` {`boolean`} - \n\n * `enableRecursiveMode` {`boolean`} - \n\n * `delay` {`number | [number, number]`} - Not added in Doc\n\n * `maxWidth` {`string | number`} - \n\n * `zIndex` {`number`} - \n\n * `hideOnClick` {`boolean | \"toggle\"`} - \n\n * `inertia` {`boolean`} - \n\n * `interactiveBorder` {`number`} - \n\n * `visibilityManager` - \n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `enableTabClose` {`boolean`} - \n\n * `width` {`string | undefined`} - \n\n * `height` {`string | undefined`} - \n\n * `tooltipInstances` {`Instance<Props>[] | undefined`} - \n\n * `singleInstance` {`Instance<Props> | undefined`} - \n\n * `singletonInstance` {`Instance<Props> | undefined`} - \n\n * `targetEl` {`HTMLElement | null | undefined`} - \n\n * `generatedId` {`string | undefined`} - \n\n * `prevDescribedby` {`string | null | undefined`} - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
4576
4601
|
"attributes": [
|
|
4577
4602
|
{
|
|
4578
4603
|
"name": "for",
|
|
@@ -4706,16 +4731,16 @@
|
|
|
4706
4731
|
},
|
|
4707
4732
|
{
|
|
4708
4733
|
"name": "arrow",
|
|
4709
|
-
"description": "`arrow` {`\"
|
|
4734
|
+
"description": "`arrow` {`\"default\" | \"small\" | \"none\" | \"large\" | \"round\" | \"narrow\" | \"wide\"`} - \n\nProperty: arrow\n\nDefault: default",
|
|
4710
4735
|
"values": [
|
|
4711
4736
|
{
|
|
4712
|
-
"name": "
|
|
4737
|
+
"name": "default"
|
|
4713
4738
|
},
|
|
4714
4739
|
{
|
|
4715
|
-
"name": "
|
|
4740
|
+
"name": "small"
|
|
4716
4741
|
},
|
|
4717
4742
|
{
|
|
4718
|
-
"name": "
|
|
4743
|
+
"name": "none"
|
|
4719
4744
|
},
|
|
4720
4745
|
{
|
|
4721
4746
|
"name": "large"
|
|
@@ -8536,11 +8561,11 @@
|
|
|
8536
8561
|
},
|
|
8537
8562
|
{
|
|
8538
8563
|
"name": "nile-virtual-select",
|
|
8539
|
-
"description": "Events:\n\n * `nile-change` {} - Emitted when the control's value changes.\n\n * `nile-clear` {} - Emitted when the control's value is cleared.\n\n * `nile-input` {} - Emitted when the control receives input.\n\n * `nile-focus` {} - Emitted when the control gains focus.\n\n * `nile-blur` {} - Emitted when the control loses focus.\n\n * `nile-show` {} - Emitted when the select's menu opens.\n\n * `nile-after-show` {} - Emitted after the select's menu opens and all animations are complete.\n\n * `nile-hide` {} - Emitted when the select's menu closes.\n\n * `nile-after-hide` {} - Emitted after the select's menu closes and all animations are complete.\n\n * `nile-invalid` {} - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n * `nile-search` {} - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.\n\n * `nile-scroll` {} - Emitted when the user scrolls within the virtualized container. The event payload includes scroll position information.\n\n * `nile-scroll-start` {} - Emitted when the user starts scrolling within the virtualized container.\n\n * `nile-scroll-end` {} - Emitted when the user stops scrolling and reaches the bottom of the virtualized container (debounced).\n\n * `nile-remove` {`CustomEvent<unknown>`} - \n\nSlots:\n\n * `label` {} - The input's label. Alternatively, you can use the `label` attribute.\n\n * `prefix` {} - Used to prepend a presentational icon or similar element to the combobox.\n\n * `clear-icon` {} - An icon to use in lieu of the default clear icon.\n\n * `expand-icon` {} - The icon to show when the control is expanded and collapsed.\n\n * `help-text` {} - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\nAttributes:\n\n * `data` - Array of all option items for virtual scrolling\n\n * `size` {`\"small\" | \"medium\" | \"large\"`} - The select's size.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the select is empty.\n\n * `autoResize` {`boolean`} - Re-runs the fitted-chip layout when the control's own width changes.\n\n * `searchEnabled` {`boolean`} - Enable search functionality\n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `internal-search-placeholder` {`string`} - Search input placeholder\n\n * `disableLocalSearch` {`boolean`} - Disable local search filtering\n\n * `optionsLoading` {`boolean`} - Show loading state\n\n * `loading` {`boolean`} - Show loading state using nile-loader\n\n * `multiple` {`boolean`} - Allows more than one option to be selected.\n\n * `help-text` {`string`} - Help text\n\n * `error-message` {`string`} - Error message\n\n * `warning` {`boolean`} - Sets the input to a warning state\n\n * `error` {`boolean`} - Sets the input to an error state\n\n * `success` {`boolean`} - Sets the input to a success state\n\n * `clearable` {`boolean`} - Adds a clear button when the select is not empty.\n\n * `open` {`boolean`} - The select's open state.\n\n * `hoist` {`boolean`} - Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `filled` {`boolean`} - Draws a filled select.\n\n * `pill` {`boolean`} - Draws a pill-style select with rounded edges.\n\n * `label` {`string`} - The select's label. If you need to display HTML, use the `label` slot instead.\n\n * `placement` {`ComboboxPlacement`} - The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.\n\n * `showNoResults` {`boolean`} - Show no results message\n\n * `noResultsMessage` {`string`} - No results message\n\n * `showSelected` {`boolean`} - Show selected options only\n\n * `blockValueChange` {`boolean`} - Block value change events\n\n * `noWidthSync` {`boolean`} - Disable width synchronization\n\n * `portal` {`boolean`} - When true, the listbox will be appended to the document body instead of the parent container.\nThis is useful when the parent has overflow: hidden, clip-path, or transform applied.\n\n * `max-options-visible` {`number`} - \n\n * `chipMinWidth` {`number`} - Minimum width, in px, of a squeezed chip. Needs `showtooltip`.\n\n * `chipMaxWidth` {`number`} - Maximum width, in px, of a squeezed chip. Needs `showtooltip`.\n\n * `showTooltip` {`boolean`} - Opts into the fitted chip row: chips are sized between chipMinWidth and chipMaxWidth, the\nrest collapse into a +N button, and a clipped chip shows its full value in a tooltip.\nOff by default, which keeps the pre-2.0.9 chip row.\n\n * `enableTabClose` {`boolean`} - \n\n * `descriptionSearchEnabled` {`boolean`} - \n\n * `allowHtmlLabel` {`boolean`} - \n\n * `enableDescription` {`boolean`} - \n\n * `legacy` {`boolean`} - Legacy: hide the option checkbox (the \"Show Selected\" footer is kept).\n\n * `tickOnSelect` {`boolean`} - Variant: show a tick on the right of the selected option (single-select).\n\n * `name` {`string`} - The name of the select, submitted as a name/value pair with form data.\n\n * `value` {`string | string[]`} - The current value of the select. When `multiple` is enabled, the value will be an array of selected values.\n\n * `disabled` {`boolean`} - Disables the select control.\n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `required` {`boolean`} - The select's required attribute.\n\nProperties:\n\n * `styles` - \n\n * `formControlController` - \n\n * `hasSlotController` - \n\n * `portalManager` - \n\n * `popup` - \n\n * `combobox` {`HTMLElement`} - \n\n * `displayInput` {`HTMLInputElement`} - \n\n * `valueInput` {`HTMLInputElement`} - \n\n * `virtualizedContainer` {`HTMLElement`} - \n\n * `hasFocus` {`boolean`} - \n\n * `displayLabel` {`string`} - \n\n * `selectedOptions` {`VirtualOption[]`} - \n\n * `oldValue` {`string | string[]`} - \n\n * `scrollTimeout` {`number | undefined`} - \n\n * `scrolling` {`boolean`} - \n\n * `visibilityManager` - \n\n * `data` - Array of all option items for virtual scrolling\n\n * `originalOptionItems` - Original unfiltered option items for search functionality\n\n * `size` {`\"small\" | \"medium\" | \"large\"`} - The select's size.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the select is empty.\n\n * `autoResize` {`boolean`} - Re-runs the fitted-chip layout when the control's own width changes.\n\n * `searchValue` {`string`} - Current search value\n\n * `searchEnabled` {`boolean`} - Enable search functionality\n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `internalSearchPlaceHolder` {`string`} - Search input placeholder\n\n * `disableLocalSearch` {`boolean`} - Disable local search filtering\n\n * `optionsLoading` {`boolean`} - Show loading state\n\n * `loading` {`boolean`} - Show loading state using nile-loader\n\n * `multiple` {`boolean`} - Allows more than one option to be selected.\n\n * `helpText` {`string`} - Help text\n\n * `errorMessage` {`string`} - Error message\n\n * `warning` {`boolean`} - Sets the input to a warning state\n\n * `error` {`boolean`} - Sets the input to an error state\n\n * `success` {`boolean`} - Sets the input to a success state\n\n * `clearable` {`boolean`} - Adds a clear button when the select is not empty.\n\n * `open` {`boolean`} - The select's open state.\n\n * `hoist` {`boolean`} - Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `filled` {`boolean`} - Draws a filled select.\n\n * `pill` {`boolean`} - Draws a pill-style select with rounded edges.\n\n * `label` {`string`} - The select's label. If you need to display HTML, use the `label` slot instead.\n\n * `placement` {`ComboboxPlacement`} - The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.\n\n * `showNoResults` {`boolean`} - Show no results message\n\n * `noResultsMessage` {`string`} - No results message\n\n * `showSelected` {`boolean`} - Show selected options only\n\n * `renderItemConfig` {`RenderItemConfig | undefined`} - Enhanced configuration for rendering items with support for display text, value, and search text\n\n * `blockValueChange` {`boolean`} - Block value change events\n\n * `noWidthSync` {`boolean`} - Disable width synchronization\n\n * `portal` {`boolean`} - When true, the listbox will be appended to the document body instead of the parent container.\nThis is useful when the parent has overflow: hidden, clip-path, or transform applied.\n\n * `_maxOptionsVisible` {`number`} - The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.\n\n * `maxOptionsVisibleExplicit` {`boolean`} - \n\n * `maxOptionsVisible` {`number`} - \n\n * `chipFittingEnabled` {`boolean`} - \n\n * `legacyTagFitEnabled` {`boolean`} - \n\n * `chipMinWidth` {`number`} - Minimum width, in px, of a squeezed chip. Needs `showtooltip`.\n\n * `chipMaxWidth` {`number`} - Maximum width, in px, of a squeezed chip. Needs `showtooltip`.\n\n * `showTooltip` {`boolean`} - Opts into the fitted chip row: chips are sized between chipMinWidth and chipMaxWidth, the\nrest collapse into a +N button, and a clipped chip shows its full value in a tooltip.\nOff by default, which keeps the pre-2.0.9 chip row.\n\n * `hiddenChipCount` {`number`} - \n\n * `oldMaxOptionsVisible` {`number`} - \n\n * `lastOverflowWidth` {`number`} - Last measured width of the overflow button, in px.\n\n * `chipFitFrame` {`number`} - \n\n * `lastChipLayout` {`{ hidden: number; visible: number; }`} - \n\n * `clippedChips` {`boolean[]`} - \n\n * `clipFrame` {`number`} - \n\n * `enableTabClose` {`boolean`} - \n\n * `descriptionSearchEnabled` {`boolean`} - \n\n * `allowHtmlLabel` {`boolean`} - \n\n * `enableDescription` {`boolean`} - \n\n * `legacy` {`boolean`} - Legacy: hide the option checkbox (the \"Show Selected\" footer is kept).\n\n * `tickOnSelect` {`boolean`} - Variant: show a tick on the right of the selected option (single-select).\n\n * `showListbox` {`boolean`} - \n\n * `wasShowSelectedCheckedOnClose` {`boolean`} - \n\n * `handleDocumentMouseDown` - \n\n * `handleWindowError` - This is a workaround for an error in the Lit Labs virtualizer.\nSince there are no specific guidelines available to fix the issue,\nwe are catching only the error message related to the virtualizer.\n\n * `handleWindowResize` - \n\n * `handleWindowScroll` - \n\n * `observedTagsContainer` {`Element | undefined`} - \n\n * `resizeController` - \n\n * `name` {`string`} - The name of the select, submitted as a name/value pair with form data.\n\n * `value` {`string | string[]`} - The current value of the select. When `multiple` is enabled, the value will be an array of selected values.\n\n * `disabled` {`boolean`} - Disables the select control.\n\n * `defaultValue` {`string | string[]`} - The default value of the form control. Primarily used for resetting the form control.\n\n * `defaultChecked` {`boolean | undefined`} - \n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `pattern` {`string | undefined`} - \n\n * `min` {`string | number | Date | undefined`} - \n\n * `max` {`string | number | Date | undefined`} - \n\n * `step` {`number | \"any\" | undefined`} - \n\n * `required` {`boolean`} - The select's required attribute.\n\n * `minlength` {`number | undefined`} - \n\n * `maxlength` {`number | undefined`} - \n\n * `validity` {`ValidityState`} - Gets the validity state object\n\n * `validationMessage` {`string`} - Gets the validation message\n\n * `checkValidity` - \n\n * `getForm` - \n\n * `reportValidity` - \n\n * `setCustomValidity` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
8564
|
+
"description": "Events:\n\n * `nile-change` {} - Emitted when the control's value changes.\n\n * `nile-clear` {} - Emitted when the control's value is cleared.\n\n * `nile-input` {} - Emitted when the control receives input.\n\n * `nile-focus` {} - Emitted when the control gains focus.\n\n * `nile-blur` {} - Emitted when the control loses focus.\n\n * `nile-show` {} - Emitted when the select's menu opens.\n\n * `nile-after-show` {} - Emitted after the select's menu opens and all animations are complete.\n\n * `nile-hide` {} - Emitted when the select's menu closes.\n\n * `nile-after-hide` {} - Emitted after the select's menu closes and all animations are complete.\n\n * `nile-invalid` {} - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n * `nile-search` {} - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.\n\n * `nile-scroll` {} - Emitted when the user scrolls within the virtualized container. The event payload includes scroll position information.\n\n * `nile-scroll-start` {} - Emitted when the user starts scrolling within the virtualized container.\n\n * `nile-scroll-end` {} - Emitted when the user stops scrolling and reaches the bottom of the virtualized container (debounced).\n\n * `nile-remove` {`CustomEvent<unknown>`} - \n\nSlots:\n\n * `label` {} - The input's label. Alternatively, you can use the `label` attribute.\n\n * `prefix` {} - Used to prepend a presentational icon or similar element to the combobox.\n\n * `clear-icon` {} - An icon to use in lieu of the default clear icon.\n\n * `expand-icon` {} - The icon to show when the control is expanded and collapsed.\n\n * `help-text` {} - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\nAttributes:\n\n * `data` - \n\n * `size` {`\"small\" | \"medium\" | \"large\"`} - The select's size.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the select is empty.\n\n * `autoResize` {`boolean`} - Re-runs the fitted-chip layout when the control's own width changes.\n\n * `searchEnabled` {`boolean`} - Enable search functionality\n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `internal-search-placeholder` {`string`} - Search input placeholder\n\n * `disableLocalSearch` {`boolean`} - Disable local search filtering\n\n * `optionsLoading` {`boolean`} - Show loading state\n\n * `loading` {`boolean`} - Show loading state using nile-loader\n\n * `multiple` {`boolean`} - Allows more than one option to be selected.\n\n * `help-text` {`string`} - Help text\n\n * `error-message` {`string`} - Error message\n\n * `warning` {`boolean`} - Sets the input to a warning state\n\n * `error` {`boolean`} - Sets the input to an error state\n\n * `success` {`boolean`} - Sets the input to a success state\n\n * `clearable` {`boolean`} - Adds a clear button when the select is not empty.\n\n * `open` {`boolean`} - The select's open state.\n\n * `hoist` {`boolean`} - Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `filled` {`boolean`} - Draws a filled select.\n\n * `pill` {`boolean`} - Draws a pill-style select with rounded edges.\n\n * `label` {`string`} - The select's label. If you need to display HTML, use the `label` slot instead.\n\n * `placement` {`ComboboxPlacement`} - The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.\n\n * `showNoResults` {`boolean`} - Show no results message\n\n * `noResultsMessage` {`string`} - No results message\n\n * `showSelected` {`boolean`} - Show selected options only\n\n * `blockValueChange` {`boolean`} - Block value change events\n\n * `noWidthSync` {`boolean`} - Disable width synchronization\n\n * `portal` {`boolean`} - When true, the listbox will be appended to the document body instead of the parent container.\nThis is useful when the parent has overflow: hidden, clip-path, or transform applied.\n\n * `max-options-visible` {`number`} - \n\n * `chipMinWidth` {`number`} - Minimum width, in px, of a squeezed chip. Needs `showtooltip`.\n\n * `chipMaxWidth` {`number`} - Maximum width, in px, of a squeezed chip. Needs `showtooltip`.\n\n * `showTooltip` {`boolean`} - Opts into the fitted chip row: chips are sized between chipMinWidth and chipMaxWidth, the\nrest collapse into a +N button, and a clipped chip shows its full value in a tooltip.\nOff by default, which keeps the pre-2.0.9 chip row.\n\n * `enableTabClose` {`boolean`} - \n\n * `descriptionSearchEnabled` {`boolean`} - \n\n * `allowHtmlLabel` {`boolean`} - \n\n * `enableDescription` {`boolean`} - \n\n * `legacy` {`boolean`} - Legacy: hide the option checkbox (the \"Show Selected\" footer is kept).\n\n * `tickOnSelect` {`boolean`} - Variant: show a tick on the right of the selected option (single-select).\n\n * `name` {`string`} - The name of the select, submitted as a name/value pair with form data.\n\n * `value` {`string | string[]`} - The current value of the select. When `multiple` is enabled, the value will be an array of selected values.\n\n * `disabled` {`boolean`} - Disables the select control.\n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `required` {`boolean`} - The select's required attribute.\n\nProperties:\n\n * `styles` - \n\n * `formControlController` - \n\n * `hasSlotController` - \n\n * `portalManager` - \n\n * `popup` - \n\n * `combobox` {`HTMLElement`} - \n\n * `displayInput` {`HTMLInputElement`} - \n\n * `valueInput` {`HTMLInputElement`} - \n\n * `virtualizedContainer` {`HTMLElement`} - \n\n * `hasFocus` {`boolean`} - \n\n * `displayLabel` {`string`} - \n\n * `selectedOptions` {`VirtualOption[]`} - \n\n * `oldValue` {`string | string[]`} - \n\n * `scrollTimeout` {`number | undefined`} - \n\n * `scrolling` {`boolean`} - \n\n * `visibilityManager` - \n\n * `data` - \n\n * `lastSeenValue` {`string | string[] | undefined`} - \n\n * `originalOptionItems` - Original unfiltered option items for search functionality\n\n * `size` {`\"small\" | \"medium\" | \"large\"`} - The select's size.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the select is empty.\n\n * `autoResize` {`boolean`} - Re-runs the fitted-chip layout when the control's own width changes.\n\n * `searchValue` {`string`} - Current search value\n\n * `searchEnabled` {`boolean`} - Enable search functionality\n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `internalSearchPlaceHolder` {`string`} - Search input placeholder\n\n * `disableLocalSearch` {`boolean`} - Disable local search filtering\n\n * `optionsLoading` {`boolean`} - Show loading state\n\n * `loading` {`boolean`} - Show loading state using nile-loader\n\n * `multiple` {`boolean`} - Allows more than one option to be selected.\n\n * `helpText` {`string`} - Help text\n\n * `errorMessage` {`string`} - Error message\n\n * `warning` {`boolean`} - Sets the input to a warning state\n\n * `error` {`boolean`} - Sets the input to an error state\n\n * `success` {`boolean`} - Sets the input to a success state\n\n * `clearable` {`boolean`} - Adds a clear button when the select is not empty.\n\n * `open` {`boolean`} - The select's open state.\n\n * `hoist` {`boolean`} - Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `filled` {`boolean`} - Draws a filled select.\n\n * `pill` {`boolean`} - Draws a pill-style select with rounded edges.\n\n * `label` {`string`} - The select's label. If you need to display HTML, use the `label` slot instead.\n\n * `placement` {`ComboboxPlacement`} - The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.\n\n * `showNoResults` {`boolean`} - Show no results message\n\n * `noResultsMessage` {`string`} - No results message\n\n * `showSelected` {`boolean`} - Show selected options only\n\n * `renderItemConfig` {`RenderItemConfig | undefined`} - Enhanced configuration for rendering items with support for display text, value, and search text\n\n * `blockValueChange` {`boolean`} - Block value change events\n\n * `noWidthSync` {`boolean`} - Disable width synchronization\n\n * `portal` {`boolean`} - When true, the listbox will be appended to the document body instead of the parent container.\nThis is useful when the parent has overflow: hidden, clip-path, or transform applied.\n\n * `_maxOptionsVisible` {`number`} - The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.\n\n * `maxOptionsVisibleExplicit` {`boolean`} - \n\n * `maxOptionsVisible` {`number`} - \n\n * `chipFittingEnabled` {`boolean`} - \n\n * `legacyTagFitEnabled` {`boolean`} - \n\n * `chipMinWidth` {`number`} - Minimum width, in px, of a squeezed chip. Needs `showtooltip`.\n\n * `chipMaxWidth` {`number`} - Maximum width, in px, of a squeezed chip. Needs `showtooltip`.\n\n * `showTooltip` {`boolean`} - Opts into the fitted chip row: chips are sized between chipMinWidth and chipMaxWidth, the\nrest collapse into a +N button, and a clipped chip shows its full value in a tooltip.\nOff by default, which keeps the pre-2.0.9 chip row.\n\n * `hiddenChipCount` {`number`} - \n\n * `oldMaxOptionsVisible` {`number`} - \n\n * `lastOverflowWidth` {`number`} - Last measured width of the overflow button, in px.\n\n * `chipFitFrame` {`number`} - \n\n * `lastChipLayout` {`{ hidden: number; visible: number; }`} - \n\n * `clippedChips` {`boolean[]`} - \n\n * `clipFrame` {`number`} - \n\n * `enableTabClose` {`boolean`} - \n\n * `descriptionSearchEnabled` {`boolean`} - \n\n * `allowHtmlLabel` {`boolean`} - \n\n * `enableDescription` {`boolean`} - \n\n * `legacy` {`boolean`} - Legacy: hide the option checkbox (the \"Show Selected\" footer is kept).\n\n * `tickOnSelect` {`boolean`} - Variant: show a tick on the right of the selected option (single-select).\n\n * `showListbox` {`boolean`} - \n\n * `wasShowSelectedCheckedOnClose` {`boolean`} - \n\n * `handleDocumentMouseDown` - \n\n * `handleWindowError` - This is a workaround for an error in the Lit Labs virtualizer.\nSince there are no specific guidelines available to fix the issue,\nwe are catching only the error message related to the virtualizer.\n\n * `handleWindowResize` - \n\n * `handleWindowScroll` - \n\n * `observedTagsContainer` {`Element | undefined`} - \n\n * `resizeController` - \n\n * `name` {`string`} - The name of the select, submitted as a name/value pair with form data.\n\n * `value` {`string | string[]`} - The current value of the select. When `multiple` is enabled, the value will be an array of selected values.\n\n * `disabled` {`boolean`} - Disables the select control.\n\n * `defaultValue` {`string | string[]`} - The default value of the form control. Primarily used for resetting the form control.\n\n * `defaultChecked` {`boolean | undefined`} - \n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `pattern` {`string | undefined`} - \n\n * `min` {`string | number | Date | undefined`} - \n\n * `max` {`string | number | Date | undefined`} - \n\n * `step` {`number | \"any\" | undefined`} - \n\n * `required` {`boolean`} - The select's required attribute.\n\n * `minlength` {`number | undefined`} - \n\n * `maxlength` {`number | undefined`} - \n\n * `validity` {`ValidityState`} - Gets the validity state object\n\n * `validationMessage` {`string`} - Gets the validation message\n\n * `checkValidity` - \n\n * `getForm` - \n\n * `reportValidity` - \n\n * `setCustomValidity` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
8540
8565
|
"attributes": [
|
|
8541
8566
|
{
|
|
8542
8567
|
"name": "data",
|
|
8543
|
-
"description": "`data` -
|
|
8568
|
+
"description": "`data` - \n\nProperty: data\n\nDefault: "
|
|
8544
8569
|
},
|
|
8545
8570
|
{
|
|
8546
8571
|
"name": "size",
|