@zeniai/client-epic-state 5.1.50-betaAK3 → 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,
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,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "5.1.50-betaAK3",
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",