@linzjs/step-ag-grid 2.5.0 → 3.0.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 (38) hide show
  1. package/dist/index.js +301 -249
  2. package/dist/index.js.map +1 -1
  3. package/dist/src/components/GridCell.d.ts +4 -7
  4. package/dist/src/components/gridForm/GridFormDropDown.d.ts +1 -1
  5. package/dist/src/components/gridForm/GridFormEditBearing.d.ts +1 -1
  6. package/dist/src/components/gridForm/GridFormMessage.d.ts +3 -3
  7. package/dist/src/components/gridForm/GridFormMultiSelect.d.ts +2 -2
  8. package/dist/src/components/gridForm/GridFormPopoverMenu.d.ts +7 -3
  9. package/dist/src/components/gridForm/GridFormSubComponentTextInput.d.ts +1 -1
  10. package/dist/src/components/gridForm/GridFormTextArea.d.ts +1 -1
  11. package/dist/src/components/gridForm/GridFormTextInput.d.ts +1 -1
  12. package/dist/src/contexts/GridPopoverContext.d.ts +5 -3
  13. package/dist/src/contexts/GridPopoverContextProvider.d.ts +3 -1
  14. package/dist/src/lui/TextInputFormatted.d.ts +0 -1
  15. package/dist/step-ag-grid.esm.js +302 -250
  16. package/dist/step-ag-grid.esm.js.map +1 -1
  17. package/package.json +1 -1
  18. package/src/components/GridCell.tsx +9 -33
  19. package/src/components/GridPopoverHook.tsx +3 -7
  20. package/src/components/GridSubComponentTextArea.tsx +0 -6
  21. package/src/components/gridForm/GridFormDropDown.tsx +23 -30
  22. package/src/components/gridForm/GridFormEditBearing.tsx +10 -8
  23. package/src/components/gridForm/GridFormMessage.tsx +9 -7
  24. package/src/components/gridForm/GridFormMultiSelect.tsx +56 -48
  25. package/src/components/gridForm/GridFormPopoverMenu.tsx +94 -29
  26. package/src/components/gridForm/GridFormSubComponentTextInput.tsx +2 -1
  27. package/src/components/gridForm/GridFormTextArea.tsx +8 -8
  28. package/src/components/gridForm/GridFormTextInput.tsx +12 -16
  29. package/src/contexts/GridPopoverContext.tsx +10 -5
  30. package/src/contexts/GridPopoverContextProvider.tsx +24 -27
  31. package/src/lui/TextAreaInput.tsx +13 -1
  32. package/src/lui/TextInputFormatted.tsx +3 -2
  33. package/src/react-menu3/components/MenuList.tsx +42 -10
  34. package/src/react-menu3/contexts/SettingsContext.ts +1 -1
  35. package/src/stories/grid/FormTest.tsx +18 -16
  36. package/src/stories/grid/GridPopoutEditGenericTextArea.stories.tsx +0 -1
  37. package/src/stories/grid/GridPopoutEditMultiSelect.stories.tsx +3 -3
  38. package/src/stories/grid/GridReadOnly.stories.tsx +15 -5
@@ -10,6 +10,7 @@ export interface GenericCellEditorProps<E> {
10
10
  export declare const GridCellRenderer: (props: ICellRendererParams) => JSX.Element;
11
11
  export interface ColDefT<RowType extends GridBaseRow> extends ColDef {
12
12
  _?: RowType;
13
+ editor?: (editorProps: any) => JSX.Element;
13
14
  }
14
15
  export declare const GridCell: <RowType extends GridBaseRow, Props extends CellEditorCommon>(props: GenericCellColDef<RowType>, custom?: {
15
16
  multiEdit?: boolean | undefined;
@@ -19,10 +20,6 @@ export declare const GridCell: <RowType extends GridBaseRow, Props extends CellE
19
20
  export interface CellEditorCommon {
20
21
  className?: string | undefined;
21
22
  }
22
- export interface CellParams<RowType extends GridBaseRow> {
23
- value: any;
24
- data: RowType;
25
- field: string | undefined;
26
- selectedRows: RowType[];
27
- }
28
- export declare const GenericCellEditorComponent: (editor: (props: any) => JSX.Element) => import("react").ForwardRefExoticComponent<ICellEditorParams & import("react").RefAttributes<unknown>>;
23
+ export declare const GenericCellEditorComponentWrapper: (custom?: {
24
+ editor?: ((props: any) => JSX.Element) | undefined;
25
+ } | undefined) => import("react").ForwardRefExoticComponent<ICellEditorParams & import("react").RefAttributes<unknown>>;
@@ -32,5 +32,5 @@ export interface GridFormPopoutDropDownProps<RowType extends GridBaseRow, ValueT
32
32
  options: SelectOption<ValueType>[] | ((selectedRows: RowType[], filter?: string) => Promise<SelectOption<ValueType>[]> | SelectOption<ValueType>[]);
33
33
  optionsRequestCancel?: () => void;
34
34
  }
35
- export declare const GridFormDropDown: <RowType extends GridBaseRow, ValueType>(_props: GridFormPopoutDropDownProps<RowType, ValueType>) => JSX.Element;
35
+ export declare const GridFormDropDown: <RowType extends GridBaseRow, ValueType>(props: GridFormPopoutDropDownProps<RowType, ValueType>) => JSX.Element;
36
36
  export {};
@@ -7,4 +7,4 @@ export interface GridFormEditBearingProps<RowType extends GridBaseRow> extends C
7
7
  range?: (value: number | null) => string | null;
8
8
  onSave?: (selectedRows: RowType[], value: number | null) => Promise<boolean>;
9
9
  }
10
- export declare const GridFormEditBearing: <RowType extends GridBaseRow>(_props: GridFormEditBearingProps<RowType>) => JSX.Element;
10
+ export declare const GridFormEditBearing: <RowType extends GridBaseRow>(props: GridFormEditBearingProps<RowType>) => JSX.Element;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { GridBaseRow } from "../Grid";
3
- import { CellEditorCommon, CellParams } from "../GridCell";
3
+ import { CellEditorCommon } from "../GridCell";
4
4
  export interface GridFormMessageProps<RowType extends GridBaseRow> extends CellEditorCommon {
5
- message: (cellParams: CellParams<RowType>) => Promise<string | JSX.Element> | string | JSX.Element;
5
+ message: (selectedRows: RowType[]) => Promise<string | JSX.Element> | string | JSX.Element;
6
6
  }
7
- export declare const GridFormMessage: <RowType extends GridBaseRow>(_props: GridFormMessageProps<RowType>) => JSX.Element;
7
+ export declare const GridFormMessage: <RowType extends GridBaseRow>(props: GridFormMessageProps<RowType>) => JSX.Element;
@@ -9,7 +9,7 @@ interface MultiFinalSelectOption<ValueType> {
9
9
  }
10
10
  export declare type MultiSelectOption<ValueType> = ValueType | MultiFinalSelectOption<ValueType>;
11
11
  export interface SelectedOptionResult<ValueType> extends MultiFinalSelectOption<ValueType> {
12
- subValue: any;
12
+ subValue?: any;
13
13
  }
14
14
  export interface GridFormMultiSelectProps<RowType extends GridBaseRow, ValueType> extends CellEditorCommon {
15
15
  className?: "GridMultiSelect-containerSmall" | "GridMultiSelect-containerMedium" | "GridMultiSelect-containerLarge" | "GridMultiSelect-containerUnlimited" | string | undefined;
@@ -17,7 +17,7 @@ export interface GridFormMultiSelectProps<RowType extends GridBaseRow, ValueType
17
17
  filterPlaceholder?: string;
18
18
  onSave?: (selectedRows: RowType[], selectedOptions: SelectedOptionResult<ValueType>[]) => Promise<boolean>;
19
19
  options: MultiSelectOption<ValueType>[] | ((selectedRows: RowType[]) => Promise<MultiSelectOption<ValueType>[]> | MultiSelectOption<ValueType>[]);
20
- initialSelectedValues?: (selectedRows: RowType[]) => any[] | Record<string, any>;
20
+ initialSelectedValues?: (selectedRows: RowType[]) => any[] | Record<string, null | any>;
21
21
  }
22
22
  export declare const GridFormMultiSelect: <RowType extends GridBaseRow, ValueType>(props: GridFormMultiSelectProps<RowType, ValueType>) => JSX.Element;
23
23
  export {};
@@ -11,16 +11,20 @@ export declare const PopoutMenuSeparator: Readonly<{
11
11
  interface MenuSeparatorType {
12
12
  __isMenuSeparator__: boolean;
13
13
  }
14
- export interface MenuOption<RowType> {
14
+ export interface SelectedMenuOptionResult<RowType extends GridBaseRow> extends MenuOption<RowType> {
15
+ subValue: any;
16
+ }
17
+ export interface MenuOption<RowType extends GridBaseRow> {
15
18
  label: JSX.Element | string | MenuSeparatorType;
16
- action?: (selectedRows: RowType[]) => Promise<boolean>;
19
+ action?: (selectedRows: RowType[], menuOption: SelectedMenuOptionResult<RowType>) => Promise<void>;
17
20
  disabled?: string | boolean;
18
21
  supportsMultiEdit: boolean;
19
22
  hidden?: boolean;
23
+ subComponent?: (props: any) => JSX.Element;
20
24
  }
21
25
  /**
22
26
  * NOTE: If the popout menu doesn't appear on single click when also selecting row it's because
23
27
  * you need a useMemo around your columnDefs
24
28
  */
25
- export declare const GridFormPopoverMenu: <RowType extends GridBaseRow>(_props: GridFormPopoutMenuProps<RowType>) => JSX.Element;
29
+ export declare const GridFormPopoverMenu: <RowType extends GridBaseRow>(props: GridFormPopoutMenuProps<RowType>) => JSX.Element;
26
30
  export {};
@@ -1,5 +1,5 @@
1
- import { KeyboardEvent } from "react";
2
1
  import "../../styles/GridFormSubComponentTextInput.scss";
2
+ import { KeyboardEvent } from "react";
3
3
  export interface GridFormSubComponentTextInput {
4
4
  setValue: (value: string) => void;
5
5
  keyDown: (key: string, event: KeyboardEvent<HTMLInputElement>) => void;
@@ -9,4 +9,4 @@ export interface GridFormTextAreaProps<RowType extends GridBaseRow> extends Cell
9
9
  validate?: (value: string) => string | null;
10
10
  onSave?: (selectedRows: RowType[], value: string) => Promise<boolean>;
11
11
  }
12
- export declare const GridFormTextArea: <RowType extends GridBaseRow>(_props: GridFormTextAreaProps<RowType>) => JSX.Element;
12
+ export declare const GridFormTextArea: <RowType extends GridBaseRow>(props: GridFormTextAreaProps<RowType>) => JSX.Element;
@@ -10,4 +10,4 @@ export interface GridFormTextInputProps<RowType extends GridBaseRow> extends Cel
10
10
  validate?: (value: string, data: RowType) => string | null;
11
11
  onSave?: (selectedRows: RowType[], value: string) => Promise<boolean>;
12
12
  }
13
- export declare const GridFormTextInput: <RowType extends GridBaseRow>(_props: GridFormTextInputProps<RowType>) => JSX.Element;
13
+ export declare const GridFormTextInput: <RowType extends GridBaseRow>(props: GridFormTextInputProps<RowType>) => JSX.Element;
@@ -1,5 +1,4 @@
1
1
  import { RefObject } from "react";
2
- import { ICellEditorParams } from "ag-grid-community";
3
2
  export interface PropsType {
4
3
  value: any;
5
4
  data: any;
@@ -11,7 +10,10 @@ export declare type GridPopoverContextType = {
11
10
  anchorRef: RefObject<Element>;
12
11
  saving: boolean;
13
12
  setSaving: (saving: boolean) => void;
14
- setProps: (props: ICellEditorParams, multiEdit: boolean) => void;
15
- propsRef: RefObject<PropsType>;
13
+ field: string;
14
+ value: any;
15
+ data: any;
16
+ selectedRows: any[];
17
+ updateValue: (saveFn: (selectedRows: any[]) => Promise<boolean>) => Promise<boolean>;
16
18
  };
17
19
  export declare const GridPopoverContext: import("react").Context<GridPopoverContextType>;
@@ -1,6 +1,8 @@
1
1
  import { ReactNode } from "react";
2
+ import { ICellEditorParams } from "ag-grid-community";
2
3
  interface GridPopoverContextProps {
4
+ props: ICellEditorParams;
3
5
  children: ReactNode;
4
6
  }
5
- export declare const GridPopoverContextProvider: (props: GridPopoverContextProps) => JSX.Element;
7
+ export declare const GridPopoverContextProvider: ({ props, children }: GridPopoverContextProps) => JSX.Element;
6
8
  export {};
@@ -11,6 +11,5 @@ export interface LuiTextInputProps {
11
11
  value: string;
12
12
  placeholder?: string;
13
13
  formatted?: string;
14
- onMouseEnter?: (e: React.MouseEvent<HTMLTextAreaElement>) => void;
15
14
  }
16
15
  export declare const TextInputFormatted: (props: LuiTextInputProps) => JSX.Element;