@redsift/table-pro 12.5.4 → 12.5.5-alpha.2

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.
@@ -1,2 +1,2 @@
1
- export { av as StatefulDataGrid } from './StatefulDataGrid2.js';
1
+ export { aw as StatefulDataGrid } from './StatefulDataGrid2.js';
2
2
  //# sourceMappingURL=StatefulDataGrid.js.map
@@ -1967,6 +1967,29 @@ const getSearchParamsFromColumnOrder = columnOrder => {
1967
1967
  }
1968
1968
  return searchParams;
1969
1969
  };
1970
+
1971
+ /**
1972
+ * Builds the `v=<version>` search param the grid uses to detect stale URLs.
1973
+ *
1974
+ * Use this when constructing a deep link or share URL outside the grid (e.g. via
1975
+ * `getSearchParamsFromFilterModel` + `buildQueryParamsString`). The grid itself
1976
+ * always includes `v` in URLs it writes via `getFinalSearch`, but external helpers
1977
+ * do not — include this when you want a stale `localStorageVersion` bump to invalidate
1978
+ * the link. Omitting `v` is also safe: a missing `v` is treated as "current version"
1979
+ * and the URL state is applied as-is.
1980
+ *
1981
+ * @example
1982
+ * const params = new URLSearchParams([
1983
+ * ...getSearchParamsFromFilterModel(filterModel),
1984
+ * ...getSearchParamsFromVersion(1),
1985
+ * ]);
1986
+ * const url = `/my-grid${buildQueryParamsString(urlSearchParamsToString(params))}`;
1987
+ */
1988
+ const getSearchParamsFromVersion = version => {
1989
+ const searchParams = new URLSearchParams();
1990
+ searchParams.set('v', String(version));
1991
+ return searchParams;
1992
+ };
1970
1993
  const getColumnOrder = (search, columns, localStorageColumnOrder, setLocalStorageColumnOrder, initialState, isNewVersion) => {
1971
1994
  var _initialState$columns4, _initialState$columns5;
1972
1995
  const defaultValue = (_initialState$columns4 = initialState === null || initialState === void 0 ? void 0 : (_initialState$columns5 = initialState.columns) === null || _initialState$columns5 === void 0 ? void 0 : _initialState$columns5.orderedFields) !== null && _initialState$columns4 !== void 0 ? _initialState$columns4 : columns.map(c => c.field);
@@ -2044,11 +2067,21 @@ const getModelsParsedOrUpdateLocalStorage = (search, localStorageVersion, column
2044
2067
  const decodedSearch = getDecodedSearchFromUrl(decompressedSearch, columns);
2045
2068
  const decodedParams = new URLSearchParams(decodedSearch);
2046
2069
  const currentVersion = decodedParams.get('v');
2047
- // Only treat as "new version reset" when the URL has params with a stale/missing version.
2048
- // An empty URL should fall through to the localStorage branch of each getter so persisted
2049
- // state is restored instead of being clobbered by defaults.
2070
+ // Only treat as "new version reset" when the URL carries params AND explicitly declares a
2071
+ // stale version (`v=` present but not matching `localStorageVersion`).
2072
+ //
2073
+ // Two cases that must NOT trigger a reset:
2074
+ // 1. Empty URL — fall through to the localStorage branch of each getter so persisted
2075
+ // preferences are restored instead of being clobbered by defaults.
2076
+ // 2. URL has params but no `v` — externally-constructed deep links / share links built
2077
+ // with `getSearchParamsFromFilterModel`, `buildQueryParamsString`, etc. do not include
2078
+ // `v` by default. Treating a missing `v` as "stale" silently discards the very state
2079
+ // the integrator just encoded into the URL (and wipes localStorage on the way out).
2080
+ // A missing `v` is interpreted as "current" so external URLs work out of the box.
2081
+ // URLs written by the grid itself (`getFinalSearch`) always include `v`, so a stale
2082
+ // bookmark from a previous `localStorageVersion` still resets correctly.
2050
2083
  const hasUrlState = Array.from(decodedParams.keys()).length > 0;
2051
- const isNewVersion = hasUrlState && (!currentVersion || Number(currentVersion) !== localStorageVersion);
2084
+ const isNewVersion = hasUrlState && currentVersion != null && Number(currentVersion) !== localStorageVersion;
2052
2085
  const {
2053
2086
  localStorageFilters,
2054
2087
  setLocalStorageFilters,
@@ -3233,5 +3266,5 @@ const StatefulDataGrid = /*#__PURE__*/forwardRef((props, ref) => {
3233
3266
  StatefulDataGrid.className = CLASSNAME;
3234
3267
  StatefulDataGrid.displayName = COMPONENT_NAME;
3235
3268
 
3236
- export { convertToDisplayFormat as $, ARRAY_IS_EMPTY as A, IS as B, CONTAINS_ANY_OF as C, DOES_NOT_CONTAIN as D, ENDS_WITH_ANY_OF as E, IS_NOT as F, getGridStringOperators as G, HAS_WITH_SELECT as H, IS_ANY_OF as I, getGridStringArrayOperators as J, getGridStringArrayOperatorsWithSelect as K, getGridStringArrayOperatorsWithSelectOnStringArrayColumns as L, FILTER_MODEL_KEY as M, SORT_MODEL_KEY as N, PINNED_COLUMNS as O, PAGINATION_MODEL_KEY as P, DIMENSION_MODEL_KEY as Q, FILTER_SEARCH_KEY as R, STARTS_WITH_ANY_OF as S, DENSITY_MODEL_KEY as T, COLUMN_ORDER_MODEL_KEY as U, VISIBILITY_MODEL_KEY as V, CATEGORIES as W, buildStorageKey as X, clearPreviousVersionStorage as Y, clearAllVersionStorage as Z, resetStatefulDataGridState as _, DOES_NOT_EQUAL as a, convertFromDisplayFormat as a0, getDecodedSearchFromUrl as a1, buildQueryParamsString as a2, areSearchStringsEqual as a3, decodeValue as a4, encodeValue as a5, urlSearchParamsToString as a6, numberOperatorEncoder as a7, numberOperatorDecoder as a8, isOperatorValueValid as a9, isValueValid as aa, getFilterModelFromString as ab, getSearchParamsFromFilterModel as ac, getSortingFromString as ad, getSearchParamsFromSorting as ae, getPaginationFromString as af, getSearchParamsFromPagination as ag, getColumnVisibilityFromString as ah, getSearchParamsFromColumnVisibility as ai, getPinnedColumnsFromString as aj, getSearchParamsFromPinnedColumns as ak, getSearchParamsFromTab as al, getDensityFromString as am, getSearchParamsFromDensity as an, getDensityModel as ao, getColumnOrderFromString as ap, getSearchParamsFromColumnOrder as aq, getFinalSearch as ar, getModelsParsedOrUpdateLocalStorage as as, updateUrl as at, areFilterModelsEquivalent as au, StatefulDataGrid as av, DOES_NOT_START_WITH as b, DOES_NOT_END_WITH as c, IS_NOT_ANY_OF as d, DOES_NOT_CONTAIN_ANY_OF as e, DOES_NOT_START_WITH_ANY_OF as f, DOES_NOT_END_WITH_ANY_OF as g, IS_BETWEEN as h, IS_WITH_SELECT as i, IS_NOT_WITH_SELECT as j, IS_ANY_OF_WITH_SELECT as k, IS_NOT_ANY_OF_WITH_SELECT as l, ARRAY_IS_NOT_EMPTY as m, DOES_NOT_HAVE_WITH_SELECT as n, operatorList as o, HAS_ANY_OF_WITH_SELECT as p, HAS_ALL_OF_WITH_SELECT as q, DOES_NOT_HAVE_ANY_OF_WITH_SELECT as r, HAS_ONLY_WITH_SELECT as s, HAS as t, DOES_NOT_HAVE as u, HAS_ANY_OF as v, HAS_ALL_OF as w, DOES_NOT_HAVE_ANY_OF as x, HAS_ONLY as y, getGridNumericOperators as z };
3269
+ export { convertToDisplayFormat as $, ARRAY_IS_EMPTY as A, IS as B, CONTAINS_ANY_OF as C, DOES_NOT_CONTAIN as D, ENDS_WITH_ANY_OF as E, IS_NOT as F, getGridStringOperators as G, HAS_WITH_SELECT as H, IS_ANY_OF as I, getGridStringArrayOperators as J, getGridStringArrayOperatorsWithSelect as K, getGridStringArrayOperatorsWithSelectOnStringArrayColumns as L, FILTER_MODEL_KEY as M, SORT_MODEL_KEY as N, PINNED_COLUMNS as O, PAGINATION_MODEL_KEY as P, DIMENSION_MODEL_KEY as Q, FILTER_SEARCH_KEY as R, STARTS_WITH_ANY_OF as S, DENSITY_MODEL_KEY as T, COLUMN_ORDER_MODEL_KEY as U, VISIBILITY_MODEL_KEY as V, CATEGORIES as W, buildStorageKey as X, clearPreviousVersionStorage as Y, clearAllVersionStorage as Z, resetStatefulDataGridState as _, DOES_NOT_EQUAL as a, convertFromDisplayFormat as a0, getDecodedSearchFromUrl as a1, buildQueryParamsString as a2, areSearchStringsEqual as a3, decodeValue as a4, encodeValue as a5, urlSearchParamsToString as a6, numberOperatorEncoder as a7, numberOperatorDecoder as a8, isOperatorValueValid as a9, isValueValid as aa, getFilterModelFromString as ab, getSearchParamsFromFilterModel as ac, getSortingFromString as ad, getSearchParamsFromSorting as ae, getPaginationFromString as af, getSearchParamsFromPagination as ag, getColumnVisibilityFromString as ah, getSearchParamsFromColumnVisibility as ai, getPinnedColumnsFromString as aj, getSearchParamsFromPinnedColumns as ak, getSearchParamsFromTab as al, getDensityFromString as am, getSearchParamsFromDensity as an, getDensityModel as ao, getColumnOrderFromString as ap, getSearchParamsFromColumnOrder as aq, getSearchParamsFromVersion as ar, getFinalSearch as as, getModelsParsedOrUpdateLocalStorage as at, updateUrl as au, areFilterModelsEquivalent as av, StatefulDataGrid as aw, DOES_NOT_START_WITH as b, DOES_NOT_END_WITH as c, IS_NOT_ANY_OF as d, DOES_NOT_CONTAIN_ANY_OF as e, DOES_NOT_START_WITH_ANY_OF as f, DOES_NOT_END_WITH_ANY_OF as g, IS_BETWEEN as h, IS_WITH_SELECT as i, IS_NOT_WITH_SELECT as j, IS_ANY_OF_WITH_SELECT as k, IS_NOT_ANY_OF_WITH_SELECT as l, ARRAY_IS_NOT_EMPTY as m, DOES_NOT_HAVE_WITH_SELECT as n, operatorList as o, HAS_ANY_OF_WITH_SELECT as p, HAS_ALL_OF_WITH_SELECT as q, DOES_NOT_HAVE_ANY_OF_WITH_SELECT as r, HAS_ONLY_WITH_SELECT as s, HAS as t, DOES_NOT_HAVE as u, HAS_ANY_OF as v, HAS_ALL_OF as w, DOES_NOT_HAVE_ANY_OF as x, HAS_ONLY as y, getGridNumericOperators as z };
3237
3270
  //# sourceMappingURL=StatefulDataGrid2.js.map