woodsportal-client-sdk 4.0.11 → 4.1.0-dev.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 (36) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/adapters/angular/index.d.ts +2 -1
  3. package/dist/adapters/angular/index.js +3 -3
  4. package/dist/adapters/native/index.d.ts +1 -1
  5. package/dist/adapters/native/index.js +4 -4
  6. package/dist/adapters/react/index.d.ts +2 -1
  7. package/dist/adapters/react/index.js +4 -4
  8. package/dist/adapters/vue/index.d.ts +2 -1
  9. package/dist/adapters/vue/index.js +3 -3
  10. package/dist/{chunk-465COPZR.js → chunk-63ZSQAKL.js} +33 -9
  11. package/dist/chunk-63ZSQAKL.js.map +1 -0
  12. package/dist/{chunk-WYPWCRLD.js → chunk-DUGOR7K3.js} +4 -4
  13. package/dist/{chunk-WYPWCRLD.js.map → chunk-DUGOR7K3.js.map} +1 -1
  14. package/dist/{chunk-2EERAVOX.js → chunk-FSDW325N.js} +3 -3
  15. package/dist/{chunk-2EERAVOX.js.map → chunk-FSDW325N.js.map} +1 -1
  16. package/dist/{chunk-7CAI7GJM.js → chunk-LET4UAII.js} +4 -4
  17. package/dist/{chunk-7CAI7GJM.js.map → chunk-LET4UAII.js.map} +1 -1
  18. package/dist/{chunk-Z5YC6LZ3.js → chunk-QXBO7WHE.js} +5 -5
  19. package/dist/{chunk-Z5YC6LZ3.js.map → chunk-QXBO7WHE.js.map} +1 -1
  20. package/dist/{chunk-5RKWGRQ2.js → chunk-TBKCPEGQ.js} +3 -3
  21. package/dist/{chunk-5RKWGRQ2.js.map → chunk-TBKCPEGQ.js.map} +1 -1
  22. package/dist/{chunk-W54URIFE.js → chunk-UGO2QJLI.js} +4 -4
  23. package/dist/{chunk-W54URIFE.js.map → chunk-UGO2QJLI.js.map} +1 -1
  24. package/dist/{chunk-6ODCZGJX.js → chunk-WLTXJFHQ.js} +31 -8
  25. package/dist/chunk-WLTXJFHQ.js.map +1 -0
  26. package/dist/{cross-tab-session-ZO3J5FON.js → cross-tab-session-HECMXTOM.js} +5 -5
  27. package/dist/{cross-tab-session-ZO3J5FON.js.map → cross-tab-session-HECMXTOM.js.map} +1 -1
  28. package/dist/entries/auth.js +4 -4
  29. package/dist/entries/crm.d.ts +2 -1
  30. package/dist/entries/crm.js +6 -6
  31. package/dist/index.d.ts +2 -1
  32. package/dist/index.js +10 -10
  33. package/dist/{use-sync-Bc3XBQBA.d.ts → use-sync-B4xio81b.d.ts} +1 -0
  34. package/package.json +1 -1
  35. package/dist/chunk-465COPZR.js.map +0 -1
  36. package/dist/chunk-6ODCZGJX.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,18 @@ All notable changes to **woodsportal-client-sdk** are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [4.1.0] - 2026-08-06
9
+
10
+ ### Added
11
+
12
+ - CRM request payload helpers to resolve path vs query params for list/details/association flows.
13
+ - `selectedStage` LIST filter support and related board/list stage URL handling.
14
+
15
+ ### Fixed
16
+
17
+ - Association / primary-company list params (`isPrimaryCompany`) and ticket LIST stage leakage across tabs.
18
+ - Admin locked pipeline treated as selected for LIST filters; `setSelectedStage` no-op when unchanged.
19
+
8
20
  ## [4.0.0] - 2026-06-06
9
21
 
10
22
  ### Removed (breaking)
@@ -1,5 +1,5 @@
1
1
  import { F as FileState, M as MultiObjectTableState, U as UploaderState } from '../../use-file-BcO5l-Zf.js';
2
- import { E as EmailState, N as NoteState, S as SyncState, T as TableState, a as TableUiState, U as UserState } from '../../use-sync-Bc3XBQBA.js';
2
+ import { E as EmailState, N as NoteState, S as SyncState, T as TableState, a as TableUiState, U as UserState } from '../../use-sync-B4xio81b.js';
3
3
 
4
4
  declare const useTable: () => TableState & {
5
5
  setObjectsQueryParams(params: any): void;
@@ -22,6 +22,7 @@ declare const useTableUi: () => TableUiState & {
22
22
  setPage(v: number | string): void;
23
23
  setNextPage(v: number | string): void;
24
24
  setStageId(v: number | string): void;
25
+ setSelectedStage(v: string): void;
25
26
  setTotalItems(v: number): void;
26
27
  setNumOfPages(v: number): void;
27
28
  setCurrentPage(v: number): void;
@@ -1,7 +1,7 @@
1
1
  import { bindStoreWithActions } from '../../chunk-AYTO6ND7.js';
2
- import { createAdapterHooks } from '../../chunk-W54URIFE.js';
3
- import '../../chunk-2EERAVOX.js';
4
- import '../../chunk-6ODCZGJX.js';
2
+ import { createAdapterHooks } from '../../chunk-UGO2QJLI.js';
3
+ import '../../chunk-FSDW325N.js';
4
+ import '../../chunk-WLTXJFHQ.js';
5
5
  import '../../chunk-TH2E4MXG.js';
6
6
  import '../../chunk-KPHAQNS2.js';
7
7
  import '../../chunk-DB6W3CJT.js';
@@ -1,3 +1,3 @@
1
1
  export { useTable, useTableUi, useUser } from '../react/index.js';
2
2
  import '../../use-file-BcO5l-Zf.js';
3
- import '../../use-sync-Bc3XBQBA.js';
3
+ import '../../use-sync-B4xio81b.js';
@@ -1,7 +1,7 @@
1
- export { useTable, useTableUi, useUser } from '../../chunk-5RKWGRQ2.js';
2
- import '../../chunk-W54URIFE.js';
3
- import '../../chunk-2EERAVOX.js';
4
- import '../../chunk-6ODCZGJX.js';
1
+ export { useTable, useTableUi, useUser } from '../../chunk-TBKCPEGQ.js';
2
+ import '../../chunk-UGO2QJLI.js';
3
+ import '../../chunk-FSDW325N.js';
4
+ import '../../chunk-WLTXJFHQ.js';
5
5
  import '../../chunk-TH2E4MXG.js';
6
6
  import '../../chunk-KPHAQNS2.js';
7
7
  import '../../chunk-DB6W3CJT.js';
@@ -1,5 +1,5 @@
1
1
  import { F as FileState, M as MultiObjectTableState, U as UploaderState } from '../../use-file-BcO5l-Zf.js';
2
- import { T as TableState, a as TableUiState, U as UserState, E as EmailState, N as NoteState, S as SyncState } from '../../use-sync-Bc3XBQBA.js';
2
+ import { T as TableState, a as TableUiState, U as UserState, E as EmailState, N as NoteState, S as SyncState } from '../../use-sync-B4xio81b.js';
3
3
 
4
4
  declare const useTable: () => TableState & {
5
5
  setObjectsQueryParams(params: any): void;
@@ -22,6 +22,7 @@ declare const useTableUi: () => TableUiState & {
22
22
  setPage(v: number | string): void;
23
23
  setNextPage(v: number | string): void;
24
24
  setStageId(v: number | string): void;
25
+ setSelectedStage(v: string): void;
25
26
  setTotalItems(v: number): void;
26
27
  setNumOfPages(v: number): void;
27
28
  setCurrentPage(v: number): void;
@@ -1,7 +1,7 @@
1
- export { useEmail, useFile, useMultiObjectActions, useNote, useSync, useTable, useTableUi, useUploader, useUser } from '../../chunk-5RKWGRQ2.js';
2
- import '../../chunk-W54URIFE.js';
3
- import '../../chunk-2EERAVOX.js';
4
- import '../../chunk-6ODCZGJX.js';
1
+ export { useEmail, useFile, useMultiObjectActions, useNote, useSync, useTable, useTableUi, useUploader, useUser } from '../../chunk-TBKCPEGQ.js';
2
+ import '../../chunk-UGO2QJLI.js';
3
+ import '../../chunk-FSDW325N.js';
4
+ import '../../chunk-WLTXJFHQ.js';
5
5
  import '../../chunk-TH2E4MXG.js';
6
6
  import '../../chunk-KPHAQNS2.js';
7
7
  import '../../chunk-DB6W3CJT.js';
@@ -1,5 +1,5 @@
1
1
  import { F as FileState, M as MultiObjectTableState, U as UploaderState } from '../../use-file-BcO5l-Zf.js';
2
- import { E as EmailState, N as NoteState, S as SyncState, T as TableState, a as TableUiState, U as UserState } from '../../use-sync-Bc3XBQBA.js';
2
+ import { E as EmailState, N as NoteState, S as SyncState, T as TableState, a as TableUiState, U as UserState } from '../../use-sync-B4xio81b.js';
3
3
 
4
4
  declare const useTable: () => TableState & {
5
5
  setObjectsQueryParams(params: any): void;
@@ -22,6 +22,7 @@ declare const useTableUi: () => TableUiState & {
22
22
  setPage(v: number | string): void;
23
23
  setNextPage(v: number | string): void;
24
24
  setStageId(v: number | string): void;
25
+ setSelectedStage(v: string): void;
25
26
  setTotalItems(v: number): void;
26
27
  setNumOfPages(v: number): void;
27
28
  setCurrentPage(v: number): void;
@@ -1,7 +1,7 @@
1
1
  import { bindStoreWithActions } from '../../chunk-AYTO6ND7.js';
2
- import { createAdapterHooks } from '../../chunk-W54URIFE.js';
3
- import '../../chunk-2EERAVOX.js';
4
- import '../../chunk-6ODCZGJX.js';
2
+ import { createAdapterHooks } from '../../chunk-UGO2QJLI.js';
3
+ import '../../chunk-FSDW325N.js';
4
+ import '../../chunk-WLTXJFHQ.js';
5
5
  import '../../chunk-TH2E4MXG.js';
6
6
  import '../../chunk-KPHAQNS2.js';
7
7
  import '../../chunk-DB6W3CJT.js';
@@ -1,4 +1,4 @@
1
- import { getParamDetails, getRouteDetails, updateLink, getParam, decodeToBase64, generatePath, getPath, getRouteMenu, tableUiActions, ticketHubspotObjectTypeId, makePreviewParams, tableStore, actions2, userStore, isPipelineBoardObjectTypeId, fileStore, actions7, emailStore, actions5, noteStore, actions4, tableUiStore, resetAllStore, breadcrumbStage, isMessingParentLastItem, isMessingParent, generateUrl } from './chunk-6ODCZGJX.js';
1
+ import { getParamDetails, getRouteDetails, updateLink, getParam, decodeToBase64, generatePath, getPath, getRouteMenu, tableUiActions, ticketHubspotObjectTypeId, makePreviewParams, tableStore, actions2, userStore, isPipelineBoardObjectTypeId, tableUiStore, fileStore, actions7, emailStore, actions5, noteStore, actions4, resetAllStore, breadcrumbStage, isMessingParentLastItem, isMessingParent, generateUrl } from './chunk-WLTXJFHQ.js';
2
2
  import { config, configureLogger, setIframeStorageMode, setRefreshBufferSeconds, setRefreshCallback, hydrateSessionRefreshState, isHttpTracingEnabled, logger, getAccessToken, sanitizeAxiosErrorData, classifyRefreshHttpError, shouldLogoutAfterRefreshFailure, setRefreshToken, storAccessToken, classifyRefreshResponseWithoutToken, storage, HUBSPOT_DATA, setRuntimeHttpClientHubContext, isServiceUnavailableError, refreshSession, ensureValidRefresh, HUB_ID, DEV_PORTAL_ID, PORTAL_ID, DEV_API_URL, isAccessTokenExpired } from './chunk-TH2E4MXG.js';
3
3
  import { getClientType, configureStorageKeys } from './chunk-KPHAQNS2.js';
4
4
  import { AuthErrorCode } from './chunk-COHBSTHF.js';
@@ -445,7 +445,7 @@ function initializeHttpClient(clientConfig) {
445
445
  migrateLegacyStorageKeys();
446
446
  }).catch(() => {
447
447
  });
448
- void import('./cross-tab-session-ZO3J5FON.js').then(({ installCrossTabSessionListener }) => {
448
+ void import('./cross-tab-session-HECMXTOM.js').then(({ installCrossTabSessionListener }) => {
449
449
  installCrossTabSessionListener();
450
450
  }).catch(() => {
451
451
  });
@@ -1262,13 +1262,33 @@ function applyBoardPaginationToParams(param, tableParams) {
1262
1262
  return param;
1263
1263
  }
1264
1264
  function finalizeBoardListQueryParams(param, _context) {
1265
- const { stageId, nextPage, view, selectedPipeline } = tableUiStore.getState();
1265
+ const { stageId, nextPage, view, selectedPipeline, selectedStage } = tableUiStore.getState();
1266
1266
  if (view) {
1267
1267
  param.view = view;
1268
1268
  }
1269
- if (selectedPipeline !== void 0 && selectedPipeline !== null && selectedPipeline !== "") {
1269
+ if (selectedPipeline !== void 0 && selectedPipeline !== null && String(selectedPipeline) !== "") {
1270
1270
  param.filterValue = selectedPipeline;
1271
1271
  }
1272
+ const effectiveView = String(param.view ?? view ?? "");
1273
+ const hadSelectedStageKey = Object.prototype.hasOwnProperty.call(param, "selectedStage");
1274
+ const urlSelectedStage = param.selectedStage;
1275
+ delete param.selectedStage;
1276
+ if (effectiveView === "LIST") {
1277
+ const pipelineValue = param.filterValue;
1278
+ const hasPipeline = pipelineValue !== void 0 && pipelineValue !== null && String(pipelineValue) !== "";
1279
+ const fromStore = selectedStage !== void 0 && selectedStage !== null && String(selectedStage) !== "" ? String(selectedStage) : "";
1280
+ const fromUrl = urlSelectedStage !== void 0 && urlSelectedStage !== null && String(urlSelectedStage) !== "" ? String(urlSelectedStage) : "";
1281
+ const listStage = hadSelectedStageKey ? fromUrl : fromStore;
1282
+ if (listStage && hasPipeline) {
1283
+ param.stageId = listStage;
1284
+ if (!fromStore && fromUrl) {
1285
+ tableUiStore.setState({ selectedStage: fromUrl });
1286
+ }
1287
+ } else {
1288
+ delete param.stageId;
1289
+ }
1290
+ return param;
1291
+ }
1272
1292
  return applyBoardPaginationToParams(param, {
1273
1293
  stageId,
1274
1294
  page: stageId ? nextPage : 1
@@ -1866,16 +1886,19 @@ var crmClient = {
1866
1886
  const pipeline = payload?.variables?.pipeline;
1867
1887
  const mPipelines = payload?.variables?.mPipelines;
1868
1888
  const mSelectedPipeline = pipeline !== void 0 ? pipeline : payload?.selectedPipeline;
1869
- if (mSelectedPipeline) {
1889
+ if (mSelectedPipeline !== void 0 && mSelectedPipeline !== null && String(mSelectedPipeline) !== "") {
1870
1890
  listTableParams.filterValue = mSelectedPipeline;
1871
- } else if (payload?.specPipeLine && payload?.pipeLineId) {
1891
+ } else if (payload?.specPipeLine && payload?.pipeLineId != null && String(payload.pipeLineId) !== "") {
1872
1892
  listTableParams.filterValue = payload?.pipeLineId;
1893
+ } else if (payload?.lockedPipelineId != null && String(payload.lockedPipelineId) !== "") {
1894
+ listTableParams.filterValue = payload.lockedPipelineId;
1873
1895
  } else if (!isPipelineBoardObjectTypeId(payload?.hubspotObjectTypeId)) {
1874
1896
  listTableParams.filterValue = "";
1875
1897
  }
1876
1898
  const fParams = getLinkParams(linkParamDisplayName);
1877
1899
  listTableParams = { ...payload?.isFristTimeLoadData && fParams && !payload?.isHome ? fParams : listTableParams, ...paramsObject };
1878
1900
  if (!payload?.isFristTimeLoadData || !fParams) {
1901
+ const selectedStage = tableUiStore.getState().selectedStage;
1879
1902
  await updateLink2(
1880
1903
  {
1881
1904
  sort: listTableParams?.sort,
@@ -1888,7 +1911,8 @@ var crmClient = {
1888
1911
  v: listTableParams?.view,
1889
1912
  l: listTableParams?.limit,
1890
1913
  p: listTableParams?.page,
1891
- a: listTableParams?.after
1914
+ a: listTableParams?.after,
1915
+ stg: listTableParams?.view === "LIST" ? selectedStage || "" : void 0
1892
1916
  },
1893
1917
  linkParamDisplayName
1894
1918
  );
@@ -2541,5 +2565,5 @@ function createMutation(mutationFn, options) {
2541
2565
  }
2542
2566
 
2543
2567
  export { API_ENDPOINTS, Client, HttpClient, buildCachePurgeRequest, buildCrmListPurgeTarget, buildCrmSinglePurgeTarget, buildEngagementPurgeTarget, buildPortalConfigPurgeTarget, buildUserSessionPurgeTarget, createCachePurgeJob, createMutation, extractEngagementItemIdFromWriteResponse, extractHubspotRecordIdFromWriteResponse, generateApiUrl, getAuthRefreshToken, getFieldErrors, getFormErrors, initializeHttpClient, mergePurgeTargets, navigationApi, purgeCrmCombined, purgeCrmDetailAndListAfterCrmWrite, purgeCrmListCache, purgeCrmListCacheAfterCrmWrite, purgeCrmObjectDataCache, purgeCrmRecordCache, purgeEngagementCaches, purgeEngagementCachesAfterCrmWrite, resolveCrmListPurgeQuery, resolveListTableParams, setEditorPreviewMockHandler, startVisibilityRefreshScheduler, stopVisibilityRefreshScheduler, toCachePurgeListQuery };
2544
- //# sourceMappingURL=chunk-465COPZR.js.map
2545
- //# sourceMappingURL=chunk-465COPZR.js.map
2568
+ //# sourceMappingURL=chunk-63ZSQAKL.js.map
2569
+ //# sourceMappingURL=chunk-63ZSQAKL.js.map