@linzjs/step-ag-grid 7.5.2 → 7.6.1

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/GridTheme.scss +11 -9
  2. package/dist/index.css +233 -135
  3. package/dist/index.js +97 -94
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/components/Grid.d.ts +1 -0
  6. package/dist/src/components/GridIcon.d.ts +4 -1
  7. package/dist/src/components/GridLoadableCell.d.ts +0 -2
  8. package/dist/src/components/gridForm/GridFormDropDown.d.ts +0 -1
  9. package/dist/src/components/gridForm/GridFormEditBearing.d.ts +0 -1
  10. package/dist/src/components/gridForm/GridFormMultiSelect.d.ts +0 -1
  11. package/dist/src/components/gridPopoverEdit/GridPopoverMenu.d.ts +0 -1
  12. package/dist/src/components/gridRender/GridRenderGenericCell.d.ts +2 -2
  13. package/dist/src/index.d.ts +1 -0
  14. package/dist/src/utils/deferredPromise.d.ts +5 -0
  15. package/dist/src/utils/util.d.ts +1 -0
  16. package/dist/step-ag-grid.esm.js +96 -94
  17. package/dist/step-ag-grid.esm.js.map +1 -1
  18. package/package.json +1 -1
  19. package/src/components/Grid.tsx +40 -22
  20. package/src/components/GridCell.tsx +23 -10
  21. package/src/components/GridIcon.tsx +15 -4
  22. package/src/components/GridLoadableCell.tsx +10 -23
  23. package/src/components/gridForm/GridFormDropDown.tsx +0 -2
  24. package/src/components/gridForm/GridFormEditBearing.tsx +0 -2
  25. package/src/components/gridForm/GridFormMultiSelect.tsx +0 -2
  26. package/src/components/gridPopoverEdit/GridPopoverMenu.tsx +0 -2
  27. package/src/components/gridRender/GridRenderGenericCell.tsx +3 -32
  28. package/src/components/gridRender/GridRenderPopoutMenuCell.tsx +8 -24
  29. package/src/index.ts +1 -0
  30. package/src/stories/grid/GridReadOnly.stories.tsx +16 -3
  31. package/src/styles/Grid.scss +16 -4
  32. package/src/styles/{GridRenderGenericCell.scss → GridIcon.scss} +19 -15
  33. package/src/{components → styles}/GridLoadableCell.scss +5 -4
  34. package/src/{components/gridPopoverEdit → styles}/GridPopoverMenu.scss +1 -1
  35. package/src/styles/GridTheme.scss +11 -9
  36. package/src/styles/index.scss +8 -0
  37. package/src/utils/deferredPromise.ts +34 -0
  38. package/src/utils/util.ts +2 -0
package/dist/index.js CHANGED
@@ -1350,7 +1350,8 @@ var hasParentClass = function (className, child) {
1350
1350
  };
1351
1351
  var stringByteLengthIsInvalid = function (str, maxBytes) {
1352
1352
  return new TextEncoder().encode(str).length > maxBytes;
1353
- };
1353
+ };
1354
+ var fnOrVar = function (fn, param) { return (typeof fn === "function" ? fn(param) : fn); };
1354
1355
 
1355
1356
  var EventHandlersContext = React.createContext({
1356
1357
  handleClick: function () { }
@@ -2764,6 +2765,11 @@ var Grid = function (params) {
2764
2765
  synchroniseExternallySelectedItemsToGrid();
2765
2766
  }, [synchroniseExternallySelectedItemsToGrid]);
2766
2767
  var columnDefs = React.useMemo(function () {
2768
+ var adjustColDefs = params.columnDefs.map(function (colDef) {
2769
+ return __assign(__assign({}, colDef), { editable: params.readOnly ? false : colDef.editable, cellClassRules: __assign(__assign({}, colDef.cellClassRules), { "GridCell-readonly": function (ccp) {
2770
+ return params.readOnly != null && !params.readOnly && !fnOrVar(colDef.editable, ccp);
2771
+ } }) });
2772
+ });
2767
2773
  return params.selectable
2768
2774
  ? __spreadArray([
2769
2775
  {
@@ -2777,8 +2783,8 @@ var Grid = function (params) {
2777
2783
  headerComponent: GridHeaderSelect,
2778
2784
  onCellClicked: clickSelectorCheckboxWhenContainingCellClicked
2779
2785
  }
2780
- ], params.columnDefs, true) : __spreadArray([], params.columnDefs, true);
2781
- }, [clickSelectorCheckboxWhenContainingCellClicked, params.columnDefs, params.selectable]);
2786
+ ], adjustColDefs, true) : adjustColDefs;
2787
+ }, [clickSelectorCheckboxWhenContainingCellClicked, params.columnDefs, params.selectable, params.readOnly]);
2782
2788
  var onGridReady = React.useCallback(function (event) {
2783
2789
  setGridApi(event.api);
2784
2790
  synchroniseExternallySelectedItemsToGrid();
@@ -2809,8 +2815,16 @@ var Grid = function (params) {
2809
2815
  }
2810
2816
  }, [checkUpdating]);
2811
2817
  var onCellDoubleClick = React.useCallback(function (event) {
2812
- var _a, _b;
2813
- if (!((_b = (_a = event.colDef) === null || _a === void 0 ? void 0 : _a.cellRendererParams) === null || _b === void 0 ? void 0 : _b.singleClickEdit)) {
2818
+ var _a, _b, _c, _d, _e;
2819
+ var editable = fnOrVar((_a = event.colDef) === null || _a === void 0 ? void 0 : _a.editable, event);
2820
+ if (!editable)
2821
+ return;
2822
+ var editAction = (_c = (_b = event.colDef) === null || _b === void 0 ? void 0 : _b.cellRendererParams) === null || _c === void 0 ? void 0 : _c.editAction;
2823
+ if (editAction) {
2824
+ // Clicked row comes first in selected rows
2825
+ editAction(__spreadArray([event.data], event.api.getSelectedRows().filter(function (row) { return row.id !== event.data.id; }), true));
2826
+ }
2827
+ else if (!((_e = (_d = event.colDef) === null || _d === void 0 ? void 0 : _d.cellRendererParams) === null || _e === void 0 ? void 0 : _e.singleClickEdit)) {
2814
2828
  startCellEditing(event);
2815
2829
  }
2816
2830
  }, [startCellEditing]);
@@ -2851,66 +2865,15 @@ var GridCellMultiSelectClassRules = {
2851
2865
  }
2852
2866
  };
2853
2867
 
2854
- function styleInject(css, ref) {
2855
- if ( ref === void 0 ) ref = {};
2856
- var insertAt = ref.insertAt;
2857
-
2858
- if (!css || typeof document === 'undefined') { return; }
2859
-
2860
- var head = document.head || document.getElementsByTagName('head')[0];
2861
- var style = document.createElement('style');
2862
- style.type = 'text/css';
2863
-
2864
- if (insertAt === 'top') {
2865
- if (head.firstChild) {
2866
- head.insertBefore(style, head.firstChild);
2867
- } else {
2868
- head.appendChild(style);
2869
- }
2870
- } else {
2871
- head.appendChild(style);
2872
- }
2873
-
2874
- if (style.styleSheet) {
2875
- style.styleSheet.cssText = css;
2876
- } else {
2877
- style.appendChild(document.createTextNode(css));
2878
- }
2879
- }
2880
-
2881
- var css_248z$8 = ".AgGridGenericCellRenderer-icon{margin-right:4px}.AgGridGenericCellRenderer-ic_infoIcon{fill:#3a7cdf;margin-right:4px}.AgGridGenericCellRenderer-ic_warningIcon{fill:#ea6a2e;margin-right:4px}";
2882
- styleInject(css_248z$8);
2883
-
2884
- var css_248z$7 = ".GridLoadableCell-container{align-items:center;display:flex}";
2885
- styleInject(css_248z$7);
2886
-
2887
- var GridLoadableCell = function (props) {
2888
- if (props.isLoading) {
2889
- return (jsxRuntime.jsx("div", __assign({ style: { display: "flex", alignItems: "center" } }, { children: jsxRuntime.jsx(lui.LuiMiniSpinner, { size: 22, divProps: { role: "status", "aria-label": "Loading", style: { marginBottom: 4 } } }) })));
2890
- }
2891
- // only add test id into ONE of the columns in a grid. this way each row will have one unique id :)
2892
- return (jsxRuntime.jsx("div", __assign({ "data-testid": props.dataTestId, className: clsx("GridLoadableCell-container", props.className) }, { children: props.children })));
2893
- };
2894
-
2895
- var GridIcon = function (props) { return (jsxRuntime.jsx(lui.LuiIcon, { name: props.icon, title: props.title, alt: props.title, size: "md", className: "AgGridGenericCellRenderer-".concat(props.icon, "Icon") })); };
2868
+ var GridLoadableCell = function (props) { return (jsxRuntime.jsx("div", __assign({ className: clsx("GridLoadableCell-container", props.className) }, { children: props.isLoading ? (jsxRuntime.jsx(lui.LuiMiniSpinner, { size: 22, divProps: { role: "status", "aria-label": "Loading", style: { marginBottom: 4 } } })) : (props.children) }))); };
2896
2869
 
2897
- var GridRendererGenericCell = function (props) {
2898
- var _a, _b, _c;
2899
- var checkUpdating = React.useContext(GridUpdatingContext).checkUpdating;
2900
- var colDef = props.colDef;
2901
- var cellRendererParams = colDef.cellRendererParams;
2902
- var warningFn = cellRendererParams === null || cellRendererParams === void 0 ? void 0 : cellRendererParams.warning;
2903
- var warningText = warningFn ? warningFn(props) : undefined;
2904
- var infoFn = cellRendererParams === null || cellRendererParams === void 0 ? void 0 : cellRendererParams.info;
2905
- var infoText = infoFn ? infoFn(props) : undefined;
2906
- var defaultFormatter = function (value) { return value; };
2907
- var formatter = (_a = props.formatValue) !== null && _a !== void 0 ? _a : defaultFormatter;
2908
- var formatted = formatter(props.value);
2909
- return (jsxRuntime.jsx(GridLoadableCell, __assign({ isLoading: checkUpdating((_c = (_b = colDef.field) !== null && _b !== void 0 ? _b : colDef.colId) !== null && _c !== void 0 ? _c : "", props.data.id) }, { children: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [typeof warningText === "string" && jsxRuntime.jsx(GridIcon, { icon: "ic_warning", title: warningText }), typeof infoText === "string" && jsxRuntime.jsx(GridIcon, { icon: "ic_info", title: infoText }), jsxRuntime.jsx("span", __assign({ title: formatted }, { children: formatted }))] }) })));
2870
+ var GridIcon = function (props) {
2871
+ var _a;
2872
+ return (jsxRuntime.jsx(lui.LuiIcon, { name: props.icon, title: props.title, alt: props.title, size: (_a = props.size) !== null && _a !== void 0 ? _a : "md", className: clsx("AgGridGenericCellRenderer-".concat(props.icon, "Icon"), props.className, props.disabled && "GridIcon-disabled") }));
2910
2873
  };
2911
2874
 
2912
2875
  var GridCellRenderer = function (props) {
2913
- var _a, _b, _c;
2876
+ var _a, _b, _c, _d;
2914
2877
  var checkUpdating = React.useContext(GridUpdatingContext).checkUpdating;
2915
2878
  var colDef = props.colDef;
2916
2879
  var rendererParams = colDef.cellRendererParams;
@@ -2918,7 +2881,7 @@ var GridCellRenderer = function (props) {
2918
2881
  var warningText = warningFn ? warningFn(props) : undefined;
2919
2882
  var infoFn = rendererParams === null || rendererParams === void 0 ? void 0 : rendererParams.info;
2920
2883
  var infoText = infoFn ? infoFn(props) : undefined;
2921
- return ((_a = colDef === null || colDef === void 0 ? void 0 : colDef.cellRendererParams) === null || _a === void 0 ? void 0 : _a.originalCellRenderer) ? (jsxRuntime.jsx(GridLoadableCell, __assign({ isLoading: checkUpdating((_c = (_b = colDef.field) !== null && _b !== void 0 ? _b : colDef.colId) !== null && _c !== void 0 ? _c : "", props.data.id) }, { children: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [typeof warningText === "string" && jsxRuntime.jsx(GridIcon, { icon: "ic_warning", title: warningText }), typeof infoText === "string" && jsxRuntime.jsx(GridIcon, { icon: "ic_info", title: infoText }), jsxRuntime.jsx(colDef.cellRendererParams.originalCellRenderer, __assign({}, props))] }) }))) : (jsxRuntime.jsx(GridRendererGenericCell, __assign({}, props)));
2884
+ return (jsxRuntime.jsx(GridLoadableCell, __assign({ isLoading: checkUpdating((_b = (_a = colDef.field) !== null && _a !== void 0 ? _a : colDef.colId) !== null && _b !== void 0 ? _b : "", props.data.id) }, { children: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [typeof warningText === "string" && jsxRuntime.jsx(GridIcon, { icon: "ic_warning", title: warningText }), typeof infoText === "string" && jsxRuntime.jsx(GridIcon, { icon: "ic_info", title: infoText }), jsxRuntime.jsx("div", __assign({ style: { display: "flex", flex: 1, overflow: "hidden" } }, { children: ((_c = colDef === null || colDef === void 0 ? void 0 : colDef.cellRendererParams) === null || _c === void 0 ? void 0 : _c.originalCellRenderer) ? (jsxRuntime.jsx(colDef.cellRendererParams.originalCellRenderer, __assign({}, props))) : (jsxRuntime.jsx("span", __assign({ title: props.valueFormatted }, { children: props.valueFormatted }))) })), fnOrVar((_d = props.colDef) === null || _d === void 0 ? void 0 : _d.editable, props) && (rendererParams === null || rendererParams === void 0 ? void 0 : rendererParams.editableIcon) && (jsxRuntime.jsx("div", __assign({ style: { display: "flex", alignItems: "center" } }, { children: rendererParams === null || rendererParams === void 0 ? void 0 : rendererParams.editableIcon })))] }) })));
2922
2885
  };
2923
2886
  /*
2924
2887
  * All cells should use this
@@ -2949,7 +2912,10 @@ var GridCell = function (props, custom) {
2949
2912
  };
2950
2913
  var GenericCellEditorComponentWrapper = function (custom) {
2951
2914
  return React.forwardRef(function GenericCellEditorComponentFr(cellEditorParams, _) {
2952
- return (jsxRuntime.jsxs(GridPopoverContextProvider, __assign({ props: cellEditorParams }, { children: [jsxRuntime.jsx(cellEditorParams.colDef.cellRenderer, __assign({}, cellEditorParams, cellEditorParams.colDef.cellRendererParams)), (custom === null || custom === void 0 ? void 0 : custom.editor) && jsxRuntime.jsx(custom.editor, __assign({}, cellEditorParams))] })));
2915
+ var valueFormatted = cellEditorParams.formatValue
2916
+ ? cellEditorParams.formatValue(cellEditorParams.value)
2917
+ : "Missing formatter";
2918
+ return (jsxRuntime.jsxs(GridPopoverContextProvider, __assign({ props: cellEditorParams }, { children: [jsxRuntime.jsx(cellEditorParams.colDef.cellRenderer, __assign({}, cellEditorParams, { valueFormatted: valueFormatted }, cellEditorParams.colDef.cellRendererParams)), (custom === null || custom === void 0 ? void 0 : custom.editor) && jsxRuntime.jsx(custom.editor, __assign({}, cellEditorParams))] })));
2953
2919
  });
2954
2920
  };
2955
2921
 
@@ -3034,30 +3000,11 @@ var useGridPopoverHook = function (props) {
3034
3000
  };
3035
3001
 
3036
3002
  var GridRenderPopoutMenuCell = function (props) {
3037
- var _a, _b, _c;
3038
- var checkUpdating = React.useContext(GridUpdatingContext).checkUpdating;
3039
- var isLoading = checkUpdating((_b = (_a = props.colDef) === null || _a === void 0 ? void 0 : _a.field) !== null && _b !== void 0 ? _b : "", props.data.id);
3040
- var editable = (_c = props.colDef) === null || _c === void 0 ? void 0 : _c.editable;
3041
- var disabled = !(typeof editable === "function"
3042
- ? editable({
3043
- node: props.node,
3044
- data: props.data,
3045
- column: props.column,
3046
- colDef: props.colDef,
3047
- api: props.api,
3048
- columnApi: props.columnApi,
3049
- context: props.context
3050
- })
3051
- : editable);
3052
- return (jsxRuntime.jsx(GridLoadableCell, __assign({ isLoading: isLoading, className: disabled ? "GridPopoutMenu-burgerDisabled" : "GridPopoutMenu-burger" }, { children: jsxRuntime.jsx(lui.LuiIcon, { name: "ic_more_vert", alt: "More actions", size: "md" }) })));
3003
+ var _a;
3004
+ var disabled = !fnOrVar((_a = props.colDef) === null || _a === void 0 ? void 0 : _a.editable, props);
3005
+ return (jsxRuntime.jsx(lui.LuiIcon, { name: "ic_more_vert", alt: "More actions", size: "md", className: disabled ? "GridPopoutMenu-burgerDisabled" : "GridPopoutMenu-burger" }));
3053
3006
  };
3054
3007
 
3055
- var css_248z$6 = ".GridMultiSelect-containerSmall .GridFormMultiSelect-options{max-height:130px;overflow-y:auto}.GridMultiSelect-containerMedium .GridFormMultiSelect-options{max-height:190px;overflow-y:auto}.GridMultiSelect-containerLarge .GridFormMultiSelect-options{max-height:320px;overflow-y:auto}.GridMultiSelect-containerUnlimited .GridFormMultiSelect-options{overflow-y:auto}";
3056
- styleInject(css_248z$6);
3057
-
3058
- var css_248z$5 = ".GridPopoverEditDropDown-containerSmall .GridFormDropDown-options{max-height:120px;overflow-y:auto}.GridPopoverEditDropDown-containerMedium .GridFormDropDown-options{max-height:220px;overflow-y:auto}.GridPopoverEditDropDown-containerLarge .GridFormDropDown-options{max-height:400px;overflow-y:auto}.GridPopoverEditDropDown-containerUnlimited .GridFormDropDown-options{overflow-y:auto}.GridPopoverEditDropDown-noOptions{justify-content:center}";
3059
- styleInject(css_248z$5);
3060
-
3061
3008
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
3062
3009
 
3063
3010
  function getDefaultExportFromCjs (x) {
@@ -3156,8 +3103,35 @@ function defer() {
3156
3103
  return deferred;
3157
3104
  }
3158
3105
 
3159
- var css_248z$4 = ".helpText{color:#6b6966;font-size:.75rem;font-weight:400}";
3160
- styleInject(css_248z$4);
3106
+ function styleInject(css, ref) {
3107
+ if ( ref === void 0 ) ref = {};
3108
+ var insertAt = ref.insertAt;
3109
+
3110
+ if (!css || typeof document === 'undefined') { return; }
3111
+
3112
+ var head = document.head || document.getElementsByTagName('head')[0];
3113
+ var style = document.createElement('style');
3114
+ style.type = 'text/css';
3115
+
3116
+ if (insertAt === 'top') {
3117
+ if (head.firstChild) {
3118
+ head.insertBefore(style, head.firstChild);
3119
+ } else {
3120
+ head.appendChild(style);
3121
+ }
3122
+ } else {
3123
+ head.appendChild(style);
3124
+ }
3125
+
3126
+ if (style.styleSheet) {
3127
+ style.styleSheet.cssText = css;
3128
+ } else {
3129
+ style.appendChild(document.createTextNode(css));
3130
+ }
3131
+ }
3132
+
3133
+ var css_248z$2 = ".helpText{color:#6b6966;font-size:.75rem;font-weight:400}";
3134
+ styleInject(css_248z$2);
3161
3135
 
3162
3136
  var FormError = function (props) {
3163
3137
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [props.error && (jsxRuntime.jsx("span", __assign({ className: "LuiTextInput-error", style: { paddingLeft: 0 } }, { children: props.error }))), props.helpText && !props.error && jsxRuntime.jsx("span", __assign({ className: "helpText" }, { children: props.helpText }))] }));
@@ -3792,9 +3766,6 @@ var GridPopoutEditMultiSelect = function (colDef, props) {
3792
3766
  return GridCell(colDef, __assign(__assign({ editor: GridFormMultiSelect }, props), { editorParams: __assign({ className: "GridMultiSelect-containerMedium" }, props.editorParams) }));
3793
3767
  };
3794
3768
 
3795
- var css_248z$3 = ".GridPopoutMenu-burger{cursor:pointer}.GridPopoutMenu-burger svg{fill:#007198}.GridPopoutMenu-burgerDisabled svg{fill:#989189}";
3796
- styleInject(css_248z$3);
3797
-
3798
3769
  /** Menu configuration types **/
3799
3770
  var PopoutMenuSeparator = Object.freeze({ __isMenuSeparator__: true });
3800
3771
  /**
@@ -4023,9 +3994,6 @@ var convertDDToDMS = function (dd, showPositiveSymbol, addTrailingZeros) {
4023
3994
  return dmsString;
4024
3995
  };
4025
3996
 
4026
- var css_248z$2 = ".GridFormEditBearing-input{width:320px}";
4027
- styleInject(css_248z$2);
4028
-
4029
3997
  var css_248z$1 = ".LuiTextInput{margin-bottom:0}.LuiTextInput-formatted{color:#beb9b4;line-height:48px;position:absolute;right:14px;top:0}";
4030
3998
  styleInject(css_248z$1);
4031
3999
 
@@ -4472,6 +4440,40 @@ var ActionButton = function (_a) {
4472
4440
  } })) : (jsxRuntime.jsx(lui.LuiIcon, { name: icon, alt: (_d = ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : name) !== null && _d !== void 0 ? _d : "", size: size })), iconPosition === "left" && buttonText] })));
4473
4441
  };
4474
4442
 
4443
+ var useDeferredPromise = function () {
4444
+ var promiseResolve = React.useRef();
4445
+ var promiseReject = React.useRef();
4446
+ return {
4447
+ invoke: function () {
4448
+ return new Promise(function (resolve, reject) {
4449
+ promiseResolve.current = resolve;
4450
+ promiseReject.current = reject;
4451
+ });
4452
+ },
4453
+ resolve: function (value) {
4454
+ if (!promiseResolve.current) {
4455
+ console.error("Promise not invoked so can't resolve");
4456
+ return;
4457
+ }
4458
+ var temp = promiseResolve.current;
4459
+ promiseResolve.current = undefined;
4460
+ promiseReject.current = undefined;
4461
+ temp(value);
4462
+ },
4463
+ reject: function () {
4464
+ if (!promiseResolve.current) {
4465
+ console.error("Promise not invoked so can't reject");
4466
+ return;
4467
+ }
4468
+ var reject = promiseReject.current;
4469
+ promiseResolve.current = undefined;
4470
+ promiseReject.current = undefined;
4471
+ if (reject)
4472
+ reject();
4473
+ }
4474
+ };
4475
+ };
4476
+
4475
4477
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
4476
4478
  try {
4477
4479
  var info = gen[key](arg);
@@ -24709,7 +24711,6 @@ exports.GridPopoverMessage = GridPopoverMessage;
24709
24711
  exports.GridPopoverTextArea = GridPopoverTextArea;
24710
24712
  exports.GridPopoverTextInput = GridPopoverTextInput;
24711
24713
  exports.GridRenderPopoutMenuCell = GridRenderPopoutMenuCell;
24712
- exports.GridRendererGenericCell = GridRendererGenericCell;
24713
24714
  exports.GridSubComponentContext = GridSubComponentContext;
24714
24715
  exports.GridUpdatingContext = GridUpdatingContext;
24715
24716
  exports.GridUpdatingContextProvider = GridUpdatingContextProvider;
@@ -24747,6 +24748,7 @@ exports.findMenuOption = findMenuOption;
24747
24748
  exports.findMultiSelectOption = findMultiSelectOption;
24748
24749
  exports.findParentWithClass = findParentWithClass;
24749
24750
  exports.findRow = findRow;
24751
+ exports.fnOrVar = fnOrVar;
24750
24752
  exports.getMultiSelectOptions = getMultiSelectOptions;
24751
24753
  exports.hasParentClass = hasParentClass;
24752
24754
  exports.isFloat = isFloat;
@@ -24759,6 +24761,7 @@ exports.selectRow = selectRow;
24759
24761
  exports.stringByteLengthIsInvalid = stringByteLengthIsInvalid;
24760
24762
  exports.typeOtherInput = typeOtherInput;
24761
24763
  exports.typeOtherTextArea = typeOtherTextArea;
24764
+ exports.useDeferredPromise = useDeferredPromise;
24762
24765
  exports.useGridPopoverContext = useGridPopoverContext;
24763
24766
  exports.useGridPopoverHook = useGridPopoverHook;
24764
24767
  exports.useMenuState = useMenuState;