@zeniai/client-epic-state 5.1.50-betaAK2 → 5.1.50-betaAK4

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.
package/lib/esm/index.js CHANGED
@@ -732,8 +732,8 @@ export { fetchInvoicingSubscriptionFormPage, initializeInvoicingSubscriptionAddr
732
732
  export { INVOICING_SUBSCRIPTION_BILLING_FREQUENCY_VALUES, INVOICING_SUBSCRIPTION_SHIPPING_ADDRESS_TYPE, entityToInvoicingSubscriptionFormLocalData, initialInvoicingSubscriptionFormLocalData, } from './view/invoicing/editInvoicingSubscriptionDetailView/invoicingSubscriptionFormConfig';
733
733
  export { getEditInvoicingSubscriptionDetailViewState, getInvoicingSubscriptionFormView, } from './view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector';
734
734
  export { resetEditInvoicingCatalogItemDetailView, saveInvoicingCatalogItem, submitInvoicingCatalogItemForm, updateInvoicingCatalogItemFormDraft, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer';
735
- export { blankInvoicingCatalogSubFamily, blankInvoicingCatalogTier, entityToInvoicingCatalogItemFormLocalData, initialInvoicingCatalogItemFormLocalData, isTieredCatalogPricingModel, } from './view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormConfig';
736
- export { getEditInvoicingCatalogItemDetailViewState, getInvoicingCatalogItemFormView, getSavedInvoicingCatalogItemId, getSavedInvoicingCatalogItemKind, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector';
735
+ export { INVOICING_CATALOG_APPLICABILITY_VALUES, INVOICING_CATALOG_PERIOD_UNIT_VALUES, INVOICING_CATALOG_PRICING_MODEL_VALUES, INVOICING_CATALOG_PRORATION_VALUES, INVOICING_CATALOG_TIER_TYPE_VALUES, INVOICING_CATALOG_TRIAL_END_ACTION_VALUES, INVOICING_CATALOG_TRIAL_UNIT_VALUES, INVOICING_CATALOG_TYPE_VALUES, blankInvoicingCatalogSubFamily, blankInvoicingCatalogTier, entityToInvoicingCatalogItemFormLocalData, initialInvoicingCatalogItemFormLocalData, isTieredCatalogPricingModel, } from './view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormConfig';
736
+ export { getEditInvoicingCatalogItemDetailViewState, getInvoicingApplicableCatalogItemOptions, getInvoicingCatalogItemFormView, getSavedInvoicingCatalogItemId, getSavedInvoicingCatalogItemKind, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector';
737
737
  export { resetEditInvoicingCouponDetailView, saveInvoicingCoupon, submitInvoicingCouponForm, updateInvoicingCouponFormDraft, } from './view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewReducer';
738
738
  export { entityToInvoicingCouponFormLocalData, initialInvoicingCouponFormLocalData, } from './view/invoicing/editInvoicingCouponDetailView/invoicingCouponFormConfig';
739
739
  export { getEditInvoicingCouponDetailViewState, getInvoicingCouponFormView, } from './view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewSelector';
@@ -1,5 +1,6 @@
1
- import { getInvoicingPlanById } from '../../../entity/invoicing/plan/planSelector';
2
- import { getInvoicingProductById } from '../../../entity/invoicing/product/productSelector';
1
+ import { createSelector } from '@reduxjs/toolkit';
2
+ import { getInvoicingPlanById, getInvoicingPlansByIds, } from '../../../entity/invoicing/plan/planSelector';
3
+ import { getInvoicingProductById, getInvoicingProductsByIds, } from '../../../entity/invoicing/product/productSelector';
3
4
  import { INVOICING_CATALOG_APPLICABILITY_VALUES, INVOICING_CATALOG_PERIOD_UNIT_VALUES, INVOICING_CATALOG_PRICING_MODEL_VALUES, INVOICING_CATALOG_PRORATION_VALUES, INVOICING_CATALOG_TIER_TYPE_VALUES, INVOICING_CATALOG_TRIAL_END_ACTION_VALUES, INVOICING_CATALOG_TRIAL_UNIT_VALUES, INVOICING_CATALOG_TYPE_VALUES, entityToInvoicingCatalogItemFormLocalData, } from './invoicingCatalogItemFormConfig';
4
5
  export const getEditInvoicingCatalogItemDetailViewState = (state) => ({
5
6
  fetchState: state.editInvoicingCatalogItemDetailViewState.fetchState,
@@ -7,29 +8,83 @@ export const getEditInvoicingCatalogItemDetailViewState = (state) => ({
7
8
  });
8
9
  export const getSavedInvoicingCatalogItemId = (state) => state.editInvoicingCatalogItemDetailViewState.savedItemId;
9
10
  export const getSavedInvoicingCatalogItemKind = (state) => state.editInvoicingCatalogItemDetailViewState.savedKind;
10
- export const getInvoicingCatalogItemFormView = (state, kind, id) => {
11
+ const isAddonOrCharge = (type) => type === 'addon' || type === 'charge';
12
+ const priceSubtitle = (price, periodUnit) => {
13
+ if (price == null) {
14
+ return undefined;
15
+ }
16
+ const amount = new Intl.NumberFormat('en-US', {
17
+ currency: price.currencyCode !== '' ? price.currencyCode : 'USD',
18
+ maximumFractionDigits: 0,
19
+ style: 'currency',
20
+ }).format(price.amount);
21
+ if (periodUnit != null && periodUnit !== '') {
22
+ return `${amount}/${periodUnit}`;
23
+ }
24
+ return amount;
25
+ };
26
+ const buildApplicableCatalogItemOptions = (plans, products) => {
27
+ const options = new Map();
28
+ for (const plan of plans) {
29
+ const type = plan.type ?? plan.itemType;
30
+ if (!isAddonOrCharge(type)) {
31
+ continue;
32
+ }
33
+ options.set(plan.id, {
34
+ id: plan.id,
35
+ label: plan.name ?? plan.id,
36
+ subtitle: type,
37
+ });
38
+ }
39
+ for (const product of products) {
40
+ const type = product.itemType ?? product.type;
41
+ if (!isAddonOrCharge(type)) {
42
+ continue;
43
+ }
44
+ const id = product.itemID ?? product.id;
45
+ if (options.has(id)) {
46
+ continue;
47
+ }
48
+ options.set(id, {
49
+ id,
50
+ label: product.name ?? id,
51
+ subtitle: priceSubtitle(product.price, product.periodUnit),
52
+ });
53
+ }
54
+ return [...options.values()].sort((a, b) => a.label.localeCompare(b.label));
55
+ };
56
+ /**
57
+ * Memoized add-on / one-time-charge options sourced from the catalog list slice.
58
+ * Kept referentially stable across unrelated dispatches; the form view filters
59
+ * out the item being edited (see `getInvoicingCatalogItemFormView`).
60
+ */
61
+ export const getInvoicingApplicableCatalogItemOptions = createSelector((state) => state.invoicingPlanState, (state) => state.invoicingProductState, (state) => state.invoicingCatalogListViewState, (planState, productState, listViewState) => buildApplicableCatalogItemOptions(getInvoicingPlansByIds(planState, listViewState.planIds), getInvoicingProductsByIds(productState, listViewState.productIds)));
62
+ export const getInvoicingCatalogItemFormView = (state, id) => {
11
63
  const { editDraftById, error, fetchState, newItemDraft, savedItemId, savedKind } = state.editInvoicingCatalogItemDetailViewState;
12
- const plan = kind === 'plan' && id != null
13
- ? getInvoicingPlanById(state.invoicingPlanState, id)
14
- : undefined;
15
- const product = kind === 'product' && id != null
16
- ? getInvoicingProductById(state.invoicingProductState, id)
17
- : undefined;
64
+ const product = id != null ? getInvoicingProductById(state.invoicingProductState, id) : undefined;
65
+ const plan = id != null ? getInvoicingPlanById(state.invoicingPlanState, id) : undefined;
66
+ const kind = product != null ? 'product' : plan != null ? 'plan' : undefined;
18
67
  const localData = id != null
19
68
  ? (editDraftById[id] ??
20
- entityToInvoicingCatalogItemFormLocalData(plan ?? product, kind))
69
+ entityToInvoicingCatalogItemFormLocalData(product ?? plan, kind))
21
70
  : newItemDraft;
71
+ const allApplicableItemOptions = getInvoicingApplicableCatalogItemOptions(state);
72
+ const applicableItemOptions = id != null
73
+ ? allApplicableItemOptions.filter((option) => option.id !== id)
74
+ : allApplicableItemOptions;
22
75
  return {
23
- applicabilityValues: [...INVOICING_CATALOG_APPLICABILITY_VALUES],
76
+ applicabilityValues: INVOICING_CATALOG_APPLICABILITY_VALUES,
77
+ applicableItemOptions,
24
78
  localData,
25
79
  mode: id != null ? 'edit' : 'create',
26
- periodUnitValues: [...INVOICING_CATALOG_PERIOD_UNIT_VALUES],
27
- pricingModelValues: [...INVOICING_CATALOG_PRICING_MODEL_VALUES],
28
- prorationValues: [...INVOICING_CATALOG_PRORATION_VALUES],
29
- tierTypeValues: [...INVOICING_CATALOG_TIER_TYPE_VALUES],
30
- trialEndActionValues: [...INVOICING_CATALOG_TRIAL_END_ACTION_VALUES],
31
- trialUnitValues: [...INVOICING_CATALOG_TRIAL_UNIT_VALUES],
32
- typeValues: [...INVOICING_CATALOG_TYPE_VALUES],
80
+ periodUnitValues: INVOICING_CATALOG_PERIOD_UNIT_VALUES,
81
+ pricingModelValues: INVOICING_CATALOG_PRICING_MODEL_VALUES,
82
+ prorationValues: INVOICING_CATALOG_PRORATION_VALUES,
83
+ tierTypeValues: INVOICING_CATALOG_TIER_TYPE_VALUES,
84
+ trialEndActionValues: INVOICING_CATALOG_TRIAL_END_ACTION_VALUES,
85
+ trialUnitValues: INVOICING_CATALOG_TRIAL_UNIT_VALUES,
86
+ typeValues: INVOICING_CATALOG_TYPE_VALUES,
87
+ kind,
33
88
  plan,
34
89
  product,
35
90
  savedItemId,
@@ -1,10 +1,18 @@
1
1
  import recordGet from 'lodash/get';
2
+ import { getAddressByAddressId } from '../../../entity/address/addressSelector';
2
3
  import { getInvoiceById } from '../../../entity/invoicing/invoice/invoiceSelector';
3
4
  import { getInvoicingInvoiceActionState } from '../invoiceAction/invoiceActionSelector';
4
5
  export const getInvoiceDetail = (state, invoiceId) => {
5
6
  const detail = recordGet(state.invoicingInvoiceDetailState.detailById, invoiceId, undefined);
7
+ const invoice = getInvoiceById(state, invoiceId);
6
8
  return {
7
- invoice: getInvoiceById(state, invoiceId),
9
+ invoice,
10
+ billingAddress: invoice?.billingAddressId != null
11
+ ? getAddressByAddressId(state.addressState, invoice.billingAddressId)
12
+ : undefined,
13
+ shippingAddress: invoice?.shippingAddressId != null
14
+ ? getAddressByAddressId(state.addressState, invoice.shippingAddressId)
15
+ : undefined,
8
16
  actionState: getInvoicingInvoiceActionState(invoiceId)(state),
9
17
  fetchState: detail?.fetchState ?? 'Not-Started',
10
18
  error: detail?.error,
package/lib/index.d.ts CHANGED
@@ -1056,9 +1056,9 @@ export type { EditInvoicingSubscriptionDetailView, InvoicingSubscriptionFormView
1056
1056
  export { resetEditInvoicingCatalogItemDetailView, saveInvoicingCatalogItem, submitInvoicingCatalogItemForm, updateInvoicingCatalogItemFormDraft, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer';
1057
1057
  export type { SaveInvoicingCatalogItemPayload, SubmitInvoicingCatalogItemFormPayload, UpdateInvoicingCatalogItemFormDraftPayload, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer';
1058
1058
  export type { InvoicingCatalogItemFormLocalData, InvoicingCatalogItemFormSubFamily, InvoicingCatalogItemFormTier, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewState';
1059
- export { blankInvoicingCatalogSubFamily, blankInvoicingCatalogTier, entityToInvoicingCatalogItemFormLocalData, initialInvoicingCatalogItemFormLocalData, isTieredCatalogPricingModel, } from './view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormConfig';
1060
- export { getEditInvoicingCatalogItemDetailViewState, getInvoicingCatalogItemFormView, getSavedInvoicingCatalogItemId, getSavedInvoicingCatalogItemKind, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector';
1061
- export type { InvoicingCatalogItemFormView } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector';
1059
+ export { INVOICING_CATALOG_APPLICABILITY_VALUES, INVOICING_CATALOG_PERIOD_UNIT_VALUES, INVOICING_CATALOG_PRICING_MODEL_VALUES, INVOICING_CATALOG_PRORATION_VALUES, INVOICING_CATALOG_TIER_TYPE_VALUES, INVOICING_CATALOG_TRIAL_END_ACTION_VALUES, INVOICING_CATALOG_TRIAL_UNIT_VALUES, INVOICING_CATALOG_TYPE_VALUES, blankInvoicingCatalogSubFamily, blankInvoicingCatalogTier, entityToInvoicingCatalogItemFormLocalData, initialInvoicingCatalogItemFormLocalData, isTieredCatalogPricingModel, } from './view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormConfig';
1060
+ export { getEditInvoicingCatalogItemDetailViewState, getInvoicingApplicableCatalogItemOptions, getInvoicingCatalogItemFormView, getSavedInvoicingCatalogItemId, getSavedInvoicingCatalogItemKind, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector';
1061
+ export type { ApplicableCatalogItemOption, InvoicingCatalogItemFormView, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector';
1062
1062
  export { resetEditInvoicingCouponDetailView, saveInvoicingCoupon, submitInvoicingCouponForm, updateInvoicingCouponFormDraft, } from './view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewReducer';
1063
1063
  export type { SaveInvoicingCouponPayload, SubmitInvoicingCouponFormPayload, UpdateInvoicingCouponFormDraftPayload, } from './view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewReducer';
1064
1064
  export type { InvoicingCouponFormLocalData } from './view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewState';
package/lib/index.js CHANGED
@@ -77,12 +77,12 @@ exports.getPolicyRecommendationFromUploadChatSessionId = exports.getPolicyRecomm
77
77
  exports.deriveAiPolicyReviewRowsFromInputs = exports.buildManualCardPolicyFormDraftSeed = exports.buildUploadReviewRows = exports.buildEmptyLimitRows = exports.buildAiCardPolicyFormDraftSeed = exports.toVendorChipFieldValue = exports.toMccCategoryChipFieldValue = exports.buildVendorChipId = exports.buildMccCategoryChipId = exports.VENDOR_CHIP_ID_PREFIX = exports.MCC_CHIP_ID_PREFIX = exports.toMccCategoryLike = exports.CARD_POLICY_LIMIT_ROW_ID_TRANSACTION = exports.CARD_POLICY_LIMIT_ROW_ID_REQUIRE_RECEIPT = exports.getManualCardPolicyFormDraft = exports.getLastCreatedCardPolicyTemplateIds = exports.getLastCreatedCardPolicyTemplateId = exports.getLastCreateCardPolicyTemplateErrors = exports.getLastCreateCardPolicySourceChatSessionId = exports.getCreateCardPolicyTemplateRequestState = exports.getAiCardPolicyFormDraft = exports.updateManualCardPolicyFormDraft = exports.updateCreateCardPolicyTemplateRequestState = exports.updateAiCardPolicyFormDraftFromUploadPlan = exports.updateAiCardPolicyFormDraft = exports.seedManualCardPolicyFormDraft = exports.seedAiCardPolicyFormDraft = exports.createCardPolicyTemplates = exports.clearManualCardPolicyFormDraft = exports.clearCreateCardPolicy = exports.clearAiCardPolicyFormDraft = exports.applyExtractedPolicyToManualCardPolicyDraft = exports.applyExtractedPolicyToAiCardPolicyDraft = exports.toUpdateCardPolicyTemplateRequestBody = exports.toExtractedCardPolicyRules = exports.toCreateCardPolicyTemplatesRequestBody = exports.toCreateCardPolicyTemplateRequestBody = exports.toCardPolicyVendorSearchOption = exports.toCardPolicyTemplateList = exports.toCardPolicyTemplate = exports.toCardPolicyStats = exports.toCardPolicyEditFormDraft = exports.toBulkCreateCardPolicyTemplateError = exports.toCardPolicyTemplateStatus = exports.toCardPolicyTemplateMode = exports.ALL_CARD_POLICY_TEMPLATE_STATUSES = exports.ALL_CARD_POLICY_TEMPLATE_MODES = exports.getUploadedPolicyDocumentFileName = exports.getPolicyRecommendationFromUploadFetchState = exports.getPolicyRecommendationFromUploadError = void 0;
78
78
  exports.fetchTransactionActivityLog = exports.BULK_UPLOAD_BAR_COMPLETE_HOLD_MS = exports.BULK_UPLOAD_AUTOMATCHING_TIMEOUT_MS = exports.getAutoTransferRuleHistory = exports.getAutoTransferRuleById = exports.getAutoTransferRules = exports.clearRuleUpdateLocalData = exports.updateRuleLocalData = exports.fetchAutoTransferReviewDetail = exports.fetchAutoTransferRuleHistory = exports.deleteAutoTransferRule = exports.updateAutoTransferRule = exports.createAutoTransferRule = exports.fetchAutoTransferRules = exports.getTreasuryTaxLetters = exports.fetchTreasuryTaxLetterList = exports.getTreasuryStatements = exports.fetchTreasuryStatementList = exports.getTreasuryTransferMoney = exports.clearTreasuryTransferMoney = exports.updateTreasuryTransferMoneyLocalData = exports.executeTreasuryTransferMoney = exports.getTreasuryDetail = exports.updateTreasuryTransactionListUIState = exports.fetchTreasuryTransactionList = exports.fetchTreasuryOverviewDetail = exports.getUpdateCardPolicyFetchState = exports.getCardPolicyFormDraft = exports.getCardPolicyDetailView = exports.getCardPolicyDetailFetchState = exports.updateCardPolicyFormDraft = exports.updateCardPolicyFetchStatus = exports.updateCardPolicyDetailFetchStatus = exports.updateCardPolicy = exports.fetchCardPolicyDetail = exports.clearCardPolicyDetail = exports.getCardPolicyTemplateIds = exports.getCardPolicyListView = exports.getCardPolicyListFetchState = exports.getArchiveCardPolicyFetchState = exports.updateCardPolicyListFetchStatus = exports.updateArchiveCardPolicyFetchStatus = exports.prependCardPolicyTemplateIds = exports.fetchCardPolicyList = exports.clearCardPolicyList = exports.archiveCardPolicy = exports.toManualCardPolicyTemplateRequestFromDraft = exports.toBulkCardPolicyTemplateRequestsFromDraft = exports.toCardPolicyTemplateRequestFromDraft = exports.applyAiCardPolicyFormDraftUpdate = void 0;
79
79
  exports.fetchInvoicingAuditLog = exports.clearInvoicingAuditView = exports.getInvoicingOverview = exports.buildPeriodOptions = exports.fetchInvoicingOverview = exports.clearInvoicingOverview = exports.initialRecordPaymentFormLocalData = exports.INVOICING_PAYMENT_METHOD_VALUES = exports.INVOICING_PAYMENT_GATEWAY_VALUES = exports.updateRecordPaymentFormDraft = exports.submitRecordPayment = exports.resetRecordPayment = exports.resetCreateInvoice = exports.createInvoice = exports.getInvoiceDetail = exports.fetchInvoiceDetail = exports.clearAllInvoiceDetail = exports.getInvoiceListView = exports.INVOICING_INVOICE_TABS = exports.ALL_INVOICING_INVOICE_TAB_IDS = exports.updateInvoiceListFilters = exports.fetchInvoiceListPage = exports.fetchInvoiceList = exports.fetchInvoiceKPIs = exports.fetchInvoiceCounts = exports.clearInvoiceList = exports.getInvoicesByIds = exports.getInvoiceById = exports.updateInvoices = exports.removeInvoice = exports.clearAllInvoices = exports.getCashManagementOverviewBanner = exports.getCashManagementOverview = exports.bufferAmountToRisk = exports.RISK_BUFFER_AMOUNT = exports.getAutoSweepFlow = exports.updateCashManagementSettingsFetchStatus = exports.updateCashManagementSettings = exports.updateAutoSweepSettingsFetchStatus = exports.updateAutoSweepRisk = exports.updateAutoSweepDraft = exports.saveAutoSweepSettings = exports.clearAutoSweepFlow = exports.fetchCashManagementOverviewPage = exports.fetchCashManagementBanner = exports.toKycProvidedDocumentTypeFromAllowed = exports.toKycProvidedDocumentType = exports.DEFAULT_SESSION_CONFIG = exports.SessionManager = exports.getTransactionActivityLogView = void 0;
80
- exports.saveInvoicingCoupon = exports.resetEditInvoicingCouponDetailView = exports.getSavedInvoicingCatalogItemKind = exports.getSavedInvoicingCatalogItemId = exports.getInvoicingCatalogItemFormView = exports.getEditInvoicingCatalogItemDetailViewState = exports.isTieredCatalogPricingModel = exports.initialInvoicingCatalogItemFormLocalData = exports.entityToInvoicingCatalogItemFormLocalData = exports.blankInvoicingCatalogTier = exports.blankInvoicingCatalogSubFamily = exports.updateInvoicingCatalogItemFormDraft = exports.submitInvoicingCatalogItemForm = exports.saveInvoicingCatalogItem = exports.resetEditInvoicingCatalogItemDetailView = exports.getInvoicingSubscriptionFormView = exports.getEditInvoicingSubscriptionDetailViewState = exports.initialInvoicingSubscriptionFormLocalData = exports.entityToInvoicingSubscriptionFormLocalData = exports.INVOICING_SUBSCRIPTION_SHIPPING_ADDRESS_TYPE = exports.INVOICING_SUBSCRIPTION_BILLING_FREQUENCY_VALUES = exports.updateInvoicingSubscriptionFormDraft = exports.submitInvoicingSubscriptionForm = exports.resetEditInvoicingSubscriptionDetailView = exports.initializeInvoicingSubscriptionAddress = exports.fetchInvoicingSubscriptionFormPage = exports.getInvoicingCustomerFormView = exports.initialInvoicingCustomerFormLocalData = exports.entityToInvoicingCustomerFormLocalData = exports.INVOICING_TAXABILITY_VALUES = exports.INVOICING_NET_TERM_DAY_VALUES = exports.INVOICING_CUSTOMER_TYPE_VALUES = exports.INVOICING_CUSTOMER_BILLING_ADDRESS_TYPE = exports.updateInvoicingCustomerFormDraft = exports.submitInvoicingCustomerFormSuccess = exports.submitInvoicingCustomerFormFailure = exports.submitInvoicingCustomerForm = exports.resetEditInvoicingCustomerDetailView = exports.initializeInvoicingCustomerAddress = exports.getRecordedTransactionId = exports.getRecordPaymentFormView = exports.getRecordPaymentFetchState = exports.getCreatedInvoiceId = exports.getCreateInvoiceFormView = exports.getCreateInvoiceFetchState = exports.getInvoicingAuditLogNextCursor = exports.getInvoicingAuditLogItems = exports.getInvoicingAuditLogHasMore = exports.getInvoicingAuditLogFilters = exports.getInvoicingAuditLogFetchState = void 0;
81
- exports.INVOICING_CUSTOMER_TABS = exports.INVOICING_CUSTOMER_COLUMNS = exports.ALL_INVOICING_CUSTOMER_TAB_IDS = exports.ALL_INVOICING_CUSTOMER_SORT_KEYS = exports.updateInvoicingCustomerFilters = exports.fetchInvoicingCustomerListPage = exports.fetchInvoicingCustomerList = exports.fetchInvoicingCustomerCounts = exports.clearInvoicingCustomerListView = exports.updateInvoicingCustomers = exports.removeInvoicingCustomer = exports.clearAllInvoicingCustomers = exports.INVOICING_LIST_PAGE_SIZE = exports.getInvoicingDataImportActionState = exports.uploadInvoicingMigrationFiles = exports.startInvoicingMigration = exports.rollbackInvoicingMigration = exports.retryInvoicingMigration = exports.connectInvoicingChargebee = exports.clearAllInvoicingDataImportActions = exports.getInvoicingMigrationSessionsFetchState = exports.getInvoicingMigrationSessions = exports.getInvoicingMigrationSessionById = exports.getInvoicingDataImportStatusRows = exports.getInvoicingDataImportStatusFetchState = exports.getInvoicingActiveMigrationSessionId = exports.setInvoicingActiveMigrationSessionId = exports.fetchInvoicingMigrationSessions = exports.fetchInvoicingMigrationSession = exports.fetchInvoicingDataImportStatus = exports.clearInvoicingDataImportView = exports.getInvoicingPaymentActionState = exports.runInvoicingPaymentAction = exports.clearInvoicingPaymentAction = exports.getInvoicingDunningActionState = exports.runInvoicingDunningAction = exports.clearInvoicingDunningAction = exports.getInvoicingSubscriptionActionState = exports.runInvoicingSubscriptionAction = exports.clearInvoicingSubscriptionAction = exports.getInvoicingInvoiceActionState = exports.updateInvoicingInvoice = exports.runInvoicingInvoiceAction = exports.clearInvoicingInvoiceAction = exports.getInvoicingCouponFormView = exports.getEditInvoicingCouponDetailViewState = exports.initialInvoicingCouponFormLocalData = exports.entityToInvoicingCouponFormLocalData = exports.updateInvoicingCouponFormDraft = exports.submitInvoicingCouponForm = void 0;
82
- exports.getInvoicingTransactionById = exports.fetchInvoicingTransactionDetail = exports.clearInvoicingTransactionDetailView = exports.getInvoicingTransactionListView = exports.INVOICING_TRANSACTION_TABS = exports.INVOICING_TRANSACTION_COLUMNS = exports.ALL_INVOICING_TRANSACTION_TAB_IDS = exports.ALL_INVOICING_TRANSACTION_SORT_KEYS = exports.updateInvoicingTransactionFilters = exports.fetchInvoicingTransactionListPage = exports.fetchInvoicingTransactionList = exports.clearInvoicingTransactionListView = exports.updateInvoicingTransactions = exports.removeInvoicingTransaction = exports.clearAllInvoicingTransactions = exports.getInvoicingSubscriptionDetail = exports.getInvoicingSubscriptionById = exports.fetchInvoicingSubscriptionDetail = exports.clearInvoicingSubscriptionDetailView = exports.getInvoicingSubscriptionListView = exports.INVOICING_SUBSCRIPTION_TABS = exports.INVOICING_SUBSCRIPTION_COLUMNS = exports.ALL_INVOICING_SUBSCRIPTION_TAB_IDS = exports.ALL_INVOICING_SUBSCRIPTION_SORT_KEYS = exports.updateInvoicingSubscriptionFilters = exports.fetchInvoicingSubscriptionListPage = exports.fetchInvoicingSubscriptionList = exports.fetchInvoicingSubscriptionCounts = exports.clearInvoicingSubscriptionListView = exports.updateInvoicingSubscriptions = exports.removeInvoicingSubscription = exports.clearAllInvoicingSubscriptions = exports.getInvoicingSetupIntentFetchState = exports.getInvoicingSetupIntent = exports.getInvoicingSentPaymentLinkMagicUrl = exports.getInvoicingSentPaymentLinkEmail = exports.getInvoicingPlaidLinkTokenFetchState = exports.getInvoicingPlaidLinkToken = exports.getInvoicingPaymentMethodSaveState = exports.getInvoicingPaymentLinkSendState = exports.sendInvoicingPaymentLink = exports.saveInvoicingPaymentMethod = exports.resetInvoicingCustomerPaymentMethod = exports.fetchInvoicingPlaidLinkToken = exports.createInvoicingSetupIntent = exports.getInvoicingCustomerDetail = exports.fetchInvoicingCustomerDetailPage = exports.fetchInvoicingCustomerDetail = exports.clearInvoicingCustomerDetailView = exports.getInvoicingCustomerListView = void 0;
83
- exports.ALL_INVOICING_DUNNING_CASE_SORT_KEYS = exports.updateInvoicingDunningCaseFilters = exports.fetchInvoicingDunningCaseListPage = exports.fetchInvoicingDunningCaseList = exports.fetchInvoicingDunningCaseCounts = exports.clearInvoicingDunningCaseListView = exports.updateInvoicingDunningCases = exports.removeInvoicingDunningCase = exports.clearAllInvoicingDunningCases = exports.getInvoicingCouponDetail = exports.fetchInvoicingCouponDetail = exports.clearInvoicingCouponDetailView = exports.getInvoicingCouponById = exports.getInvoicingCouponListView = exports.getInvoicingCouponListNextCursor = exports.getInvoicingCouponListItems = exports.getInvoicingCouponListHasMore = exports.getInvoicingCouponListFilters = exports.getInvoicingCouponListFetchState = exports.getInvoicingCouponCounts = exports.INVOICING_COUPON_TABS = exports.INVOICING_COUPON_COLUMNS = exports.ALL_INVOICING_COUPON_TAB_IDS = exports.ALL_INVOICING_COUPON_SORT_KEYS = exports.updateInvoicingCouponFilters = exports.fetchInvoicingCouponListPage = exports.fetchInvoicingCouponList = exports.fetchInvoicingCouponCounts = exports.clearInvoicingCouponView = exports.updateInvoicingCoupons = exports.removeInvoicingCoupon = exports.clearAllInvoicingCoupons = exports.getInvoicingCreditNoteDetail = exports.getInvoicingCreditNoteById = exports.fetchInvoicingCreditNoteDetail = exports.clearInvoicingCreditNoteDetailView = exports.getInvoicingCreditNoteListView = exports.INVOICING_CREDIT_NOTE_TABS = exports.INVOICING_CREDIT_NOTE_COLUMNS = exports.ALL_INVOICING_CREDIT_NOTE_TAB_IDS = exports.ALL_INVOICING_CREDIT_NOTE_SORT_KEYS = exports.updateInvoicingCreditNoteFilters = exports.fetchInvoicingCreditNoteListPage = exports.fetchInvoicingCreditNoteList = exports.fetchInvoicingCreditNoteCounts = exports.clearInvoicingCreditNoteListView = exports.updateInvoicingCreditNotes = exports.removeInvoicingCreditNote = exports.clearAllInvoicingCreditNotes = exports.getInvoicingTransactionDetail = void 0;
84
- exports.clearInvoicingOnboarding = exports.acceptInvoicingOnboarding = exports.isStripeConnectedFromSettings = exports.initialInvoicingBrandingFormLocalData = exports.entityToInvoicingBrandingFormLocalData = exports.INVOICING_BUSINESS_ADDRESS_TYPE = exports.getInvoicingStripeConnectState = exports.getInvoicingSettingsSaveState = exports.getInvoicingSettingsFetchState = exports.getInvoicingSettings = exports.getInvoicingBrandingFormView = exports.updateInvoicingSettings = exports.updateInvoicingBrandingFormDraft = exports.submitInvoicingBrandingForm = exports.saveInvoicingSettings = exports.resetSaveInvoicingSettings = exports.resetInvoicingBrandingFormDraft = exports.fetchInvoicingSettings = exports.disconnectInvoicingStripe = exports.connectInvoicingStripe = exports.clearInvoicingSettings = exports.getInvoicingProductById = exports.getInvoicingPlanById = exports.getInvoicingCatalogItemDetail = exports.fetchInvoicingCatalogItemDetail = exports.clearInvoicingCatalogItemDetailView = exports.getInvoicingCatalogListView = exports.INVOICING_PRODUCT_COLUMNS = exports.ALL_INVOICING_PRODUCT_SORT_KEYS = exports.updateInvoicingCatalogProductFilters = exports.updateInvoicingCatalogPlanFilters = exports.fetchInvoicingCatalogProductList = exports.fetchInvoicingCatalogPlanList = exports.fetchInvoicingCatalogListPage = exports.fetchInvoicingCatalogCounts = exports.clearInvoicingCatalogListView = exports.updateInvoicingProducts = exports.removeInvoicingProduct = exports.clearAllInvoicingProducts = exports.updateInvoicingPlans = exports.removeInvoicingPlan = exports.clearAllInvoicingPlans = exports.getInvoicingDunningCaseDetail = exports.getInvoicingDunningCaseById = exports.fetchInvoicingDunningCaseDetail = exports.clearInvoicingDunningCaseDetailView = exports.getInvoicingDunningCaseListView = exports.INVOICING_DUNNING_CASE_TABS = exports.INVOICING_DUNNING_CASE_COLUMNS = exports.ALL_INVOICING_DUNNING_CASE_TAB_IDS = void 0;
85
- exports.getInvoicingOnboardingStatus = exports.getInvoicingOnboardingFetchState = exports.getInvoicingOnboardingCompleteState = exports.getInvoicingOnboardingAcceptState = exports.updateInvoicingOnboarding = exports.resetInvoicingOnboardingActionStates = exports.fetchInvoicingOnboarding = exports.completeInvoicingOnboarding = void 0;
80
+ exports.entityToInvoicingCatalogItemFormLocalData = exports.blankInvoicingCatalogTier = exports.blankInvoicingCatalogSubFamily = exports.INVOICING_CATALOG_TYPE_VALUES = exports.INVOICING_CATALOG_TRIAL_UNIT_VALUES = exports.INVOICING_CATALOG_TRIAL_END_ACTION_VALUES = exports.INVOICING_CATALOG_TIER_TYPE_VALUES = exports.INVOICING_CATALOG_PRORATION_VALUES = exports.INVOICING_CATALOG_PRICING_MODEL_VALUES = exports.INVOICING_CATALOG_PERIOD_UNIT_VALUES = exports.INVOICING_CATALOG_APPLICABILITY_VALUES = exports.updateInvoicingCatalogItemFormDraft = exports.submitInvoicingCatalogItemForm = exports.saveInvoicingCatalogItem = exports.resetEditInvoicingCatalogItemDetailView = exports.getInvoicingSubscriptionFormView = exports.getEditInvoicingSubscriptionDetailViewState = exports.initialInvoicingSubscriptionFormLocalData = exports.entityToInvoicingSubscriptionFormLocalData = exports.INVOICING_SUBSCRIPTION_SHIPPING_ADDRESS_TYPE = exports.INVOICING_SUBSCRIPTION_BILLING_FREQUENCY_VALUES = exports.updateInvoicingSubscriptionFormDraft = exports.submitInvoicingSubscriptionForm = exports.resetEditInvoicingSubscriptionDetailView = exports.initializeInvoicingSubscriptionAddress = exports.fetchInvoicingSubscriptionFormPage = exports.getInvoicingCustomerFormView = exports.initialInvoicingCustomerFormLocalData = exports.entityToInvoicingCustomerFormLocalData = exports.INVOICING_TAXABILITY_VALUES = exports.INVOICING_NET_TERM_DAY_VALUES = exports.INVOICING_CUSTOMER_TYPE_VALUES = exports.INVOICING_CUSTOMER_BILLING_ADDRESS_TYPE = exports.updateInvoicingCustomerFormDraft = exports.submitInvoicingCustomerFormSuccess = exports.submitInvoicingCustomerFormFailure = exports.submitInvoicingCustomerForm = exports.resetEditInvoicingCustomerDetailView = exports.initializeInvoicingCustomerAddress = exports.getRecordedTransactionId = exports.getRecordPaymentFormView = exports.getRecordPaymentFetchState = exports.getCreatedInvoiceId = exports.getCreateInvoiceFormView = exports.getCreateInvoiceFetchState = exports.getInvoicingAuditLogNextCursor = exports.getInvoicingAuditLogItems = exports.getInvoicingAuditLogHasMore = exports.getInvoicingAuditLogFilters = exports.getInvoicingAuditLogFetchState = void 0;
81
+ exports.updateInvoicingCustomers = exports.removeInvoicingCustomer = exports.clearAllInvoicingCustomers = exports.INVOICING_LIST_PAGE_SIZE = exports.getInvoicingDataImportActionState = exports.uploadInvoicingMigrationFiles = exports.startInvoicingMigration = exports.rollbackInvoicingMigration = exports.retryInvoicingMigration = exports.connectInvoicingChargebee = exports.clearAllInvoicingDataImportActions = exports.getInvoicingMigrationSessionsFetchState = exports.getInvoicingMigrationSessions = exports.getInvoicingMigrationSessionById = exports.getInvoicingDataImportStatusRows = exports.getInvoicingDataImportStatusFetchState = exports.getInvoicingActiveMigrationSessionId = exports.setInvoicingActiveMigrationSessionId = exports.fetchInvoicingMigrationSessions = exports.fetchInvoicingMigrationSession = exports.fetchInvoicingDataImportStatus = exports.clearInvoicingDataImportView = exports.getInvoicingPaymentActionState = exports.runInvoicingPaymentAction = exports.clearInvoicingPaymentAction = exports.getInvoicingDunningActionState = exports.runInvoicingDunningAction = exports.clearInvoicingDunningAction = exports.getInvoicingSubscriptionActionState = exports.runInvoicingSubscriptionAction = exports.clearInvoicingSubscriptionAction = exports.getInvoicingInvoiceActionState = exports.updateInvoicingInvoice = exports.runInvoicingInvoiceAction = exports.clearInvoicingInvoiceAction = exports.getInvoicingCouponFormView = exports.getEditInvoicingCouponDetailViewState = exports.initialInvoicingCouponFormLocalData = exports.entityToInvoicingCouponFormLocalData = exports.updateInvoicingCouponFormDraft = exports.submitInvoicingCouponForm = exports.saveInvoicingCoupon = exports.resetEditInvoicingCouponDetailView = exports.getSavedInvoicingCatalogItemKind = exports.getSavedInvoicingCatalogItemId = exports.getInvoicingCatalogItemFormView = exports.getInvoicingApplicableCatalogItemOptions = exports.getEditInvoicingCatalogItemDetailViewState = exports.isTieredCatalogPricingModel = exports.initialInvoicingCatalogItemFormLocalData = void 0;
82
+ exports.fetchInvoicingTransactionListPage = exports.fetchInvoicingTransactionList = exports.clearInvoicingTransactionListView = exports.updateInvoicingTransactions = exports.removeInvoicingTransaction = exports.clearAllInvoicingTransactions = exports.getInvoicingSubscriptionDetail = exports.getInvoicingSubscriptionById = exports.fetchInvoicingSubscriptionDetail = exports.clearInvoicingSubscriptionDetailView = exports.getInvoicingSubscriptionListView = exports.INVOICING_SUBSCRIPTION_TABS = exports.INVOICING_SUBSCRIPTION_COLUMNS = exports.ALL_INVOICING_SUBSCRIPTION_TAB_IDS = exports.ALL_INVOICING_SUBSCRIPTION_SORT_KEYS = exports.updateInvoicingSubscriptionFilters = exports.fetchInvoicingSubscriptionListPage = exports.fetchInvoicingSubscriptionList = exports.fetchInvoicingSubscriptionCounts = exports.clearInvoicingSubscriptionListView = exports.updateInvoicingSubscriptions = exports.removeInvoicingSubscription = exports.clearAllInvoicingSubscriptions = exports.getInvoicingSetupIntentFetchState = exports.getInvoicingSetupIntent = exports.getInvoicingSentPaymentLinkMagicUrl = exports.getInvoicingSentPaymentLinkEmail = exports.getInvoicingPlaidLinkTokenFetchState = exports.getInvoicingPlaidLinkToken = exports.getInvoicingPaymentMethodSaveState = exports.getInvoicingPaymentLinkSendState = exports.sendInvoicingPaymentLink = exports.saveInvoicingPaymentMethod = exports.resetInvoicingCustomerPaymentMethod = exports.fetchInvoicingPlaidLinkToken = exports.createInvoicingSetupIntent = exports.getInvoicingCustomerDetail = exports.fetchInvoicingCustomerDetailPage = exports.fetchInvoicingCustomerDetail = exports.clearInvoicingCustomerDetailView = exports.getInvoicingCustomerListView = exports.INVOICING_CUSTOMER_TABS = exports.INVOICING_CUSTOMER_COLUMNS = exports.ALL_INVOICING_CUSTOMER_TAB_IDS = exports.ALL_INVOICING_CUSTOMER_SORT_KEYS = exports.updateInvoicingCustomerFilters = exports.fetchInvoicingCustomerListPage = exports.fetchInvoicingCustomerList = exports.fetchInvoicingCustomerCounts = exports.clearInvoicingCustomerListView = void 0;
83
+ exports.getInvoicingCouponDetail = exports.fetchInvoicingCouponDetail = exports.clearInvoicingCouponDetailView = exports.getInvoicingCouponById = exports.getInvoicingCouponListView = exports.getInvoicingCouponListNextCursor = exports.getInvoicingCouponListItems = exports.getInvoicingCouponListHasMore = exports.getInvoicingCouponListFilters = exports.getInvoicingCouponListFetchState = exports.getInvoicingCouponCounts = exports.INVOICING_COUPON_TABS = exports.INVOICING_COUPON_COLUMNS = exports.ALL_INVOICING_COUPON_TAB_IDS = exports.ALL_INVOICING_COUPON_SORT_KEYS = exports.updateInvoicingCouponFilters = exports.fetchInvoicingCouponListPage = exports.fetchInvoicingCouponList = exports.fetchInvoicingCouponCounts = exports.clearInvoicingCouponView = exports.updateInvoicingCoupons = exports.removeInvoicingCoupon = exports.clearAllInvoicingCoupons = exports.getInvoicingCreditNoteDetail = exports.getInvoicingCreditNoteById = exports.fetchInvoicingCreditNoteDetail = exports.clearInvoicingCreditNoteDetailView = exports.getInvoicingCreditNoteListView = exports.INVOICING_CREDIT_NOTE_TABS = exports.INVOICING_CREDIT_NOTE_COLUMNS = exports.ALL_INVOICING_CREDIT_NOTE_TAB_IDS = exports.ALL_INVOICING_CREDIT_NOTE_SORT_KEYS = exports.updateInvoicingCreditNoteFilters = exports.fetchInvoicingCreditNoteListPage = exports.fetchInvoicingCreditNoteList = exports.fetchInvoicingCreditNoteCounts = exports.clearInvoicingCreditNoteListView = exports.updateInvoicingCreditNotes = exports.removeInvoicingCreditNote = exports.clearAllInvoicingCreditNotes = exports.getInvoicingTransactionDetail = exports.getInvoicingTransactionById = exports.fetchInvoicingTransactionDetail = exports.clearInvoicingTransactionDetailView = exports.getInvoicingTransactionListView = exports.INVOICING_TRANSACTION_TABS = exports.INVOICING_TRANSACTION_COLUMNS = exports.ALL_INVOICING_TRANSACTION_TAB_IDS = exports.ALL_INVOICING_TRANSACTION_SORT_KEYS = exports.updateInvoicingTransactionFilters = void 0;
84
+ exports.getInvoicingSettings = exports.getInvoicingBrandingFormView = exports.updateInvoicingSettings = exports.updateInvoicingBrandingFormDraft = exports.submitInvoicingBrandingForm = exports.saveInvoicingSettings = exports.resetSaveInvoicingSettings = exports.resetInvoicingBrandingFormDraft = exports.fetchInvoicingSettings = exports.disconnectInvoicingStripe = exports.connectInvoicingStripe = exports.clearInvoicingSettings = exports.getInvoicingProductById = exports.getInvoicingPlanById = exports.getInvoicingCatalogItemDetail = exports.fetchInvoicingCatalogItemDetail = exports.clearInvoicingCatalogItemDetailView = exports.getInvoicingCatalogListView = exports.INVOICING_PRODUCT_COLUMNS = exports.ALL_INVOICING_PRODUCT_SORT_KEYS = exports.updateInvoicingCatalogProductFilters = exports.updateInvoicingCatalogPlanFilters = exports.fetchInvoicingCatalogProductList = exports.fetchInvoicingCatalogPlanList = exports.fetchInvoicingCatalogListPage = exports.fetchInvoicingCatalogCounts = exports.clearInvoicingCatalogListView = exports.updateInvoicingProducts = exports.removeInvoicingProduct = exports.clearAllInvoicingProducts = exports.updateInvoicingPlans = exports.removeInvoicingPlan = exports.clearAllInvoicingPlans = exports.getInvoicingDunningCaseDetail = exports.getInvoicingDunningCaseById = exports.fetchInvoicingDunningCaseDetail = exports.clearInvoicingDunningCaseDetailView = exports.getInvoicingDunningCaseListView = exports.INVOICING_DUNNING_CASE_TABS = exports.INVOICING_DUNNING_CASE_COLUMNS = exports.ALL_INVOICING_DUNNING_CASE_TAB_IDS = exports.ALL_INVOICING_DUNNING_CASE_SORT_KEYS = exports.updateInvoicingDunningCaseFilters = exports.fetchInvoicingDunningCaseListPage = exports.fetchInvoicingDunningCaseList = exports.fetchInvoicingDunningCaseCounts = exports.clearInvoicingDunningCaseListView = exports.updateInvoicingDunningCases = exports.removeInvoicingDunningCase = exports.clearAllInvoicingDunningCases = void 0;
85
+ exports.getInvoicingOnboardingStatus = exports.getInvoicingOnboardingFetchState = exports.getInvoicingOnboardingCompleteState = exports.getInvoicingOnboardingAcceptState = exports.updateInvoicingOnboarding = exports.resetInvoicingOnboardingActionStates = exports.fetchInvoicingOnboarding = exports.completeInvoicingOnboarding = exports.clearInvoicingOnboarding = exports.acceptInvoicingOnboarding = exports.isStripeConnectedFromSettings = exports.initialInvoicingBrandingFormLocalData = exports.entityToInvoicingBrandingFormLocalData = exports.INVOICING_BUSINESS_ADDRESS_TYPE = exports.getInvoicingStripeConnectState = exports.getInvoicingSettingsSaveState = exports.getInvoicingSettingsFetchState = void 0;
86
86
  const allowedValue_1 = require("./commonStateTypes/allowedValue");
87
87
  Object.defineProperty(exports, "isAllowedValueWithCode", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithCode; } });
88
88
  Object.defineProperty(exports, "isAllowedValueWithID", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithID; } });
@@ -2715,6 +2715,14 @@ Object.defineProperty(exports, "saveInvoicingCatalogItem", { enumerable: true, g
2715
2715
  Object.defineProperty(exports, "submitInvoicingCatalogItemForm", { enumerable: true, get: function () { return editInvoicingCatalogItemDetailViewReducer_1.submitInvoicingCatalogItemForm; } });
2716
2716
  Object.defineProperty(exports, "updateInvoicingCatalogItemFormDraft", { enumerable: true, get: function () { return editInvoicingCatalogItemDetailViewReducer_1.updateInvoicingCatalogItemFormDraft; } });
2717
2717
  var invoicingCatalogItemFormConfig_1 = require("./view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormConfig");
2718
+ Object.defineProperty(exports, "INVOICING_CATALOG_APPLICABILITY_VALUES", { enumerable: true, get: function () { return invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_APPLICABILITY_VALUES; } });
2719
+ Object.defineProperty(exports, "INVOICING_CATALOG_PERIOD_UNIT_VALUES", { enumerable: true, get: function () { return invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_PERIOD_UNIT_VALUES; } });
2720
+ Object.defineProperty(exports, "INVOICING_CATALOG_PRICING_MODEL_VALUES", { enumerable: true, get: function () { return invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_PRICING_MODEL_VALUES; } });
2721
+ Object.defineProperty(exports, "INVOICING_CATALOG_PRORATION_VALUES", { enumerable: true, get: function () { return invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_PRORATION_VALUES; } });
2722
+ Object.defineProperty(exports, "INVOICING_CATALOG_TIER_TYPE_VALUES", { enumerable: true, get: function () { return invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_TIER_TYPE_VALUES; } });
2723
+ Object.defineProperty(exports, "INVOICING_CATALOG_TRIAL_END_ACTION_VALUES", { enumerable: true, get: function () { return invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_TRIAL_END_ACTION_VALUES; } });
2724
+ Object.defineProperty(exports, "INVOICING_CATALOG_TRIAL_UNIT_VALUES", { enumerable: true, get: function () { return invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_TRIAL_UNIT_VALUES; } });
2725
+ Object.defineProperty(exports, "INVOICING_CATALOG_TYPE_VALUES", { enumerable: true, get: function () { return invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_TYPE_VALUES; } });
2718
2726
  Object.defineProperty(exports, "blankInvoicingCatalogSubFamily", { enumerable: true, get: function () { return invoicingCatalogItemFormConfig_1.blankInvoicingCatalogSubFamily; } });
2719
2727
  Object.defineProperty(exports, "blankInvoicingCatalogTier", { enumerable: true, get: function () { return invoicingCatalogItemFormConfig_1.blankInvoicingCatalogTier; } });
2720
2728
  Object.defineProperty(exports, "entityToInvoicingCatalogItemFormLocalData", { enumerable: true, get: function () { return invoicingCatalogItemFormConfig_1.entityToInvoicingCatalogItemFormLocalData; } });
@@ -2722,6 +2730,7 @@ Object.defineProperty(exports, "initialInvoicingCatalogItemFormLocalData", { enu
2722
2730
  Object.defineProperty(exports, "isTieredCatalogPricingModel", { enumerable: true, get: function () { return invoicingCatalogItemFormConfig_1.isTieredCatalogPricingModel; } });
2723
2731
  var editInvoicingCatalogItemDetailViewSelector_1 = require("./view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector");
2724
2732
  Object.defineProperty(exports, "getEditInvoicingCatalogItemDetailViewState", { enumerable: true, get: function () { return editInvoicingCatalogItemDetailViewSelector_1.getEditInvoicingCatalogItemDetailViewState; } });
2733
+ Object.defineProperty(exports, "getInvoicingApplicableCatalogItemOptions", { enumerable: true, get: function () { return editInvoicingCatalogItemDetailViewSelector_1.getInvoicingApplicableCatalogItemOptions; } });
2725
2734
  Object.defineProperty(exports, "getInvoicingCatalogItemFormView", { enumerable: true, get: function () { return editInvoicingCatalogItemDetailViewSelector_1.getInvoicingCatalogItemFormView; } });
2726
2735
  Object.defineProperty(exports, "getSavedInvoicingCatalogItemId", { enumerable: true, get: function () { return editInvoicingCatalogItemDetailViewSelector_1.getSavedInvoicingCatalogItemId; } });
2727
2736
  Object.defineProperty(exports, "getSavedInvoicingCatalogItemKind", { enumerable: true, get: function () { return editInvoicingCatalogItemDetailViewSelector_1.getSavedInvoicingCatalogItemKind; } });
@@ -8,25 +8,41 @@ import { InvoicingCatalogItemFormLocalData } from './editInvoicingCatalogItemDet
8
8
  export declare const getEditInvoicingCatalogItemDetailViewState: (state: RootState) => FetchStateAndError;
9
9
  export declare const getSavedInvoicingCatalogItemId: (state: RootState) => ID | undefined;
10
10
  export declare const getSavedInvoicingCatalogItemKind: (state: RootState) => InvoicingCatalogItemKind | undefined;
11
+ /** Picker option for a plan's `applicable_items` (add-ons / one-time charges). */
12
+ export interface ApplicableCatalogItemOption {
13
+ id: string;
14
+ label: string;
15
+ subtitle?: string;
16
+ }
17
+ /**
18
+ * Memoized add-on / one-time-charge options sourced from the catalog list slice.
19
+ * Kept referentially stable across unrelated dispatches; the form view filters
20
+ * out the item being edited (see `getInvoicingCatalogItemFormView`).
21
+ */
22
+ export declare const getInvoicingApplicableCatalogItemOptions: (state: RootState) => ApplicableCatalogItemOption[];
11
23
  /**
12
- * Bundled view for the catalog item create/edit form's save concern: the save
13
- * fetch state/error, the id/kind last saved, and — when `kind`/`id` are passed
14
- * (edit mode) — the existing plan or product to prefill the form.
24
+ * Bundled view for the catalog item create/edit form. Given only the item `id`,
25
+ * it resolves the kind (plan vs product) itself, prefills the draft `localData`
26
+ * from the existing entity in edit mode, exposes the enum option sets and the
27
+ * `applicableItems` picker options, and carries the save fetch state/error plus
28
+ * the id/kind last saved — so the consumer wires a single selector.
15
29
  */
16
30
  export interface InvoicingCatalogItemFormView extends SelectorView {
17
- applicabilityValues: string[];
31
+ applicabilityValues: readonly string[];
32
+ applicableItemOptions: ApplicableCatalogItemOption[];
18
33
  localData: InvoicingCatalogItemFormLocalData;
19
34
  mode: 'create' | 'edit';
20
- periodUnitValues: string[];
21
- pricingModelValues: string[];
22
- prorationValues: string[];
23
- tierTypeValues: string[];
24
- trialEndActionValues: string[];
25
- trialUnitValues: string[];
26
- typeValues: string[];
35
+ periodUnitValues: readonly string[];
36
+ pricingModelValues: readonly string[];
37
+ prorationValues: readonly string[];
38
+ tierTypeValues: readonly string[];
39
+ trialEndActionValues: readonly string[];
40
+ trialUnitValues: readonly string[];
41
+ typeValues: readonly string[];
42
+ kind?: InvoicingCatalogItemKind;
27
43
  plan?: InvoicingPlan;
28
44
  product?: InvoicingProduct;
29
45
  savedItemId?: ID;
30
46
  savedKind?: InvoicingCatalogItemKind;
31
47
  }
32
- export declare const getInvoicingCatalogItemFormView: (state: RootState, kind?: InvoicingCatalogItemKind, id?: ID) => InvoicingCatalogItemFormView;
48
+ export declare const getInvoicingCatalogItemFormView: (state: RootState, id?: ID) => InvoicingCatalogItemFormView;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getInvoicingCatalogItemFormView = exports.getSavedInvoicingCatalogItemKind = exports.getSavedInvoicingCatalogItemId = exports.getEditInvoicingCatalogItemDetailViewState = void 0;
3
+ exports.getInvoicingCatalogItemFormView = exports.getInvoicingApplicableCatalogItemOptions = exports.getSavedInvoicingCatalogItemKind = exports.getSavedInvoicingCatalogItemId = exports.getEditInvoicingCatalogItemDetailViewState = void 0;
4
+ const toolkit_1 = require("@reduxjs/toolkit");
4
5
  const planSelector_1 = require("../../../entity/invoicing/plan/planSelector");
5
6
  const productSelector_1 = require("../../../entity/invoicing/product/productSelector");
6
7
  const invoicingCatalogItemFormConfig_1 = require("./invoicingCatalogItemFormConfig");
@@ -13,29 +14,83 @@ const getSavedInvoicingCatalogItemId = (state) => state.editInvoicingCatalogItem
13
14
  exports.getSavedInvoicingCatalogItemId = getSavedInvoicingCatalogItemId;
14
15
  const getSavedInvoicingCatalogItemKind = (state) => state.editInvoicingCatalogItemDetailViewState.savedKind;
15
16
  exports.getSavedInvoicingCatalogItemKind = getSavedInvoicingCatalogItemKind;
16
- const getInvoicingCatalogItemFormView = (state, kind, id) => {
17
+ const isAddonOrCharge = (type) => type === 'addon' || type === 'charge';
18
+ const priceSubtitle = (price, periodUnit) => {
19
+ if (price == null) {
20
+ return undefined;
21
+ }
22
+ const amount = new Intl.NumberFormat('en-US', {
23
+ currency: price.currencyCode !== '' ? price.currencyCode : 'USD',
24
+ maximumFractionDigits: 0,
25
+ style: 'currency',
26
+ }).format(price.amount);
27
+ if (periodUnit != null && periodUnit !== '') {
28
+ return `${amount}/${periodUnit}`;
29
+ }
30
+ return amount;
31
+ };
32
+ const buildApplicableCatalogItemOptions = (plans, products) => {
33
+ const options = new Map();
34
+ for (const plan of plans) {
35
+ const type = plan.type ?? plan.itemType;
36
+ if (!isAddonOrCharge(type)) {
37
+ continue;
38
+ }
39
+ options.set(plan.id, {
40
+ id: plan.id,
41
+ label: plan.name ?? plan.id,
42
+ subtitle: type,
43
+ });
44
+ }
45
+ for (const product of products) {
46
+ const type = product.itemType ?? product.type;
47
+ if (!isAddonOrCharge(type)) {
48
+ continue;
49
+ }
50
+ const id = product.itemID ?? product.id;
51
+ if (options.has(id)) {
52
+ continue;
53
+ }
54
+ options.set(id, {
55
+ id,
56
+ label: product.name ?? id,
57
+ subtitle: priceSubtitle(product.price, product.periodUnit),
58
+ });
59
+ }
60
+ return [...options.values()].sort((a, b) => a.label.localeCompare(b.label));
61
+ };
62
+ /**
63
+ * Memoized add-on / one-time-charge options sourced from the catalog list slice.
64
+ * Kept referentially stable across unrelated dispatches; the form view filters
65
+ * out the item being edited (see `getInvoicingCatalogItemFormView`).
66
+ */
67
+ exports.getInvoicingApplicableCatalogItemOptions = (0, toolkit_1.createSelector)((state) => state.invoicingPlanState, (state) => state.invoicingProductState, (state) => state.invoicingCatalogListViewState, (planState, productState, listViewState) => buildApplicableCatalogItemOptions((0, planSelector_1.getInvoicingPlansByIds)(planState, listViewState.planIds), (0, productSelector_1.getInvoicingProductsByIds)(productState, listViewState.productIds)));
68
+ const getInvoicingCatalogItemFormView = (state, id) => {
17
69
  const { editDraftById, error, fetchState, newItemDraft, savedItemId, savedKind } = state.editInvoicingCatalogItemDetailViewState;
18
- const plan = kind === 'plan' && id != null
19
- ? (0, planSelector_1.getInvoicingPlanById)(state.invoicingPlanState, id)
20
- : undefined;
21
- const product = kind === 'product' && id != null
22
- ? (0, productSelector_1.getInvoicingProductById)(state.invoicingProductState, id)
23
- : undefined;
70
+ const product = id != null ? (0, productSelector_1.getInvoicingProductById)(state.invoicingProductState, id) : undefined;
71
+ const plan = id != null ? (0, planSelector_1.getInvoicingPlanById)(state.invoicingPlanState, id) : undefined;
72
+ const kind = product != null ? 'product' : plan != null ? 'plan' : undefined;
24
73
  const localData = id != null
25
74
  ? (editDraftById[id] ??
26
- (0, invoicingCatalogItemFormConfig_1.entityToInvoicingCatalogItemFormLocalData)(plan ?? product, kind))
75
+ (0, invoicingCatalogItemFormConfig_1.entityToInvoicingCatalogItemFormLocalData)(product ?? plan, kind))
27
76
  : newItemDraft;
77
+ const allApplicableItemOptions = (0, exports.getInvoicingApplicableCatalogItemOptions)(state);
78
+ const applicableItemOptions = id != null
79
+ ? allApplicableItemOptions.filter((option) => option.id !== id)
80
+ : allApplicableItemOptions;
28
81
  return {
29
- applicabilityValues: [...invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_APPLICABILITY_VALUES],
82
+ applicabilityValues: invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_APPLICABILITY_VALUES,
83
+ applicableItemOptions,
30
84
  localData,
31
85
  mode: id != null ? 'edit' : 'create',
32
- periodUnitValues: [...invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_PERIOD_UNIT_VALUES],
33
- pricingModelValues: [...invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_PRICING_MODEL_VALUES],
34
- prorationValues: [...invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_PRORATION_VALUES],
35
- tierTypeValues: [...invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_TIER_TYPE_VALUES],
36
- trialEndActionValues: [...invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_TRIAL_END_ACTION_VALUES],
37
- trialUnitValues: [...invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_TRIAL_UNIT_VALUES],
38
- typeValues: [...invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_TYPE_VALUES],
86
+ periodUnitValues: invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_PERIOD_UNIT_VALUES,
87
+ pricingModelValues: invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_PRICING_MODEL_VALUES,
88
+ prorationValues: invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_PRORATION_VALUES,
89
+ tierTypeValues: invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_TIER_TYPE_VALUES,
90
+ trialEndActionValues: invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_TRIAL_END_ACTION_VALUES,
91
+ trialUnitValues: invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_TRIAL_UNIT_VALUES,
92
+ typeValues: invoicingCatalogItemFormConfig_1.INVOICING_CATALOG_TYPE_VALUES,
93
+ kind,
39
94
  plan,
40
95
  product,
41
96
  savedItemId,
@@ -1,13 +1,18 @@
1
1
  import { FetchStateAndError, ID } from '../../../commonStateTypes/common';
2
2
  import { SelectorView } from '../../../commonStateTypes/viewAndReport/viewAndReport';
3
+ import { Address } from '../../../entity/address/addressState';
3
4
  import { InvoicingInvoice } from '../../../entity/invoicing/invoice/invoiceState';
4
5
  import { RootState } from '../../../reducer';
5
6
  /**
6
7
  * Read-only view for the invoice detail page: the invoice entity + its per-id
7
- * fetch state, with the per-invoice lifecycle-action run-state folded in.
8
+ * fetch state, with the per-invoice lifecycle-action run-state folded in. The
9
+ * billing/shipping addresses are resolved here from the shared address store so
10
+ * the view layer renders them without touching the store itself.
8
11
  */
9
12
  export interface InvoiceDetailView extends SelectorView {
10
13
  actionState: FetchStateAndError;
14
+ billingAddress?: Address;
11
15
  invoice?: InvoicingInvoice;
16
+ shippingAddress?: Address;
12
17
  }
13
18
  export declare const getInvoiceDetail: (state: RootState, invoiceId: ID) => InvoiceDetailView;
@@ -5,12 +5,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getInvoiceDetail = void 0;
7
7
  const get_1 = __importDefault(require("lodash/get"));
8
+ const addressSelector_1 = require("../../../entity/address/addressSelector");
8
9
  const invoiceSelector_1 = require("../../../entity/invoicing/invoice/invoiceSelector");
9
10
  const invoiceActionSelector_1 = require("../invoiceAction/invoiceActionSelector");
10
11
  const getInvoiceDetail = (state, invoiceId) => {
11
12
  const detail = (0, get_1.default)(state.invoicingInvoiceDetailState.detailById, invoiceId, undefined);
13
+ const invoice = (0, invoiceSelector_1.getInvoiceById)(state, invoiceId);
12
14
  return {
13
- invoice: (0, invoiceSelector_1.getInvoiceById)(state, invoiceId),
15
+ invoice,
16
+ billingAddress: invoice?.billingAddressId != null
17
+ ? (0, addressSelector_1.getAddressByAddressId)(state.addressState, invoice.billingAddressId)
18
+ : undefined,
19
+ shippingAddress: invoice?.shippingAddressId != null
20
+ ? (0, addressSelector_1.getAddressByAddressId)(state.addressState, invoice.shippingAddressId)
21
+ : undefined,
14
22
  actionState: (0, invoiceActionSelector_1.getInvoicingInvoiceActionState)(invoiceId)(state),
15
23
  fetchState: detail?.fetchState ?? 'Not-Started',
16
24
  error: detail?.error,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "5.1.50-betaAK2",
3
+ "version": "5.1.50-betaAK4",
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",