@genesislcap/grid-pro 15.25.1 → 15.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/custom-elements.json +2209 -829
  2. package/dist/dts/column-selection/column-picker-ag-drag.d.ts +18 -0
  3. package/dist/dts/column-selection/column-picker-ag-drag.d.ts.map +1 -0
  4. package/dist/dts/column-selection/column-picker.utils.d.ts +50 -0
  5. package/dist/dts/column-selection/column-picker.utils.d.ts.map +1 -0
  6. package/dist/dts/column-selection/column-selection.d.ts +549 -0
  7. package/dist/dts/column-selection/column-selection.d.ts.map +1 -0
  8. package/dist/dts/column-selection/column-selection.styles.d.ts +11 -0
  9. package/dist/dts/column-selection/column-selection.styles.d.ts.map +1 -0
  10. package/dist/dts/column-selection/column-selection.template.d.ts +13 -0
  11. package/dist/dts/column-selection/column-selection.template.d.ts.map +1 -0
  12. package/dist/dts/column-selection/grid-pro-column-drag-bridge.d.ts +46 -0
  13. package/dist/dts/column-selection/grid-pro-column-drag-bridge.d.ts.map +1 -0
  14. package/dist/dts/column-selection/index.d.ts +8 -0
  15. package/dist/dts/column-selection/index.d.ts.map +1 -0
  16. package/dist/dts/column-selection/resolve-columns-picker-api.d.ts +23 -0
  17. package/dist/dts/column-selection/resolve-columns-picker-api.d.ts.map +1 -0
  18. package/dist/dts/grid-pro-beta.d.ts +12 -0
  19. package/dist/dts/grid-pro-beta.d.ts.map +1 -1
  20. package/dist/dts/grid-pro.styles.d.ts.map +1 -1
  21. package/dist/dts/grid-pro.template.d.ts.map +1 -1
  22. package/dist/dts/index.d.ts +1 -0
  23. package/dist/dts/index.d.ts.map +1 -1
  24. package/dist/dts/react.d.ts +19 -9
  25. package/dist/esm/column-selection/column-picker-ag-drag.js +52 -0
  26. package/dist/esm/column-selection/column-picker.utils.js +118 -0
  27. package/dist/esm/column-selection/column-selection.js +620 -0
  28. package/dist/esm/column-selection/column-selection.styles.js +236 -0
  29. package/dist/esm/column-selection/column-selection.template.js +96 -0
  30. package/dist/esm/column-selection/grid-pro-column-drag-bridge.js +62 -0
  31. package/dist/esm/column-selection/index.js +7 -0
  32. package/dist/esm/column-selection/resolve-columns-picker-api.js +42 -0
  33. package/dist/esm/grid-pro-beta.js +33 -2
  34. package/dist/esm/grid-pro.styles.js +2 -0
  35. package/dist/esm/grid-pro.template.js +8 -1
  36. package/dist/esm/index.js +1 -0
  37. package/dist/grid-pro.api.json +6820 -4409
  38. package/dist/grid-pro.d.ts +781 -46
  39. package/dist/react.cjs +13 -6
  40. package/dist/react.mjs +11 -5
  41. package/package.json +13 -13
@@ -26,8 +26,8 @@ import { ColDef as ColDef_2 } from 'ag-grid-community';
26
26
  import { ColGroupDef } from '@ag-grid-community/core';
27
27
  import { ColSpanFunc } from 'ag-grid-community';
28
28
  import { ColSpanParams } from '@ag-grid-community/core';
29
- import { Column } from '@ag-grid-community/core';
30
- import { Column as Column_2 } from 'ag-grid-community';
29
+ import { Column } from 'ag-grid-community';
30
+ import { Column as Column_2 } from '@ag-grid-community/core';
31
31
  import type { ColumnApi } from '@ag-grid-community/core';
32
32
  import { ColumnChooserParams } from 'ag-grid-community';
33
33
  import { ColumnMenuTab } from '@ag-grid-community/core';
@@ -68,10 +68,12 @@ import { GetMainMenuItems } from 'ag-grid-community';
68
68
  import { GetQuickFilterText } from 'ag-grid-community';
69
69
  import { GetQuickFilterTextParams } from '@ag-grid-community/core';
70
70
  import { Grid } from '@ag-grid-community/core';
71
- import type { GridApi } from '@ag-grid-community/core';
72
- import type { GridApi as GridApi_2 } from 'ag-grid-community';
71
+ import { GridApi } from 'ag-grid-community';
72
+ import type { GridApi as GridApi_2 } from '@ag-grid-community/core';
73
+ import { GridDragSource } from 'ag-grid-community';
73
74
  import { GridOptions } from '@ag-grid-community/core';
74
75
  import { GridOptions as GridOptions_2 } from 'ag-grid-community';
76
+ import { GridOptionsService } from 'ag-grid-community';
75
77
  import type { GridParams } from '@ag-grid-community/core';
76
78
  import type { GridParams as GridParams_2 } from 'ag-grid-community';
77
79
  import { GridReadyEvent } from 'ag-grid-community';
@@ -118,6 +120,7 @@ import { LayoutCacheContainer } from '@genesislcap/foundation-utils';
118
120
  import { Logger } from '@genesislcap/foundation-logger';
119
121
  import { MenuItemDef } from 'ag-grid-community';
120
122
  import { MetadataDetail } from '@genesislcap/foundation-comms';
123
+ import { Module } from 'ag-grid-community';
121
124
  import { NewValueParams } from '@ag-grid-community/core';
122
125
  import { NewValueParams as NewValueParams_2 } from 'ag-grid-community';
123
126
  import { OverrideFoundationElementDefinition } from '@microsoft/fast-foundation';
@@ -578,6 +581,12 @@ export declare const agThemeTokenMapClassname: (themeName: string) => string;
578
581
  */
579
582
  export declare const agThemeTokenMapCSS: (themeName: string, tokenMap: CSSVarTokenMap<any>) => ElementStyles;
580
583
 
584
+ /** @public */
585
+ export declare function applyVisibleOrder<T extends {
586
+ colId?: string;
587
+ hide?: boolean | null;
588
+ }>(columnState: T[], visibleOrder: string[]): T[];
589
+
581
590
  /**
582
591
  * The background color swatch.
583
592
  * @internal
@@ -601,55 +610,651 @@ export declare type BaseDatasourceErrorEventDetail = {
601
610
  };
602
611
 
603
612
  /**
604
- * Base datasource error event names.
613
+ * Base datasource error event names.
614
+ * @public
615
+ */
616
+ export declare const baseDatasourceEventNames: {
617
+ readonly error: "base-datasource-error";
618
+ readonly connected: "base-datasource-connected";
619
+ };
620
+
621
+ /**
622
+ * Registers an AG Grid `ToolPanel` drag source on a picker row handle so drops on
623
+ * the grid header use AG column-move (visibility + exact index).
624
+ *
625
+ * @public
626
+ */
627
+ export declare function bindAgColumnPickerDrag(bridge: GridProColumnDragBridge, api: GridApi, handle: HTMLElement, colId: string, dragItemName: string): ColumnPickerAgDragBinding | null;
628
+
629
+ /**
630
+ * The AG Boolean Renderer element.
631
+ * @public
632
+ * @tagname %%prefix%%-boolean-renderer
633
+ */
634
+ export declare class BooleanRenderer extends FoundationElement implements ICellRendererComp {
635
+ params: ICellRendererParams & BooleanRendererParams;
636
+ selected: boolean;
637
+ isDisabled(data: any): boolean;
638
+ init(params: ICellRendererParams): void;
639
+ /** @internal */
640
+ userInputHandler(e: Event): void;
641
+ getGui(): HTMLElement;
642
+ destroy(): void;
643
+ refresh(params: ICellRendererParams): boolean;
644
+ getValue(): boolean;
645
+ isCancelBeforeStart(): boolean;
646
+ /** @internal */
647
+ getDataTestId(): string | null;
648
+ }
649
+
650
+ /**
651
+ * Parameters for the {@link @genesislcap/grid-pro#GridPro} boolean renderer.
652
+ * @public
653
+ */
654
+ export declare type BooleanRendererParams = {
655
+ /**
656
+ * Function to determine whether the boolean renderer should be disabled for a specific row.
657
+ * @param rowData - The data associated with the row.
658
+ * @returns A boolean indicating whether the button should be disabled.
659
+ */
660
+ isDisabled?: (rowData: any) => boolean;
661
+ onChange?: <T>(rowData: T) => void;
662
+ dataTestId?: (<T>(rowData: T) => string) | string;
663
+ };
664
+
665
+ declare type BridgeInitBeans = {
666
+ dragAndDrop?: GridProColumnDragBridge['dragAndDrop'];
667
+ gos?: GridOptionsService;
668
+ gridOptions?: {
669
+ context?: GridProColumnDragBridgeContext;
670
+ };
671
+ };
672
+
673
+ /**
674
+ * The Grid Pro Cell Template.
675
+ * @public
676
+ */
677
+ export declare const CellTemplate: ViewTemplate<GridProCell, any>;
678
+
679
+ /** @public */
680
+ export declare const COLUMN_PICKER_SORT_DEFAULT: ColumnPickerSort;
681
+
682
+ /**
683
+ * Active AG drag registration for a picker handle.
684
+ * @public
685
+ */
686
+ export declare type ColumnPickerAgDragBinding = {
687
+ source: GridDragSource;
688
+ remove: () => void;
689
+ };
690
+
691
+ /**
692
+ * Row model for the column selection picker list.
693
+ * @public
694
+ */
695
+ export declare interface ColumnPickerItem {
696
+ colId: string;
697
+ headerName: string;
698
+ visible: boolean;
699
+ lockVisible: boolean;
700
+ }
701
+
702
+ /**
703
+ * Column list ordering for the column selection picker.
704
+ * @public
705
+ */
706
+ export declare type ColumnPickerSort = 'selected-first' | 'ag-grid';
707
+
708
+ /**
709
+ * Button + popover column picker for Grid Pro (Community).
710
+ *
711
+ * @public
712
+ * @remarks
713
+ * HTML Element: \<%%prefix%%-column-selection\>
714
+ *
715
+ * Provide either `:gridApi` (AG v36) or `:gridHost` (Grid Pro element with `gridApi` / `columnApi`).
716
+ *
717
+ * The panel uses the Popover API (`popover="manual"`) so it paints in the top layer and is not
718
+ * clipped by layout ancestors with `overflow: hidden`. Placement is pure CSS (anchor positioning
719
+ * via `showPopover({ source })` + `position-area`).
720
+ *
721
+ * Layout: select-all + search → column list. Ordering via `sort`
722
+ * (`selected-first` default, or `ag-grid`). Checkboxes toggle visibility via
723
+ * `api.setColumnsVisible`; drag handles on hidden rows use AG native DnD onto the grid
724
+ * (`allowDragFromColumnsToolPanel`); visible rows reorder inside the picker via HTML5 drag.
725
+ *
726
+ * @tagname %%prefix%%-column-selection
727
+ */
728
+ export declare class ColumnSelection extends ColumnSelection_base {
729
+ /** Button label. */
730
+ label: string;
731
+ /**
732
+ * Column list ordering.
733
+ * - `selected-first` (default): visible first (grid display order), then hidden A–Z.
734
+ * - `ag-grid`: `api.getColumnState()` order (visible/hidden interleaved).
735
+ */
736
+ sort: ColumnPickerSort;
737
+ /** Whether the popover is open. */
738
+ open: boolean;
739
+ /** Optional explicit AG grid API (v36). */
740
+ gridApi: GridApi | null;
741
+ /** Grid Pro host element; column API is bridged when needed. */
742
+ gridHost: ColumnSelectionHost | null;
743
+ /** @internal */
744
+ root: HTMLElement;
745
+ /** @internal */
746
+ buttonEl: HTMLElement;
747
+ /** @internal */
748
+ panelEl: HTMLElement;
749
+ search: string;
750
+ selectedItems: ColumnPickerItem[];
751
+ unselectedItems: ColumnPickerItem[];
752
+ /** Master checkbox checked when every toggleable column is visible. */
753
+ selectAllChecked: boolean;
754
+ /** Master checkbox mixed when some (but not all) toggleable columns are visible. */
755
+ selectAllIndeterminate: boolean;
756
+ /** Resolved sort; kept in sync with `@attr sort`. */
757
+ private resolvedSort;
758
+ /** Source colId while a visible-row drag is in progress. */
759
+ private dragColId;
760
+ /** Row currently showing drag-over highlight (avoid observable updates mid-drag). */
761
+ private dragOverElement;
762
+ /** Cancels row drag listeners when the selected list re-renders. */
763
+ private dragBindingAbort;
764
+ /** AG ToolPanel drag sources registered on hidden-row handles (grid drop). */
765
+ private agDragBindings;
766
+ /** Shared DnD bridge from Grid Pro. */
767
+ private columnDragBridge;
768
+ /** Retries `bindRowDrag` until the DnD bridge is populated. */
769
+ private dragBridgeRetryId;
770
+ /** Optimistic visibility while the grid applies setColumnsVisible. */
771
+ private pendingVisibility;
772
+ /** Stable listener refs so close/disconnect can remove the same functions. */
773
+ private readonly boundRefresh;
774
+ private get pickerApi();
775
+ private set pickerApi(value);
776
+ /** Query root for picker DOM (shadow panel). */
777
+ private get pickerRoot();
778
+ /** Drag reorder / grid drop disabled while search filter is active. */
779
+ get canDrag(): boolean;
780
+ /** Handle is draggable onto the grid (hidden columns, or all when using ag-grid sort). */
781
+ canDragToGrid(item: ColumnPickerItem): boolean;
782
+ /** Columns in the current (search-filtered) picker lists that can be toggled. */
783
+ private get toggleableItems();
784
+ openChanged(oldValue?: boolean): void;
785
+ sortChanged(): void;
786
+ gridApiChanged(): void;
787
+ gridHostChanged(): void;
788
+ panelElChanged(): void;
789
+ /**
790
+ * Subscribe to grid column events and rebuild picker lists.
791
+ * Called automatically when the popover opens; exposed for tests/hosts that need an early bind.
792
+ * @internal
793
+ */
794
+ connectPicker(): void;
795
+ /**
796
+ * Opens or closes the popover.
797
+ * @public
798
+ */
799
+ toggle(): void;
800
+ /**
801
+ * Closes the popover.
802
+ * @public
803
+ */
804
+ close(): void;
805
+ /**
806
+ * Rebuilds picker lists from current grid column state.
807
+ */
808
+ refresh(): void;
809
+ disconnectedCallback(): void;
810
+ private readonly handleClickOutside;
811
+ private showPanel;
812
+ private hidePanel;
813
+ private subscribePicker;
814
+ private resubscribePicker;
815
+ private unsubscribePicker;
816
+ private syncSelectAllState;
817
+ private applyPendingVisibility;
818
+ private resolveDragBridge;
819
+ /**
820
+ * Visible rows: HTML5 reorder inside the picker.
821
+ * Hidden rows (or all rows when `sort=ag-grid`): AG ToolPanel drag onto the grid header.
822
+ */
823
+ private bindRowDrag;
824
+ private scheduleDragBridgeRetry;
825
+ /**
826
+ * @internal
827
+ */
828
+ onSearchInput(value: string): void;
829
+ /**
830
+ * @internal
831
+ */
832
+ onSelectAllClick(event: MouseEvent): void;
833
+ /**
834
+ * @internal
835
+ */
836
+ onCheckboxClick(item: ColumnPickerItem, event: MouseEvent): void;
837
+ /**
838
+ * @internal
839
+ */
840
+ onVisibilityChange(item: ColumnPickerItem, visible: boolean): void;
841
+ /**
842
+ * @internal
843
+ */
844
+ onDragStart(event: DragEvent, colId: string, row?: HTMLElement): void;
845
+ /**
846
+ * @internal
847
+ */
848
+ onDragEnd(): void;
849
+ /**
850
+ * @internal
851
+ */
852
+ onDragOver(event: DragEvent, row: HTMLElement): void;
853
+ /**
854
+ * @internal
855
+ */
856
+ onDragLeave(event: DragEvent, row: HTMLElement): void;
857
+ /**
858
+ * @internal
859
+ */
860
+ onDrop(event: DragEvent, colId: string): void;
861
+ private clearDragOverHighlight;
862
+ /**
863
+ * Applies a new visible-column order via `applyColumnState({ applyOrder: true })`.
864
+ * Hidden columns keep their relative positions; only the visible slice is permuted.
865
+ */
866
+ private reorderSelected;
867
+ }
868
+
869
+ declare const ColumnSelection_base: (new (...args: any[]) => {
870
+ #_container: FoundationLayoutContainer | LayoutCacheContainer | DOMContainer;
871
+ #_latestTokenCode: string;
872
+ #_hasFirstLoaded: boolean;
873
+ #_cleanupTimeout: NodeJS.Timeout;
874
+ #_shouldForceLifecycle: boolean;
875
+ #_blockedDisconnectSurvivedGracePeriod: boolean;
876
+ cloneNode(deep?: boolean): Node;
877
+ deepClone(): Node;
878
+ get shouldRunDisconnect(): boolean;
879
+ get shouldRunConnect(): boolean;
880
+ #_blockLifecycleDueToTokenChange(lifecycleType: "connect" | "disconnect" | "reconnect"): boolean;
881
+ #_tryFindContainingLayout(e: Element): FoundationLayoutContainer | LayoutCacheContainer | DOMContainer;
882
+ connectedCallback(): void;
883
+ readonly $fastController: Controller;
884
+ $emit(type: string, detail?: any, options?: Omit<CustomEventInit, "detail">): boolean | void;
885
+ disconnectedCallback(): void;
886
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
887
+ accessKey: string;
888
+ readonly accessKeyLabel: string;
889
+ autocapitalize: string;
890
+ autocorrect: boolean;
891
+ dir: string;
892
+ draggable: boolean;
893
+ hidden: boolean;
894
+ inert: boolean;
895
+ innerText: string;
896
+ lang: string;
897
+ readonly offsetHeight: number;
898
+ readonly offsetLeft: number;
899
+ readonly offsetParent: Element | null;
900
+ readonly offsetTop: number;
901
+ readonly offsetWidth: number;
902
+ outerText: string;
903
+ popover: string | null;
904
+ spellcheck: boolean;
905
+ title: string;
906
+ translate: boolean;
907
+ writingSuggestions: string;
908
+ attachInternals(): ElementInternals;
909
+ click(): void;
910
+ hidePopover(): void;
911
+ showPopover(): void;
912
+ togglePopover(options?: boolean): boolean;
913
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
914
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
915
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
916
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
917
+ readonly attributes: NamedNodeMap;
918
+ get classList(): DOMTokenList;
919
+ set classList(value: string): any;
920
+ className: string;
921
+ readonly clientHeight: number;
922
+ readonly clientLeft: number;
923
+ readonly clientTop: number;
924
+ readonly clientWidth: number;
925
+ readonly currentCSSZoom: number;
926
+ id: string;
927
+ innerHTML: string;
928
+ readonly localName: string;
929
+ readonly namespaceURI: string | null;
930
+ onfullscreenchange: (this: Element, ev: Event) => any;
931
+ onfullscreenerror: (this: Element, ev: Event) => any;
932
+ outerHTML: string;
933
+ readonly ownerDocument: Document;
934
+ get part(): DOMTokenList;
935
+ set part(value: string): any;
936
+ readonly prefix: string | null;
937
+ readonly scrollHeight: number;
938
+ scrollLeft: number;
939
+ scrollTop: number;
940
+ readonly scrollWidth: number;
941
+ readonly shadowRoot: ShadowRoot | null;
942
+ slot: string;
943
+ readonly tagName: string;
944
+ attachShadow(init: ShadowRootInit): ShadowRoot;
945
+ checkVisibility(options?: CheckVisibilityOptions): boolean;
946
+ closest<K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K];
947
+ closest<K extends keyof SVGElementTagNameMap>(selector: K): SVGElementTagNameMap[K];
948
+ closest<K extends keyof MathMLElementTagNameMap>(selector: K): MathMLElementTagNameMap[K];
949
+ closest<E extends Element = Element>(selectors: string): E;
950
+ computedStyleMap(): StylePropertyMapReadOnly;
951
+ getAttribute(qualifiedName: string): string | null;
952
+ getAttributeNS(namespace: string | null, localName: string): string | null;
953
+ getAttributeNames(): string[];
954
+ getAttributeNode(qualifiedName: string): Attr | null;
955
+ getAttributeNodeNS(namespace: string | null, localName: string): Attr | null;
956
+ getBoundingClientRect(): DOMRect;
957
+ getClientRects(): DOMRectList;
958
+ getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;
959
+ getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>;
960
+ getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>;
961
+ getElementsByTagName<K extends keyof MathMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<MathMLElementTagNameMap[K]>;
962
+ getElementsByTagName<K extends keyof HTMLElementDeprecatedTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K]>;
963
+ getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;
964
+ getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
965
+ getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
966
+ getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1998/Math/MathML", localName: string): HTMLCollectionOf<MathMLElement>;
967
+ getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf<Element>;
968
+ getHTML(options?: GetHTMLOptions): string;
969
+ hasAttribute(qualifiedName: string): boolean;
970
+ hasAttributeNS(namespace: string | null, localName: string): boolean;
971
+ hasAttributes(): boolean;
972
+ hasPointerCapture(pointerId: number): boolean;
973
+ insertAdjacentElement(where: InsertPosition, element: Element): Element | null;
974
+ insertAdjacentHTML(position: InsertPosition, string: string): void;
975
+ insertAdjacentText(where: InsertPosition, data: string): void;
976
+ matches(selectors: string): boolean;
977
+ releasePointerCapture(pointerId: number): void;
978
+ removeAttribute(qualifiedName: string): void;
979
+ removeAttributeNS(namespace: string | null, localName: string): void;
980
+ removeAttributeNode(attr: Attr): Attr;
981
+ requestFullscreen(options?: FullscreenOptions): Promise<void>;
982
+ requestPointerLock(options?: PointerLockOptions): Promise<void>;
983
+ scroll(options?: ScrollToOptions): void;
984
+ scroll(x: number, y: number): void;
985
+ scrollBy(options?: ScrollToOptions): void;
986
+ scrollBy(x: number, y: number): void;
987
+ scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void;
988
+ scrollTo(options?: ScrollToOptions): void;
989
+ scrollTo(x: number, y: number): void;
990
+ setAttribute(qualifiedName: string, value: string): void;
991
+ setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void;
992
+ setAttributeNode(attr: Attr): Attr | null;
993
+ setAttributeNodeNS(attr: Attr): Attr | null;
994
+ setHTMLUnsafe(html: string): void;
995
+ setPointerCapture(pointerId: number): void;
996
+ toggleAttribute(qualifiedName: string, force?: boolean): boolean;
997
+ webkitMatchesSelector(selectors: string): boolean;
998
+ textContent: string;
999
+ readonly baseURI: string;
1000
+ readonly childNodes: NodeListOf<ChildNode>;
1001
+ readonly firstChild: ChildNode | null;
1002
+ readonly isConnected: boolean;
1003
+ readonly lastChild: ChildNode | null;
1004
+ readonly nextSibling: ChildNode | null;
1005
+ readonly nodeName: string;
1006
+ readonly nodeType: number;
1007
+ nodeValue: string | null;
1008
+ readonly parentElement: HTMLElement | null;
1009
+ readonly parentNode: ParentNode | null;
1010
+ readonly previousSibling: ChildNode | null;
1011
+ appendChild<T_1 extends Node>(node: T_1): T_1;
1012
+ compareDocumentPosition(other: Node): number;
1013
+ contains(other: Node | null): boolean;
1014
+ getRootNode(options?: GetRootNodeOptions): Node;
1015
+ hasChildNodes(): boolean;
1016
+ insertBefore<T_1 extends Node>(node: T_1, child: Node | null): T_1;
1017
+ isDefaultNamespace(namespace: string | null): boolean;
1018
+ isEqualNode(otherNode: Node | null): boolean;
1019
+ isSameNode(otherNode: Node | null): boolean;
1020
+ lookupNamespaceURI(prefix: string | null): string | null;
1021
+ lookupPrefix(namespace: string | null): string | null;
1022
+ normalize(): void;
1023
+ removeChild<T_1 extends Node>(child: T_1): T_1;
1024
+ replaceChild<T_1 extends Node>(node: Node, child: T_1): T_1;
1025
+ readonly ELEMENT_NODE: 1;
1026
+ readonly ATTRIBUTE_NODE: 2;
1027
+ readonly TEXT_NODE: 3;
1028
+ readonly CDATA_SECTION_NODE: 4;
1029
+ readonly ENTITY_REFERENCE_NODE: 5;
1030
+ readonly ENTITY_NODE: 6;
1031
+ readonly PROCESSING_INSTRUCTION_NODE: 7;
1032
+ readonly COMMENT_NODE: 8;
1033
+ readonly DOCUMENT_NODE: 9;
1034
+ readonly DOCUMENT_TYPE_NODE: 10;
1035
+ readonly DOCUMENT_FRAGMENT_NODE: 11;
1036
+ readonly NOTATION_NODE: 12;
1037
+ readonly DOCUMENT_POSITION_DISCONNECTED: 1;
1038
+ readonly DOCUMENT_POSITION_PRECEDING: 2;
1039
+ readonly DOCUMENT_POSITION_FOLLOWING: 4;
1040
+ readonly DOCUMENT_POSITION_CONTAINS: 8;
1041
+ readonly DOCUMENT_POSITION_CONTAINED_BY: 16;
1042
+ readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
1043
+ dispatchEvent(event: Event): boolean;
1044
+ ariaActiveDescendantElement: Element | null;
1045
+ ariaAtomic: string | null;
1046
+ ariaAutoComplete: string | null;
1047
+ ariaBrailleLabel: string | null;
1048
+ ariaBrailleRoleDescription: string | null;
1049
+ ariaBusy: string | null;
1050
+ ariaChecked: string | null;
1051
+ ariaColCount: string | null;
1052
+ ariaColIndex: string | null;
1053
+ ariaColIndexText: string | null;
1054
+ ariaColSpan: string | null;
1055
+ ariaControlsElements: ReadonlyArray<Element> | null;
1056
+ ariaCurrent: string | null;
1057
+ ariaDescribedByElements: ReadonlyArray<Element> | null;
1058
+ ariaDescription: string | null;
1059
+ ariaDetailsElements: ReadonlyArray<Element> | null;
1060
+ ariaDisabled: string | null;
1061
+ ariaErrorMessageElements: ReadonlyArray<Element> | null;
1062
+ ariaExpanded: string | null;
1063
+ ariaFlowToElements: ReadonlyArray<Element> | null;
1064
+ ariaHasPopup: string | null;
1065
+ ariaHidden: string | null;
1066
+ ariaInvalid: string | null;
1067
+ ariaKeyShortcuts: string | null;
1068
+ ariaLabel: string | null;
1069
+ ariaLabelledByElements: ReadonlyArray<Element> | null;
1070
+ ariaLevel: string | null;
1071
+ ariaLive: string | null;
1072
+ ariaModal: string | null;
1073
+ ariaMultiLine: string | null;
1074
+ ariaMultiSelectable: string | null;
1075
+ ariaOrientation: string | null;
1076
+ ariaOwnsElements: ReadonlyArray<Element> | null;
1077
+ ariaPlaceholder: string | null;
1078
+ ariaPosInSet: string | null;
1079
+ ariaPressed: string | null;
1080
+ ariaReadOnly: string | null;
1081
+ ariaRelevant: string | null;
1082
+ ariaRequired: string | null;
1083
+ ariaRoleDescription: string | null;
1084
+ ariaRowCount: string | null;
1085
+ ariaRowIndex: string | null;
1086
+ ariaRowIndexText: string | null;
1087
+ ariaRowSpan: string | null;
1088
+ ariaSelected: string | null;
1089
+ ariaSetSize: string | null;
1090
+ ariaSort: string | null;
1091
+ ariaValueMax: string | null;
1092
+ ariaValueMin: string | null;
1093
+ ariaValueNow: string | null;
1094
+ ariaValueText: string | null;
1095
+ role: string | null;
1096
+ animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation;
1097
+ getAnimations(options?: GetAnimationsOptions): Animation[];
1098
+ after(...nodes: (Node | string)[]): void;
1099
+ before(...nodes: (Node | string)[]): void;
1100
+ remove(): void;
1101
+ replaceWith(...nodes: (Node | string)[]): void;
1102
+ readonly nextElementSibling: Element | null;
1103
+ readonly previousElementSibling: Element | null;
1104
+ readonly childElementCount: number;
1105
+ readonly children: HTMLCollection;
1106
+ readonly firstElementChild: Element | null;
1107
+ readonly lastElementChild: Element | null;
1108
+ append(...nodes: (Node | string)[]): void;
1109
+ prepend(...nodes: (Node | string)[]): void;
1110
+ querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null;
1111
+ querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null;
1112
+ querySelector<K extends keyof MathMLElementTagNameMap>(selectors: K): MathMLElementTagNameMap[K] | null;
1113
+ querySelector<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): HTMLElementDeprecatedTagNameMap[K] | null;
1114
+ querySelector<E extends Element = Element>(selectors: string): E | null;
1115
+ querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>;
1116
+ querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>;
1117
+ querySelectorAll<K extends keyof MathMLElementTagNameMap>(selectors: K): NodeListOf<MathMLElementTagNameMap[K]>;
1118
+ querySelectorAll<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>;
1119
+ querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;
1120
+ replaceChildren(...nodes: (Node | string)[]): void;
1121
+ readonly assignedSlot: HTMLSlotElement | null;
1122
+ readonly attributeStyleMap: StylePropertyMap;
1123
+ get style(): CSSStyleDeclaration;
1124
+ set style(cssText: string): any;
1125
+ contentEditable: string;
1126
+ enterKeyHint: string;
1127
+ inputMode: string;
1128
+ readonly isContentEditable: boolean;
1129
+ onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
1130
+ onanimationcancel: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
1131
+ onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
1132
+ onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
1133
+ onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
1134
+ onauxclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
1135
+ onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;
1136
+ onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1137
+ onbeforetoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
1138
+ onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
1139
+ oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1140
+ oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1141
+ oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1142
+ onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1143
+ onclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
1144
+ onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1145
+ oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1146
+ oncontextmenu: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
1147
+ oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1148
+ oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
1149
+ oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1150
+ oncut: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
1151
+ ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
1152
+ ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
1153
+ ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
1154
+ ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
1155
+ ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
1156
+ ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
1157
+ ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
1158
+ ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
1159
+ ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1160
+ onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1161
+ onended: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1162
+ onerror: OnErrorEventHandler;
1163
+ onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
1164
+ onformdata: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null;
1165
+ ongotpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
1166
+ oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1167
+ oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1168
+ onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;
1169
+ onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;
1170
+ onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;
1171
+ onload: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1172
+ onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1173
+ onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1174
+ onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1175
+ onlostpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
1176
+ onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
1177
+ onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
1178
+ onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
1179
+ onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
1180
+ onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
1181
+ onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
1182
+ onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
1183
+ onpaste: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
1184
+ onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1185
+ onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1186
+ onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1187
+ onpointercancel: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
1188
+ onpointerdown: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
1189
+ onpointerenter: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
1190
+ onpointerleave: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
1191
+ onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
1192
+ onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
1193
+ onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
1194
+ onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1195
+ onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
1196
+ onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;
1197
+ onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1198
+ onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1199
+ onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
1200
+ onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1201
+ onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1202
+ onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;
1203
+ onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1204
+ onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1205
+ onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1206
+ onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1207
+ onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1208
+ onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1209
+ onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1210
+ onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;
1211
+ onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1212
+ ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1213
+ ontoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
1214
+ ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
1215
+ ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
1216
+ ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
1217
+ ontouchstart?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
1218
+ ontransitioncancel: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
1219
+ ontransitionend: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
1220
+ ontransitionrun: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
1221
+ ontransitionstart: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;
1222
+ onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1223
+ onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1224
+ onwebkitanimationend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1225
+ onwebkitanimationiteration: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1226
+ onwebkitanimationstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1227
+ onwebkittransitionend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1228
+ onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null;
1229
+ autofocus: boolean;
1230
+ readonly dataset: DOMStringMap;
1231
+ nonce?: string;
1232
+ tabIndex: number;
1233
+ blur(): void;
1234
+ focus(options?: FocusOptions): void;
1235
+ }) & typeof FoundationElement;
1236
+
1237
+ /**
1238
+ * Grid host shape shared by classic (v29) and beta (v36) Grid Pro elements.
605
1239
  * @public
606
1240
  */
607
- export declare const baseDatasourceEventNames: {
608
- readonly error: "base-datasource-error";
609
- readonly connected: "base-datasource-connected";
1241
+ export declare type ColumnSelectionHost = {
1242
+ gridApi?: Record<string, unknown>;
1243
+ columnApi?: Record<string, unknown>;
1244
+ getColumnDragBridge?: () => GridProColumnDragBridge;
610
1245
  };
611
1246
 
612
1247
  /**
613
- * The AG Boolean Renderer element.
614
- * @public
615
- * @tagname %%prefix%%-boolean-renderer
616
- */
617
- export declare class BooleanRenderer extends FoundationElement implements ICellRendererComp {
618
- params: ICellRendererParams & BooleanRendererParams;
619
- selected: boolean;
620
- isDisabled(data: any): boolean;
621
- init(params: ICellRendererParams): void;
622
- /** @internal */
623
- userInputHandler(e: Event): void;
624
- getGui(): HTMLElement;
625
- destroy(): void;
626
- refresh(params: ICellRendererParams): boolean;
627
- getValue(): boolean;
628
- isCancelBeforeStart(): boolean;
629
- /** @internal */
630
- getDataTestId(): string | null;
631
- }
632
-
633
- /**
634
- * Parameters for the {@link @genesislcap/grid-pro#GridPro} boolean renderer.
1248
+ * Styles for {@link ColumnSelection}.
635
1249
  * @public
636
1250
  */
637
- export declare type BooleanRendererParams = {
638
- /**
639
- * Function to determine whether the boolean renderer should be disabled for a specific row.
640
- * @param rowData - The data associated with the row.
641
- * @returns A boolean indicating whether the button should be disabled.
642
- */
643
- isDisabled?: (rowData: any) => boolean;
644
- onChange?: <T>(rowData: T) => void;
645
- dataTestId?: (<T>(rowData: T) => string) | string;
646
- };
1251
+ export declare const columnSelectionStyles: ElementStyles;
647
1252
 
648
1253
  /**
649
- * The Grid Pro Cell Template.
1254
+ * Default column selection template (`foundation-*` components).
650
1255
  * @public
651
1256
  */
652
- export declare const CellTemplate: ViewTemplate<GridProCell, any>;
1257
+ export declare const columnSelectionTemplate: ViewTemplate<ColumnSelection, any>;
653
1258
 
654
1259
  /**
655
1260
  * The Grid Pro Column Template.
@@ -1445,6 +2050,23 @@ styles: ElementStyles;
1445
2050
  template: ViewTemplate<AgTextFieldRenderer, any>;
1446
2051
  }, typeof AgTextRenderer>;
1447
2052
 
2053
+ /**
2054
+ * Foundation Column Selection registration.
2055
+ *
2056
+ * @public
2057
+ * @remarks
2058
+ * HTML Element: \<foundation-column-selection\>
2059
+ */
2060
+ export declare const foundationColumnSelection: (overrideDefinition?: OverrideFoundationElementDefinition< {
2061
+ baseName: string;
2062
+ template: ViewTemplate<ColumnSelection, any>;
2063
+ styles: ElementStyles;
2064
+ }>) => FoundationElementRegistry< {
2065
+ baseName: string;
2066
+ template: ViewTemplate<ColumnSelection, any>;
2067
+ styles: ElementStyles;
2068
+ }, typeof ColumnSelection>;
2069
+
1448
2070
  /**
1449
2071
  *
1450
2072
  * @public
@@ -2613,6 +3235,13 @@ export declare function getAvailableIndexes(data: Map<string, string[]>): string
2613
3235
  */
2614
3236
  export declare function getAvailableIndexFields(data: Map<string, string[]>): string[];
2615
3237
 
3238
+ /**
3239
+ * Column Selection button + popover with embedded picker UI.
3240
+ * @param prefix - Design-system prefix for button/icon/checkbox/text-field.
3241
+ * @public
3242
+ */
3243
+ export declare const getColumnSelectionTemplate: (prefix?: string) => ViewTemplate<ColumnSelection, any>;
3244
+
2616
3245
  /**
2617
3246
  * Return a column type base on each field's metadata from the selected resource.
2618
3247
  * @param metadataType - The type of the field/column
@@ -2679,6 +3308,9 @@ export declare const getMultiselectEditorTemplate: (designSystem?: string) => Vi
2679
3308
  */
2680
3309
  export declare const getNumberEditorTemplate: (designSystem?: string) => ViewTemplate<NumberEditor, any>;
2681
3310
 
3311
+ /** @public */
3312
+ export declare function getPickerItems(columns: Column[]): ColumnPickerItem[];
3313
+
2682
3314
  /**
2683
3315
  * Get a Design System prefixed Select template.
2684
3316
  * @param designSystem - The design system prefix to use. Defaults to 'foundation'.
@@ -2725,6 +3357,11 @@ export declare const getTextFieldRendererTemplate: (designSystem?: string) => Vi
2725
3357
  */
2726
3358
  export declare const getTextRendererTemplate: (designSystem?: string) => ViewTemplate<AgTextFieldRenderer, any>;
2727
3359
 
3360
+ /** Context key on `gridOptions.context` for AG column drag integration.
3361
+ * @public
3362
+ */
3363
+ export declare const GRID_PRO_COLUMN_DRAG_BRIDGE_CONTEXT_KEY: "gridProColumnDragBridge";
3364
+
2728
3365
  /**
2729
3366
  * Event fired when grid is ready
2730
3367
  * @public
@@ -2774,7 +3411,7 @@ export declare const GridOptionsConfig: InterfaceSymbol<GridOptionsConfig>;
2774
3411
  */
2775
3412
  export declare class GridPro extends GridPro_base {
2776
3413
  columnApi: ColumnApi;
2777
- gridApi: GridApi;
3414
+ gridApi: GridApi_2;
2778
3415
  private cachedTotalColumnWidth;
2779
3416
  private columnCount;
2780
3417
  gridErrorItems: GridProErrorItem<GridProErrorEvent['detail']>[];
@@ -3686,7 +4323,7 @@ export declare class GridProBaseDatasource extends GenesisGridDatasourceElement
3686
4323
  * @remarks Re-emits AG Grid public API events when listeners are registered via `addEventListener` (event names match AG Grid public event strings). The same AG Grid events are also dispatched as native `Event`s with lowercased `type` and payload on `agGridDetails` (for example `addEventListener('columnresized', ...)`).
3687
4324
  */
3688
4325
  export declare class GridProBeta extends GridProBeta_base {
3689
- gridApi: GridApi_2;
4326
+ gridApi: GridApi;
3690
4327
  gridErrorItems: GridProErrorItem<GridProErrorEvent['detail']>[];
3691
4328
  statePersistence: StatePersistence;
3692
4329
  /**
@@ -3715,6 +4352,10 @@ export declare class GridProBeta extends GridProBeta_base {
3715
4352
  * If true, will enable row flashing for all rows for `add` async transactions
3716
4353
  */
3717
4354
  enableRowFlashing: boolean;
4355
+ /** Wired to `gridOptions.context` for columns picker → grid drag (see bridge module). */
4356
+ private readonly columnDragBridge;
4357
+ /** @internal Shared AG column-drag bridge for custom tool panels. */
4358
+ getColumnDragBridge(): GridProColumnDragBridge;
3718
4359
  /**
3719
4360
  * The key to use for persisting the column state in local browser or KV storage.
3720
4361
  */
@@ -3741,7 +4382,7 @@ export declare class GridProBeta extends GridProBeta_base {
3741
4382
  headerHeight: number;
3742
4383
  rowHeight: number;
3743
4384
  classNames: string;
3744
- agGrid: GridApi_2;
4385
+ agGrid: GridApi;
3745
4386
  gridSlot: HTMLSlotElement;
3746
4387
  /**
3747
4388
  * The slot ref binds asynchronously, and the queued `initGrid` skips any run that beats it. FAST
@@ -3773,6 +4414,12 @@ export declare class GridProBeta extends GridProBeta_base {
3773
4414
  * This requires AG Grid Enterprise module to be available for the status bar to be displayed when enabled.
3774
4415
  */
3775
4416
  withStatusBar: boolean;
4417
+ /**
4418
+ * Shows a Column Selection button above the grid.
4419
+ * @public
4420
+ */
4421
+ enableColumnSelection: boolean;
4422
+ enableColumnSelectionChanged(): void;
3776
4423
  /**
3777
4424
  * Custom error handler dialog template function.
3778
4425
  * @remarks
@@ -3841,6 +4488,7 @@ export declare class GridProBeta extends GridProBeta_base {
3841
4488
  private readonly luminanceObserver;
3842
4489
  connectedCallback(): void;
3843
4490
  disconnectedCallback(): void;
4491
+ private syncColumnSelectionHostLayout;
3844
4492
  private performDisconnectCleanup;
3845
4493
  private destroyGridInstance;
3846
4494
  /**
@@ -4175,7 +4823,7 @@ export declare class GridProBeta extends GridProBeta_base {
4175
4823
  resizable?: boolean;
4176
4824
  suppressSizeToFit?: boolean;
4177
4825
  suppressAutoSize?: boolean;
4178
- pivotValueColumn?: Column | Column_2<any>;
4826
+ pivotValueColumn?: Column_2 | Column<any>;
4179
4827
  pivotTotalColumnIds?: string[];
4180
4828
  spanHeaderHeight?: boolean;
4181
4829
  headerName?: string;
@@ -5054,6 +5702,31 @@ declare const GridProColumn_base: (new (...args: any[]) => {
5054
5702
  focus(options?: FocusOptions): void;
5055
5703
  }) & typeof FoundationElement;
5056
5704
 
5705
+ /**
5706
+ * Filled by {@link gridProColumnDragBridgeModule} after grid beans init.
5707
+ * Read from `IToolPanelParams.context` / `api.getGridOption('context')`.
5708
+ * @public
5709
+ */
5710
+ export declare interface GridProColumnDragBridge {
5711
+ dragAndDrop?: {
5712
+ addDragSource: (source: GridDragSource, touchEnabled?: boolean) => void;
5713
+ removeDragSource: (source: GridDragSource) => void;
5714
+ };
5715
+ gos?: GridOptionsService;
5716
+ }
5717
+
5718
+ /** @public */
5719
+ export declare type GridProColumnDragBridgeContext = {
5720
+ [GRID_PRO_COLUMN_DRAG_BRIDGE_CONTEXT_KEY]?: GridProColumnDragBridge;
5721
+ };
5722
+
5723
+ /**
5724
+ * Registers drag-and-drop beans on `gridOptions.context` so custom tool panels
5725
+ * can call `dragAndDrop.addDragSource` (same contract as Enterprise Columns panel).
5726
+ * @internal
5727
+ */
5728
+ export declare const gridProColumnDragBridgeModule: Module;
5729
+
5057
5730
  /**
5058
5731
  * A directive that renders a set of grid-pro-column elements from a given input binding
5059
5732
  *
@@ -5063,6 +5736,18 @@ declare const GridProColumn_base: (new (...args: any[]) => {
5063
5736
  */
5064
5737
  export declare function gridProColumns<TSource = any>(itemsBinding: Binding<TSource, readonly ColDef[]> | readonly ColDef[], includeRenderers?: boolean): CaptureType<TSource>;
5065
5738
 
5739
+ /**
5740
+ * @deprecated Use {@link ColumnSelectionHost}.
5741
+ * @public
5742
+ */
5743
+ export declare type GridProColumnSelectionHost = ColumnSelectionHost;
5744
+
5745
+ /**
5746
+ * Host layout when the Grid Pro column-selection toolbar is shown.
5747
+ * @public
5748
+ */
5749
+ export declare const gridProColumnSelectionHostStyles: ElementStyles;
5750
+
5066
5751
  /**
5067
5752
  * Grid Pro possible error events
5068
5753
  * @public
@@ -7685,6 +8370,26 @@ export declare enum OperationType {
7685
8370
  /** The CSS class to use for the options element's class in the dropdown */
7686
8371
  export declare const optionsClass = "options";
7687
8372
 
8373
+ /**
8374
+ * Column order for the picker list.
8375
+ *
8376
+ * - `selected-first` (default): displayed columns first, then non-displayed.
8377
+ * - `ag-grid`: column-state order (visible/hidden interleaved).
8378
+ * @public
8379
+ */
8380
+ export declare function orderColumnsForPicker(displayed: Column[], all: Column[], sort?: ColumnPickerSort, columnState?: ReadonlyArray<{
8381
+ colId?: string | null;
8382
+ }>): Column[];
8383
+
8384
+ /**
8385
+ * Splits / filters picker items for the template sections.
8386
+ * @public
8387
+ */
8388
+ export declare function partitionPickerItems(items: ColumnPickerItem[], search: string, sort?: ColumnPickerSort): {
8389
+ selected: ColumnPickerItem[];
8390
+ unselected: ColumnPickerItem[];
8391
+ };
8392
+
7688
8393
  /**
7689
8394
  * Event detail for requesting an infinite row model refresh.
7690
8395
  * @remarks Mirrors {@link RefreshServerSideEventDetail}: `purge` drops the grid's block cache
@@ -7738,6 +8443,30 @@ export declare type ReloadStatusBarParams = {
7738
8443
  tooltip?: string;
7739
8444
  };
7740
8445
 
8446
+ /** @public */
8447
+ export declare function reorderVisibleIds(allVisibleIds: string[], shownIds: string[], fromId: string, toId: string): string[] | null;
8448
+
8449
+ /** @public */
8450
+ export declare function resolveColumnDragBridge(context: unknown): GridProColumnDragBridge | null;
8451
+
8452
+ /** @public */
8453
+ export declare function resolveColumnDragBridgeDirect(bridge?: GridProColumnDragBridge | null): GridProColumnDragBridge | null;
8454
+
8455
+ /** @public */
8456
+ export declare function resolveColumnDragBridgeFromApi(api: {
8457
+ getGridOption?: (key: string) => unknown;
8458
+ } | null | undefined): GridProColumnDragBridge | null;
8459
+
8460
+ /** @public */
8461
+ export declare function resolveColumnPickerSort(sort?: ColumnPickerSort | null): ColumnPickerSort;
8462
+
8463
+ /**
8464
+ * Resolves an AG `gridApi` suitable for {@link ColumnSelection}.
8465
+ * Classic Grid Pro (v29) exposes column helpers on `columnApi` — bridge when needed.
8466
+ * @public
8467
+ */
8468
+ export declare function resolveColumnsPickerApi(gridHost?: ColumnSelectionHost | null, gridApi?: GridApi | null): GridApi | null;
8469
+
7741
8470
  /**
7742
8471
  * Resolves the field names of the currently visible columns.
7743
8472
  * @remarks Prefers the grid's displayed columns (`getAllDisplayedColumns()` — already excludes
@@ -8298,6 +9027,9 @@ export declare interface StringEditorParams extends ICellEditorParams {
8298
9027
  placeholder: string;
8299
9028
  }
8300
9029
 
9030
+ /** @internal Writes DnD beans onto the shared bridge object in grid context. */
9031
+ export declare function syncColumnDragBridge(beans: BridgeInitBeans | null | undefined): boolean;
9032
+
8301
9033
  /**
8302
9034
  * The AG Text Field Renderer Styles.
8303
9035
  * @public
@@ -8310,6 +9042,9 @@ export declare const textFieldRendererStyles: ElementStyles;
8310
9042
  */
8311
9043
  export declare const textRendererStyles: ElementStyles;
8312
9044
 
9045
+ /** @public */
9046
+ export declare function toPickerItem(col: Column): ColumnPickerItem | null;
9047
+
8313
9048
  /**
8314
9049
  * @public
8315
9050
  */