@zeniai/client-epic-state 5.2.18 → 5.2.19

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,3 +1,4 @@
1
+ import { invoicingFieldHelpForGroup } from '../invoicingConfigView/invoicingConfigViewSelector';
1
2
  /**
2
3
  * Single bundled view for the invoicing data-import surfaces — consumers read
3
4
  * only this. Carries the migration `sessions` list + `sessionsFetch`, the
@@ -7,6 +8,7 @@
7
8
  export const getInvoicingDataImportView = (state) => {
8
9
  const dataImportState = state.invoicingDataImportViewState;
9
10
  return {
11
+ fieldHelp: invoicingFieldHelpForGroup(state, 'data_import'),
10
12
  activeMigrationSessionId: dataImportState.activeDetailId,
11
13
  sessionDetail: dataImportState.sessionDetail,
12
14
  sessionDetailFetch: dataImportState.sessionDetailFetch,
@@ -1,6 +1,6 @@
1
1
  import { getInvoicingQboAccountMappingId, } from '../../../entity/invoicing/invoicingCommonPayload';
2
2
  import { getFormattedAddress } from '../../addressView/addressViewSelector';
3
- import { getInvoicingConfigView } from '../invoicingConfigView/invoicingConfigViewSelector';
3
+ import { getInvoicingConfigView, invoicingFieldHelpForGroup, } from '../invoicingConfigView/invoicingConfigViewSelector';
4
4
  import { getInvoicingQboView, isInvoicingAccountingPickerDataLoading, } from '../invoicingQboView/invoicingQboViewSelector';
5
5
  import { INVOICING_BUSINESS_ADDRESS_TYPE, entityToInvoicingBrandingFormLocalData, } from './invoicingBrandingFormConfig';
6
6
  import { initialInvoicingQboSettingsLocalData, } from './invoicingQboSettingsFormConfig';
@@ -26,6 +26,7 @@ export const getInvoicingSettingsFetchState = (state) => ({
26
26
  export const getInvoicingSettingsView = (state) => {
27
27
  const { error, fetchState, saveFetchState, settings, stripeFetchState } = state.invoicingSettingsViewState;
28
28
  return {
29
+ fieldHelp: invoicingFieldHelpForGroup(state, 'settings'),
29
30
  error,
30
31
  fetchState,
31
32
  saveState: saveFetchState,
@@ -78,6 +79,7 @@ export const getInvoicingSettingsHubView = (state) => {
78
79
  const { dunningScheduleActionOptions, enableState, error: configError, fetchState: configFetchState, qboAccountMappingKindOptions, qboCustomerMatchingOptions, qboSyncStatusOptions, status, } = getInvoicingConfigView(state);
79
80
  const { canEnable, isQboConfigured, isStripeConnected } = deriveInvoicingEnablePrerequisites(state.invoicingSettingsViewState.settings, state.invoicingQboViewState.connection?.connected === true, qboAccountMappingKindOptions);
80
81
  return {
82
+ fieldHelp: invoicingFieldHelpForGroup(state, 'settings'),
81
83
  // Keeps the onboarding step in the gate: a tenant that has not accepted the
82
84
  // terms cannot enable invoicing, whatever the integrations say.
83
85
  canEnableInvoicing: status === 'settings' && canEnable,
@@ -108,6 +110,7 @@ export const getInvoicingQboSettingsFormView = (state) => {
108
110
  const { fetchState: configFetchState, qboAccountMappingKindOptions, qboCustomerMatchingOptions, qboSyncStatusOptions, } = getInvoicingConfigView(state);
109
111
  const qboView = getInvoicingQboView(state);
110
112
  return {
113
+ fieldHelp: invoicingFieldHelpForGroup(state, 'settings'),
111
114
  accountMappingKindOptions: qboAccountMappingKindOptions,
112
115
  accounts: qboView.accounts,
113
116
  backfillState: qboView.backfillState,
@@ -147,6 +150,7 @@ export const getInvoicingBrandingFormView = (state) => {
147
150
  ? getFormattedAddress(newAddress.addressToCreate)
148
151
  : undefined;
149
152
  return {
153
+ fieldHelp: invoicingFieldHelpForGroup(state, 'settings'),
150
154
  addressLabel,
151
155
  dateFormatOptions: getInvoicingConfigView(state).dateFormatOptions,
152
156
  localData: brandingDraft ?? entityToInvoicingBrandingFormLocalData(settings),
@@ -1,10 +1,12 @@
1
1
  import { FetchStateAndError, ID } from '../../../commonStateTypes/common';
2
+ import { InvoicingFieldHelpByCode } from '../../../entity/invoicing/invoicingCommonPayload';
2
3
  import { RootState } from '../../../rootStateTypes';
3
4
  import { InvoicingDataImportStatusRow, InvoicingMigrationSession } from './dataImportViewPayload';
4
5
  import { InvoicingMigrationDiagnosticsState } from './dataImportViewState';
5
6
  export interface InvoicingDataImportView {
6
7
  activeMigrationSessionId: ID | null;
7
8
  diagnosticsBySession: Record<ID, InvoicingMigrationDiagnosticsState>;
9
+ fieldHelp: InvoicingFieldHelpByCode;
8
10
  sessionDetail: Record<ID, InvoicingMigrationSession>;
9
11
  sessionDetailFetch: FetchStateAndError;
10
12
  sessions: InvoicingMigrationSession[];
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getInvoicingDataImportView = void 0;
4
+ const invoicingConfigViewSelector_1 = require("../invoicingConfigView/invoicingConfigViewSelector");
4
5
  /**
5
6
  * Single bundled view for the invoicing data-import surfaces — consumers read
6
7
  * only this. Carries the migration `sessions` list + `sessionsFetch`, the
@@ -10,6 +11,7 @@ exports.getInvoicingDataImportView = void 0;
10
11
  const getInvoicingDataImportView = (state) => {
11
12
  const dataImportState = state.invoicingDataImportViewState;
12
13
  return {
14
+ fieldHelp: (0, invoicingConfigViewSelector_1.invoicingFieldHelpForGroup)(state, 'data_import'),
13
15
  activeMigrationSessionId: dataImportState.activeDetailId,
14
16
  sessionDetail: dataImportState.sessionDetail,
15
17
  sessionDetailFetch: dataImportState.sessionDetailFetch,
@@ -1,6 +1,6 @@
1
1
  import { NestedAccountHierarchyForReport } from '../../../commonStateTypes/accountView/nestedAccountID';
2
2
  import { FetchState, FetchStateAndError } from '../../../commonStateTypes/common';
3
- import { InvoicingDunningActionOption, InvoicingNamedOption, InvoicingQboAccountMappingKindOption, InvoicingSettingsPayload } from '../../../entity/invoicing/invoicingCommonPayload';
3
+ import { InvoicingDunningActionOption, InvoicingFieldHelpByCode, InvoicingNamedOption, InvoicingQboAccountMappingKindOption, InvoicingSettingsPayload } from '../../../entity/invoicing/invoicingCommonPayload';
4
4
  import { ZeniAPIStatus } from '../../../responsePayload';
5
5
  import { RootState } from '../../../rootStateTypes';
6
6
  import { InvoicingQboConnection, InvoicingQboSyncHealth } from '../invoicingQboView/invoicingQboViewPayload';
@@ -20,6 +20,7 @@ export declare const getInvoicingSettings: (state: RootState) => InvoicingSettin
20
20
  export declare const getInvoicingSettingsFetchState: (state: RootState) => FetchStateAndError;
21
21
  export interface InvoicingSettingsView {
22
22
  fetchState: FetchState;
23
+ fieldHelp: InvoicingFieldHelpByCode;
23
24
  saveState: FetchStateAndError;
24
25
  stripeConnectState: FetchStateAndError;
25
26
  error?: ZeniAPIStatus;
@@ -56,6 +57,7 @@ export interface InvoicingSettingsHubView {
56
57
  */
57
58
  configFetchState: FetchState;
58
59
  dunningScheduleActionOptions: InvoicingDunningActionOption[];
60
+ fieldHelp: InvoicingFieldHelpByCode;
59
61
  isEnablingInvoicing: boolean;
60
62
  /**
61
63
  * Whether the tenant has already enabled invoicing. The enable footer is for
@@ -95,6 +97,7 @@ export interface InvoicingQboSettingsFormView {
95
97
  /** So the screen can fetch only what is missing, without reading the slices. */
96
98
  configFetchState: FetchState;
97
99
  customerMatchingOptions: InvoicingNamedOption[];
100
+ fieldHelp: InvoicingFieldHelpByCode;
98
101
  isLoading: boolean;
99
102
  /** The persisted sync toggle — the backfill guard checks that, not the draft. */
100
103
  isSyncEnabledSaved: boolean;
@@ -120,6 +123,7 @@ export interface InvoicingQboSettingsFormView {
120
123
  export declare const getInvoicingQboSettingsFormView: (state: RootState) => InvoicingQboSettingsFormView;
121
124
  export interface InvoicingBrandingFormView {
122
125
  dateFormatOptions: InvoicingNamedOption[];
126
+ fieldHelp: InvoicingFieldHelpByCode;
123
127
  localData: InvoicingBrandingFormLocalData;
124
128
  saveState: FetchStateAndError;
125
129
  addressLabel?: string;
@@ -32,6 +32,7 @@ exports.getInvoicingSettingsFetchState = getInvoicingSettingsFetchState;
32
32
  const getInvoicingSettingsView = (state) => {
33
33
  const { error, fetchState, saveFetchState, settings, stripeFetchState } = state.invoicingSettingsViewState;
34
34
  return {
35
+ fieldHelp: (0, invoicingConfigViewSelector_1.invoicingFieldHelpForGroup)(state, 'settings'),
35
36
  error,
36
37
  fetchState,
37
38
  saveState: saveFetchState,
@@ -85,6 +86,7 @@ const getInvoicingSettingsHubView = (state) => {
85
86
  const { dunningScheduleActionOptions, enableState, error: configError, fetchState: configFetchState, qboAccountMappingKindOptions, qboCustomerMatchingOptions, qboSyncStatusOptions, status, } = (0, invoicingConfigViewSelector_1.getInvoicingConfigView)(state);
86
87
  const { canEnable, isQboConfigured, isStripeConnected } = deriveInvoicingEnablePrerequisites(state.invoicingSettingsViewState.settings, state.invoicingQboViewState.connection?.connected === true, qboAccountMappingKindOptions);
87
88
  return {
89
+ fieldHelp: (0, invoicingConfigViewSelector_1.invoicingFieldHelpForGroup)(state, 'settings'),
88
90
  // Keeps the onboarding step in the gate: a tenant that has not accepted the
89
91
  // terms cannot enable invoicing, whatever the integrations say.
90
92
  canEnableInvoicing: status === 'settings' && canEnable,
@@ -116,6 +118,7 @@ const getInvoicingQboSettingsFormView = (state) => {
116
118
  const { fetchState: configFetchState, qboAccountMappingKindOptions, qboCustomerMatchingOptions, qboSyncStatusOptions, } = (0, invoicingConfigViewSelector_1.getInvoicingConfigView)(state);
117
119
  const qboView = (0, invoicingQboViewSelector_1.getInvoicingQboView)(state);
118
120
  return {
121
+ fieldHelp: (0, invoicingConfigViewSelector_1.invoicingFieldHelpForGroup)(state, 'settings'),
119
122
  accountMappingKindOptions: qboAccountMappingKindOptions,
120
123
  accounts: qboView.accounts,
121
124
  backfillState: qboView.backfillState,
@@ -156,6 +159,7 @@ const getInvoicingBrandingFormView = (state) => {
156
159
  ? (0, addressViewSelector_1.getFormattedAddress)(newAddress.addressToCreate)
157
160
  : undefined;
158
161
  return {
162
+ fieldHelp: (0, invoicingConfigViewSelector_1.invoicingFieldHelpForGroup)(state, 'settings'),
159
163
  addressLabel,
160
164
  dateFormatOptions: (0, invoicingConfigViewSelector_1.getInvoicingConfigView)(state).dateFormatOptions,
161
165
  localData: brandingDraft ?? (0, invoicingBrandingFormConfig_1.entityToInvoicingBrandingFormLocalData)(settings),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "5.2.18",
3
+ "version": "5.2.19",
4
4
  "description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/esm/index.js",