@zeniai/web-components 4.3.66 → 4.3.67
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/dist/{SessionTimeoutPopup-D6GIFLK3.cjs → SessionTimeoutPopup-CEzTvoWR.cjs} +16482 -17447
- package/dist/{SessionTimeoutPopup-B8Btzn0k.js → SessionTimeoutPopup-ruPC7hq-.js} +91740 -94465
- package/dist/appLocale.d.ts +0 -146
- package/dist/cockpit.cjs.js +2 -2
- package/dist/cockpit.esm.js +166 -168
- package/dist/components/aiCfo/AiCfoPage.d.ts +0 -68
- package/dist/components/aiCfo/components/AiCfoScrollArea.d.ts +0 -11
- package/dist/components/aiCfo/stories/hooks/useAiCfoStreamingState.d.ts +0 -1
- package/dist/components/appDrawerContent/AiCfoMenuContent.d.ts +1 -29
- package/dist/components/appDrawerContent/AppDrawerContent.d.ts +1 -8
- package/dist/components/appDrawerContent/MenuButton.d.ts +3 -4
- package/dist/components/appDrawerContent/MenuList.d.ts +1 -8
- package/dist/components/appDrawerContent/appDrawerContent.helpers.d.ts +0 -5
- package/dist/components/common/Picker.d.ts +1 -7
- package/dist/components/commonSetUp/approval/ApprovalStageRow.d.ts +0 -24
- package/dist/components/commonSetUp/approval/ApprovalStagesSection.d.ts +1 -9
- package/dist/components/commonSetUp/approval/ConditionRow.d.ts +4 -7
- package/dist/components/expenseAutomation/ExpenseAutomationPage.d.ts +0 -15
- package/dist/components/expenseAutomation/sections/jeSchedules/JESchedulePage.d.ts +2 -15
- package/dist/components/expenseAutomation/sections/jeSchedules/accrualDetail/JEOneTimeAccrualDetailPage.d.ts +4 -8
- package/dist/components/expenseAutomation/sections/jeSchedules/list/jeScheduleConfig.d.ts +1 -12
- package/dist/components/expenseAutomation/sections/jeSchedules/list/jeScheduleListRow.helpers.d.ts +1 -9
- package/dist/components/expenseAutomation/sections/jeSchedules/sections/JEExistingSection.d.ts +1 -11
- package/dist/components/expenseAutomation/sections/jeSchedules/sections/JESchedulesSection.d.ts +1 -11
- package/dist/components/expenseAutomation/sections/missingReceipts/completedTab/CompletedTab.d.ts +1 -1
- package/dist/components/expenseAutomation/sections/missingReceipts/missingReceiptsSidePanelListMargin.d.ts +1 -1
- package/dist/components/expenseAutomation/sections/missingReceipts/missingTab/MissingReceiptsListTable.d.ts +1 -1
- package/dist/components/jeSchedules/scheduleDetails/ScheduleDetailsAccruedExpensesPage.d.ts +1 -4
- package/dist/components/jeSchedules/scheduleDetails/ScheduleDetailsFixedAssetsPage.d.ts +1 -4
- package/dist/components/jeSchedules/scheduleDetails/ScheduleDetailsPage.d.ts +1 -4
- package/dist/components/singleSelect/SingleSelect.d.ts +1 -8
- package/dist/components/singleSelect/SingleSelectField.d.ts +1 -3
- package/dist/components/spendManagement/billPay/billPaySetUp/components/formElements/UserMultiSelect.d.ts +1 -35
- package/dist/components/spendManagement/billPay/billPaySetUp/components/formElements/UserMultiSelectField.d.ts +1 -9
- package/dist/components/{common/sidePanel/SidePanelLayout.d.ts → transactionDetail/TransactionSidePanelLayout.d.ts} +2 -17
- package/dist/context/SidePanelContext.d.ts +11 -25
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +3 -5
- package/dist/index.esm.js +256 -258
- package/dist/strings/strings.d.ts +0 -146
- package/package.json +5 -5
- package/dist/components/aiCfo/components/AiCfoCombobox.d.ts +0 -24
- package/dist/components/aiCfo/components/AiCfoRoutineDetail.d.ts +0 -29
- package/dist/components/aiCfo/components/AiCfoRoutineEditor.d.ts +0 -46
- package/dist/components/aiCfo/components/AiCfoRoutineRunsPanel.d.ts +0 -42
- package/dist/components/aiCfo/components/AiCfoRoutinesBrowser.d.ts +0 -41
- package/dist/components/aiCfo/components/helpers/aiCfoRoutines.d.ts +0 -197
- package/dist/components/expenseAutomation/sections/jeSchedules/list/useJEScheduleRowClick.d.ts +0 -13
- /package/dist/components/{common/sidePanel → transactionDetail}/panelSelectedMixin.d.ts +0 -0
|
@@ -49,7 +49,6 @@ export declare const MENU_TITLE_MAP: {
|
|
|
49
49
|
reports: string;
|
|
50
50
|
rewards: string;
|
|
51
51
|
settings: string;
|
|
52
|
-
routines: string;
|
|
53
52
|
skills: string;
|
|
54
53
|
transaction_categorization: string;
|
|
55
54
|
treasury: string;
|
|
@@ -73,9 +72,9 @@ export declare const ALL_SETTINGS_MENU_OPTIONS: readonly ["accounting", "approva
|
|
|
73
72
|
export declare const toSettingsMenuOptionType: (v: string) => "my_profile" | "accounting" | "billing" | "company_details" | "integrations" | "notifications" | "approval_rules" | "bank_connections" | "business_verification" | "my_bank_connections";
|
|
74
73
|
export declare const toSettingsMenuOptionTypeStrict: (v: string) => "my_profile" | "accounting" | "billing" | "company_details" | "integrations" | "notifications" | "approval_rules" | "bank_connections" | "business_verification" | "my_bank_connections" | undefined;
|
|
75
74
|
export type SettingsMenu = (typeof ALL_SETTINGS_MENU_OPTIONS)[number];
|
|
76
|
-
export declare const ALL_AI_CFO_MENU_OPTIONS: readonly ["new_chat", "explore", "skills", "
|
|
77
|
-
export declare const toAiCfoMenuOptionType: (v: string) => "skills" | "
|
|
78
|
-
export declare const toAiCfoMenuOptionTypeStrict: (v: string) => "skills" | "
|
|
75
|
+
export declare const ALL_AI_CFO_MENU_OPTIONS: readonly ["new_chat", "explore", "skills", "search_chats"];
|
|
76
|
+
export declare const toAiCfoMenuOptionType: (v: string) => "skills" | "new_chat" | "explore" | "search_chats";
|
|
77
|
+
export declare const toAiCfoMenuOptionTypeStrict: (v: string) => "skills" | "new_chat" | "explore" | "search_chats" | undefined;
|
|
79
78
|
export type AiCfoMenu = (typeof ALL_AI_CFO_MENU_OPTIONS)[number];
|
|
80
79
|
export declare const ALL_INVOICING_MENU_OPTIONS: readonly ["invoicing_overview", "invoicing_analytics", "invoicing_customers", "invoicing_subscriptions", "invoicing_invoices", "invoicing_payments", "invoicing_credits", "invoicing_discounts", "invoicing_dunning", "invoicing_reports", "invoicing_catalog", "invoicing_settings", "invoicing_settings_payment_destination", "invoicing_settings_branding", "invoicing_settings_integrations", "invoicing_settings_dunning", "invoicing_settings_quickbooks", "invoicing_integrations", "invoicing_data_import", "invoicing_audit_log"];
|
|
81
80
|
export declare const toInvoicingMenuOptionType: (v: string) => "invoicing_overview" | "invoicing_analytics" | "invoicing_customers" | "invoicing_subscriptions" | "invoicing_invoices" | "invoicing_payments" | "invoicing_credits" | "invoicing_discounts" | "invoicing_dunning" | "invoicing_reports" | "invoicing_catalog" | "invoicing_settings" | "invoicing_settings_payment_destination" | "invoicing_settings_branding" | "invoicing_settings_integrations" | "invoicing_settings_dunning" | "invoicing_settings_quickbooks" | "invoicing_integrations" | "invoicing_data_import" | "invoicing_audit_log";
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AiCfoViewSelector, CurrentTenant, LoggedInUser, MonthEndCloseChecksView, MonthYearPeriod, RewardsPlanData } from '@zeniai/client-epic-state';
|
|
2
|
-
import { RailRoutine } from './AiCfoMenuContent';
|
|
3
2
|
import { AiCfoMenu, InvoicingMenu, Menu, MenuListItem, SettingsMenu } from './MenuButton';
|
|
4
3
|
export declare const COMMAND_CENTER_SUBMENU_TYPES: readonly ["transaction_categorization", "je_schedules", "missing_receipts", "flux_analysis", "reconciliation"];
|
|
5
4
|
export declare const INVOICING_SETTINGS_SUBMENU_TYPES: readonly ["invoicing_settings_branding", "invoicing_settings_integrations", "invoicing_settings_dunning", "invoicing_settings_quickbooks"];
|
|
@@ -32,11 +31,6 @@ interface Props {
|
|
|
32
31
|
currentTenant?: CurrentTenant;
|
|
33
32
|
isTaskManagerAccessEnabled?: boolean;
|
|
34
33
|
monthEndCloseChecksView?: MonthEndCloseChecksView;
|
|
35
|
-
/** Forwarded to the AI CFO rail: the Scheduled list under Routines. */
|
|
36
|
-
routines?: RailRoutine[];
|
|
37
|
-
/** Forwarded to the AI CFO rail: absent/false hides the Routines entry. */
|
|
38
|
-
routinesEnabled?: boolean;
|
|
39
|
-
selectedRoutineId?: string;
|
|
40
34
|
/** Forwarded to the AI CFO rail: absent/false hides the Skills entry. */
|
|
41
35
|
skillsEnabled?: boolean;
|
|
42
36
|
style?: React.CSSProperties;
|
|
@@ -45,8 +39,7 @@ interface Props {
|
|
|
45
39
|
onCalendarOpen?: (isOpen: boolean) => void;
|
|
46
40
|
onDeleteChatSession?: (chatSessionId: string) => void;
|
|
47
41
|
onPeriodChange?: (period: MonthYearPeriod) => void;
|
|
48
|
-
onRoutineSelect?: (scheduleId: string, sessionId: string | null) => void;
|
|
49
42
|
updateCurrentChatSessionId?: (chatSessionId: string) => void;
|
|
50
43
|
}
|
|
51
|
-
export default function MenuList({ selectedMenu, currentTenant, isVendorsTabVisible, isSetting, isInvoicing, isAiCfo, isAiCfoAccessEnabled,
|
|
44
|
+
export default function MenuList({ selectedMenu, currentTenant, isVendorsTabVisible, isSetting, isInvoicing, isAiCfo, isAiCfoAccessEnabled, skillsEnabled, isZeniAccountEnabled, isChargeCardEnabled, isTreasuryEnabled, rewardsConfiguration, className, style, isNotificationsTabVisible, isTaskManagerAccessEnabled, isExpenseAutomationEnabledForUser, aiCfoView, additionalMessage, monthEndCloseChecksView, onCalendarOpen, onPeriodChange, onSelectionChanged, onDeleteChatSession, updateCurrentChatSessionId, onBackClick, }: Readonly<Props>): import("react/jsx-runtime").JSX.Element;
|
|
52
45
|
export {};
|
|
@@ -4,11 +4,6 @@ export declare const isBillPayTabVisible: (currentTenant: TenantView, globalInfo
|
|
|
4
4
|
export declare const isReimbursementTabVisible: (currentTenant: TenantView, globalInfo: GlobalInfo) => boolean;
|
|
5
5
|
export declare const isZeniAccountsTabVisible: (isZeniAccountEnabled: boolean, globalInfo: GlobalInfo) => boolean;
|
|
6
6
|
export declare const isTreasuryTabVisible: (isTreasuryEnabled: boolean, globalInfo: GlobalInfo) => boolean;
|
|
7
|
-
/**
|
|
8
|
-
* Invoicing is restricted to a company's super admins and Zeni's own internal
|
|
9
|
-
* roles — `hasAdminLevelAccess` covers exactly those two. The Statsig gate
|
|
10
|
-
* still has to be on; this narrows who sees the tab once it is.
|
|
11
|
-
*/
|
|
12
7
|
export declare const isInvoicingTabVisible: (isInvoicingFeatureEnabled: boolean, globalInfo: GlobalInfo) => boolean;
|
|
13
8
|
export declare const isCardsTabVisible: (currentTenant: TenantView, isCardsModuleGateEnabled: boolean, globalInfo: GlobalInfo, isCardsHidden?: boolean) => boolean;
|
|
14
9
|
export declare const isZeniFinopsRoles: (globalInfo: GlobalInfo | undefined) => boolean;
|
|
@@ -18,10 +18,6 @@ export interface Props<T extends string = string> {
|
|
|
18
18
|
menuPosition?: "left" | "right";
|
|
19
19
|
name?: string;
|
|
20
20
|
optionBackgroundColor?: string;
|
|
21
|
-
/** Overrides an option row's left padding only (default: react-select's own, ~12px). Vertical padding — and so row height — is untouched. Opt-in — omit to keep existing callers unaffected. */
|
|
22
|
-
optionPaddingLeft?: string;
|
|
23
|
-
/** Overrides an option row's right padding only (default: react-select's own, ~12px). Vertical padding — and so row height — is untouched. Opt-in — omit to keep existing callers unaffected. */
|
|
24
|
-
optionPaddingRight?: string;
|
|
25
21
|
optionTextStyle?: TextStyle;
|
|
26
22
|
outlined?: boolean;
|
|
27
23
|
outlinedHeight?: string;
|
|
@@ -34,8 +30,6 @@ export interface Props<T extends string = string> {
|
|
|
34
30
|
showOnlyDownChevronNotSelectedValue?: boolean;
|
|
35
31
|
/** When true, the selected value + chevron span the full control width with the chevron pushed to the trailing edge, instead of sitting flush against the label. Independent of `outlined` — doesn't touch menu/option styling. Opt-in; existing callers are unaffected. */
|
|
36
32
|
stretchValueToEdge?: boolean;
|
|
37
|
-
/** Overrides the selected-option tick icon's width/height (default: 12px). Opt-in — omit to keep today's size. */
|
|
38
|
-
tickSize?: string;
|
|
39
33
|
title?: string;
|
|
40
34
|
titleColor?: string;
|
|
41
35
|
titleTextAlignment?: "flex-start" | "flex-end" | "center";
|
|
@@ -57,5 +51,5 @@ interface OptionType extends OptionTypeBase {
|
|
|
57
51
|
label: string;
|
|
58
52
|
value: string;
|
|
59
53
|
}
|
|
60
|
-
export default function Picker<T extends string = string>({ pickerValues, placeholder, selectedValue, backgroundColor, optionBackgroundColor, selectedOptionBackgroundColor, selectedOptionColor, optionTextStyle, title, titleTextStyle, placeholderTextStyle, titleTextAlignment, titleColor, placeholderColor, inheritRowSurfaceBackground, valueOpacity, outlined, outlinedHeight, isDisabled, isSearchable, isOptionDisabled, menuPosition, menuPlacement, menuMaxWidth, name, zIndex, menuIsOpen, downChevronVisible, showOnlyDownChevronNotSelectedValue, stretchValueToEdge,
|
|
54
|
+
export default function Picker<T extends string = string>({ pickerValues, placeholder, selectedValue, backgroundColor, optionBackgroundColor, selectedOptionBackgroundColor, selectedOptionColor, optionTextStyle, title, titleTextStyle, placeholderTextStyle, titleTextAlignment, titleColor, placeholderColor, inheritRowSurfaceBackground, valueOpacity, outlined, outlinedHeight, isDisabled, isSearchable, isOptionDisabled, menuPosition, menuPlacement, menuMaxWidth, name, zIndex, menuIsOpen, downChevronVisible, showOnlyDownChevronNotSelectedValue, stretchValueToEdge, filterOption, onMenuOpen, controlStyle, controlHoverStyle, valueToLabel, onPickerSelectionChanged, }: Readonly<Props<T>>): import("react/jsx-runtime").JSX.Element;
|
|
61
55
|
export { Picker };
|
|
@@ -119,30 +119,6 @@ export declare function buildStageRoleOptions(allAttributes: AttributeType[] | u
|
|
|
119
119
|
* already renders for this exact set of values.
|
|
120
120
|
*/
|
|
121
121
|
export declare function buildRoleOption(role: AttributeType): NonUserOption;
|
|
122
|
-
/**
|
|
123
|
-
* Normalizes a stage's `action` slot to a bare `ApprovalActionType`.
|
|
124
|
-
* The slot can hold either the bare string (what the Require/Notify
|
|
125
|
-
* toggle writes via `onChange`, and what `getEmptyStage` /
|
|
126
|
-
* `getDefaultValues` seed) OR the wrapped `{selectedOption}` shape if
|
|
127
|
-
* another control sharing this slot ever writes one — same defensive
|
|
128
|
-
* unwrap the toggle's own `current` derivation uses.
|
|
129
|
-
*/
|
|
130
|
-
export declare function getStageAction(action: ApprovalStageData["action"] | {
|
|
131
|
-
selectedOption?: ApprovalActionType;
|
|
132
|
-
}): ApprovalActionType;
|
|
133
|
-
/**
|
|
134
|
-
* True when this stage has at least one approver/role selected, per
|
|
135
|
-
* its current `actorKind` (specific person vs. role).
|
|
136
|
-
*/
|
|
137
|
-
export declare function stageHasApprover(step: ApprovalStageData): boolean;
|
|
138
|
-
/**
|
|
139
|
-
* True when the rule has at least one "Require Approval" stage with
|
|
140
|
-
* an approver/role selected. A rule made up entirely of Notify stages
|
|
141
|
-
* (or a Require Approval stage nobody has been assigned to) fails
|
|
142
|
-
* this check — see BillPayApprovalRuleDetailPage / Reimbursement
|
|
143
|
-
* ApprovalRuleDetailPage `onSubmit`, which gate save on this.
|
|
144
|
-
*/
|
|
145
|
-
export declare function hasRequireApprovalStageWithApprover(steps: ApprovalStageData[]): boolean;
|
|
146
122
|
export interface ApprovalStageRowProps {
|
|
147
123
|
/** Pool of users surfaced by the "Specific Person" multi-select. */
|
|
148
124
|
allUsers: User[];
|
|
@@ -56,14 +56,6 @@ export interface ApprovalStagesSectionProps {
|
|
|
56
56
|
* selected inactive approver. See `ApprovalStageRowProps.inactiveUserIds`.
|
|
57
57
|
*/
|
|
58
58
|
inactiveUserIds?: Set<ID>;
|
|
59
|
-
/**
|
|
60
|
-
* When `true`, renders a red "add at least one approver" message
|
|
61
|
-
* below the stage rows (above Clear All / Add Approval Stage). The
|
|
62
|
-
* parent owns the underlying validation — see
|
|
63
|
-
* `hasRequireApprovalStageWithApprover` in `ApprovalStageRow` — and
|
|
64
|
-
* only sets this after a save attempt.
|
|
65
|
-
*/
|
|
66
|
-
showNoApproverError?: boolean;
|
|
67
59
|
/** Role options for stage rows — reimbursement passes API `allAttributes`. */
|
|
68
60
|
stageRoleOptions?: AttributeType[];
|
|
69
61
|
onAddStage: () => void;
|
|
@@ -78,5 +70,5 @@ export interface ApprovalStagesSectionProps {
|
|
|
78
70
|
*/
|
|
79
71
|
onReorderStages?: (dragIndex: number, hoverIndex: number) => void;
|
|
80
72
|
}
|
|
81
|
-
export declare function ApprovalStagesSection({ allUsers, stageFields, stagesFieldName, separationOfDutiesFieldName, inactiveUserIds, onAddStage, onClearAllStages, onRemoveStage, onReorderStages,
|
|
73
|
+
export declare function ApprovalStagesSection({ allUsers, stageFields, stagesFieldName, separationOfDutiesFieldName, inactiveUserIds, onAddStage, onClearAllStages, onRemoveStage, onReorderStages, stageRoleOptions, }: ApprovalStagesSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
82
74
|
export default ApprovalStagesSection;
|
|
@@ -46,13 +46,10 @@ export type { ConditionType };
|
|
|
46
46
|
* 2. The `is` / `is_not` operator is a binary segmented toggle
|
|
47
47
|
* (built inline below) rather than a dropdown, matching the
|
|
48
48
|
* target design.
|
|
49
|
-
* 3.
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* `selection.selectedOptions` is unchanged, so the exported
|
|
54
|
-
* `FormData` contract (read by consumers outside this package)
|
|
55
|
-
* stays identical.
|
|
49
|
+
* 3. The multi-select primitive keeps its built-in
|
|
50
|
+
* focused → chips / blurred → comma-text rendering — changing
|
|
51
|
+
* that requires modifying the shared `MultiSelectField`, which
|
|
52
|
+
* every other consumer depends on. Flagged as a follow-up.
|
|
56
53
|
*/
|
|
57
54
|
export interface ConditionRowProps {
|
|
58
55
|
availableTypes: readonly ConditionType[];
|
|
@@ -71,16 +71,6 @@ export interface ExpenseAutomationPageProps extends MonthEndReportPageProps {
|
|
|
71
71
|
isExpenseAutomationCommentingEnabled?: boolean;
|
|
72
72
|
/** Transaction categorization only: when true, the right rail is expanded. */
|
|
73
73
|
isRightPanelOpen?: boolean;
|
|
74
|
-
/**
|
|
75
|
-
* The JE Schedules side panel, deliberately named apart from `panelContent` /
|
|
76
|
-
* `sidePanelIsOpen`, which drive the page-level split for transactions and reconciliation.
|
|
77
|
-
* The schedules panel lives inside the list section instead, so the KPI strip and type filter
|
|
78
|
-
* stay full-width above it -- and these props are spread on to TableSection, where a shared
|
|
79
|
-
* name would hand the transaction panel to the schedules list.
|
|
80
|
-
*
|
|
81
|
-
* There is no full-view flag: expanding leaves for the schedule's own page.
|
|
82
|
-
*/
|
|
83
|
-
isSchedulePanelOpen?: boolean;
|
|
84
74
|
loggedInUser?: LoggedInUser;
|
|
85
75
|
newAccrualAccountsView?: NewAccrualAccountsView;
|
|
86
76
|
/** The draft this form was last left with, for a host that stores it. */
|
|
@@ -97,11 +87,6 @@ export interface ExpenseAutomationPageProps extends MonthEndReportPageProps {
|
|
|
97
87
|
* Transaction categorization only: inline right rail (activity or transfer panel body).
|
|
98
88
|
*/
|
|
99
89
|
rightSidePanel?: ReactNode;
|
|
100
|
-
schedulePanelContent?: ReactNode;
|
|
101
|
-
schedulePendingDiscardConfirmation?: {
|
|
102
|
-
onCancel: () => void;
|
|
103
|
-
onDiscard: () => void;
|
|
104
|
-
};
|
|
105
90
|
sidePanelIsFullView?: boolean;
|
|
106
91
|
sidePanelIsOpen?: boolean;
|
|
107
92
|
sidePanelListPercent?: number;
|
|
@@ -3,7 +3,7 @@ import { FooterFormIdType } from '../../common';
|
|
|
3
3
|
import { FormData as JEScheduleAccountSettingsFormData } from './common/JEScheduleAccountSettings';
|
|
4
4
|
import { JESchedulesSectionProps } from './sections/JESchedulesSection';
|
|
5
5
|
import { NewScheduleSaveFormValues } from './sections/NewJEScheduleSection';
|
|
6
|
-
export interface JESchedulePageProps extends Omit<JESchedulesSectionProps, "jeSchedules" | "isAccountingClassesEnabled"
|
|
6
|
+
export interface JESchedulePageProps extends Omit<JESchedulesSectionProps, "jeSchedules" | "isAccountingClassesEnabled"> {
|
|
7
7
|
accountListNestedAccountHierarchy: NestedAccountHierarchyForReport[];
|
|
8
8
|
baseTransactionSearchFetchState: FetchStateAndError;
|
|
9
9
|
baseTransactionSearchResults: ScheduleTransaction[];
|
|
@@ -21,21 +21,8 @@ export interface JESchedulePageProps extends Omit<JESchedulesSectionProps, "jeSc
|
|
|
21
21
|
/** The draft this form was last left with, for a host that stores it. */
|
|
22
22
|
/** Cron-2's live gate for this company. Off hides one-time accrual creation. */
|
|
23
23
|
isAccrualEnabled?: boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Schedule side panel, named apart from the page-level `panelContent` that drives the
|
|
26
|
-
* transaction and reconciliation panels: ExpenseAutomationPage spreads its own props into
|
|
27
|
-
* TableSection, so a shared name would hand the transaction panel to the schedules list.
|
|
28
|
-
*
|
|
29
|
-
* There is no full-view flag: expanding leaves for the schedule's own page.
|
|
30
|
-
*/
|
|
31
|
-
isSchedulePanelOpen?: boolean;
|
|
32
24
|
newAccrualAccountsView?: NewAccrualAccountsView;
|
|
33
25
|
newScheduleLocalData?: NewScheduleSaveFormValues;
|
|
34
|
-
schedulePanelContent?: React.ReactNode;
|
|
35
|
-
schedulePendingDiscardConfirmation?: {
|
|
36
|
-
onCancel: () => void;
|
|
37
|
-
onDiscard: () => void;
|
|
38
|
-
};
|
|
39
26
|
onCreateAccruedSchedule: (localData: Partial<ScheduleDetailsLocalDataAccruedExpenses>) => void;
|
|
40
27
|
onCreateOneTimeAccrual: (formValues: NewOneTimeAccrualLocalData) => void;
|
|
41
28
|
onJeAccountSettingsChange: (formData: JEScheduleAccountSettingsFormData) => void;
|
|
@@ -49,5 +36,5 @@ export interface JESchedulePageProps extends Omit<JESchedulesSectionProps, "jeSc
|
|
|
49
36
|
setResetJeAccountSettingsForm: (resetFn: () => void) => void;
|
|
50
37
|
onNewScheduleFormChange?: (scheduleType: string, formValues: NewScheduleSaveFormValues) => void;
|
|
51
38
|
}
|
|
52
|
-
declare function JESchedulePage({ accountListNestedAccountHierarchy, baseTransactionSearchFetchState, baseTransactionSearchResults, classListNestedAccountHierarchy, expenseAutomationViewSelector, currentFooterFormId, isAccountingClassesEnabled, isCreatingNewSchedule, newScheduleSaveStatus, allDepreciationAccountListNestedAccountHierarchy, initialScheduleDetailsMode, initialScheduleType, newAccrualAccountsView, onCreateAccruedSchedule, onCreateOneTimeAccrual, setResetJeAccountSettingsForm, vendorSearchAutoCompleteData, onJESchedulesFormDataChange, onPostJESchedule, handleJeScheduleClick, onOneTimeAccrualClick, onOneTimeAccrualFeedback, onJeAccountSettingsChange, onSaveJeAccountSettingsClick, onSaveSchedule, onScheduleTypeChange, onSearchBaseTransaction, onViewTransaction, newScheduleLocalData, initialSelectedBaseTransaction, isAccrualEnabled, onNewScheduleFormChange, ignoreRecommendedJeSchedule, vendorSearchAutoCompleteActions,
|
|
39
|
+
declare function JESchedulePage({ accountListNestedAccountHierarchy, baseTransactionSearchFetchState, baseTransactionSearchResults, classListNestedAccountHierarchy, expenseAutomationViewSelector, currentFooterFormId, isAccountingClassesEnabled, isCreatingNewSchedule, newScheduleSaveStatus, allDepreciationAccountListNestedAccountHierarchy, initialScheduleDetailsMode, initialScheduleType, newAccrualAccountsView, onCreateAccruedSchedule, onCreateOneTimeAccrual, setResetJeAccountSettingsForm, vendorSearchAutoCompleteData, onJESchedulesFormDataChange, onPostJESchedule, handleJeScheduleClick, onOneTimeAccrualClick, onOneTimeAccrualFeedback, onJeAccountSettingsChange, onSaveJeAccountSettingsClick, onSaveSchedule, onScheduleTypeChange, onSearchBaseTransaction, onViewTransaction, newScheduleLocalData, initialSelectedBaseTransaction, isAccrualEnabled, onNewScheduleFormChange, ignoreRecommendedJeSchedule, vendorSearchAutoCompleteActions, setCurrentFooterFormId, setIsCreatingNewSchedule, setIsJeAccountSettingsOpened, onRevertJeSchedule, onToggleCreatedGroupCollapsed, onTogglePendingGroupCollapsed, onUpdateJEScheduleTypeFilter, onUpdateJESchedulesUIState, }: Readonly<JESchedulePageProps>): import("react/jsx-runtime").JSX.Element;
|
|
53
40
|
export default JESchedulePage;
|
|
@@ -8,11 +8,7 @@ export interface JEOneTimeAccrualDetailPageProps {
|
|
|
8
8
|
/** Status of the promote / ignore request for this accrual. */
|
|
9
9
|
actionFetchState: FetchState;
|
|
10
10
|
isAccountingClassesEnabled: boolean;
|
|
11
|
-
/**
|
|
12
|
-
* nav bar and the panel bounds the height, so this page must supply neither. */
|
|
13
|
-
isRenderedInPanel?: boolean;
|
|
14
|
-
/** Unposted edits from this visit. Seeds the form so a remount does not lose them, which is
|
|
15
|
-
* why this page registers no panel dirty guard: switching rows cannot drop an edit. */
|
|
11
|
+
/** Unposted edits from this visit. Seeds the form so a remount does not lose them. */
|
|
16
12
|
localData?: OneTimeAccrualEdits;
|
|
17
13
|
/** Account and class lists for the editable draft fields. Absent leaves them read-only. */
|
|
18
14
|
newAccrualAccountsView?: NewAccrualAccountsView;
|
|
@@ -29,8 +25,8 @@ export interface JEOneTimeAccrualDetailPageProps {
|
|
|
29
25
|
* A single one-time accrual, with the two decisions a human makes about it: post it, or skip the
|
|
30
26
|
* month with a reason.
|
|
31
27
|
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
28
|
+
* There is no GET-by-id on the accruals gateway, so the accrual arrives as a prop read from the
|
|
29
|
+
* list already in the store — this page never fetches.
|
|
34
30
|
*/
|
|
35
|
-
declare const JEOneTimeAccrualDetailPage: ({ accrual, actionFetchState, isAccountingClassesEnabled,
|
|
31
|
+
declare const JEOneTimeAccrualDetailPage: ({ accrual, actionFetchState, isAccountingClassesEnabled, localData, newAccrualAccountsView, onAccrualFormChange, onAccrualFormClear, onApproveAndPost, onNavigateBack, onRevert, onSkip, }: Readonly<JEOneTimeAccrualDetailPageProps>) => import("react/jsx-runtime").JSX.Element;
|
|
36
32
|
export default JEOneTimeAccrualDetailPage;
|
|
@@ -30,17 +30,6 @@ export declare const COT_ICON_SIZE_PX = 16;
|
|
|
30
30
|
export declare const ACTION_ERROR_ICON_SIZE_PX = 12;
|
|
31
31
|
export declare const COT_ICON_GAP_PX: number;
|
|
32
32
|
export declare const jeScheduleHeaderItemsData: JEScheduleHeaderItemData[];
|
|
33
|
-
/**
|
|
34
|
-
* The list compressed to ~34% of the content area beside an open side panel.
|
|
35
|
-
*
|
|
36
|
-
* Vendor identifies the row and Amount is the one figure worth scanning at that width; the panel
|
|
37
|
-
* carries everything else. One set serves both tabs -- the Existing tab drops its Monthly Amount
|
|
38
|
-
* here so the compressed header is identical on both and no row renderer needs a per-tab branch.
|
|
39
|
-
*
|
|
40
|
-
* Neither column is `stickyRight`: the Action column is gone, so nothing needs pinning, and the two
|
|
41
|
-
* tracks fit inside the compressed width without horizontal overflow.
|
|
42
|
-
*/
|
|
43
|
-
export declare const compressedJEScheduleHeaderItemsData: JEScheduleHeaderItemData[];
|
|
44
33
|
export declare const existingHeaderItemsData: JEScheduleHeaderItemData[];
|
|
45
34
|
/**
|
|
46
35
|
* Which column fixes each posting error, or undefined when nothing on the row can.
|
|
@@ -52,6 +41,6 @@ export declare const existingHeaderItemsData: JEScheduleHeaderItemData[];
|
|
|
52
41
|
export declare const FIX_COLUMN_BY_ERROR_CODE: Record<JournalEntryErrorCodeType, JEScheduleColumnKey | undefined>;
|
|
53
42
|
/** The errors a row cannot show inline, because their column is not in this tab's column set. */
|
|
54
43
|
export declare function errorsNotShownInColumns(errorCodes: JournalEntryErrorCodeType[]): JournalEntryErrorCodeType[];
|
|
55
|
-
export declare function getColumnsForGroupKey(groupKey: JEScheduleGroupKey, isAccountingClassesEnabled: boolean
|
|
44
|
+
export declare function getColumnsForGroupKey(groupKey: JEScheduleGroupKey, isAccountingClassesEnabled: boolean): JEScheduleHeaderItemData[];
|
|
56
45
|
export declare const PENDING_SUB_TABS: TabSwitcherOption[];
|
|
57
46
|
export declare const ONGOING_COMPLETED_SUB_TABS: TabSwitcherOption[];
|
package/dist/components/expenseAutomation/sections/jeSchedules/list/jeScheduleListRow.helpers.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { JEOneTimeAccrualKey, JEScheduleKey, JEScheduleRow, JEScheduleTransactionKey } from '@zeniai/client-epic-state';
|
|
2
2
|
import { ChainOfThoughtData } from '../../../../common/tooltipVariants/types';
|
|
3
3
|
/**
|
|
4
4
|
* The chain-of-thought popover shown on the "Created by" cell of an AI Accountant row.
|
|
@@ -20,14 +20,6 @@ export type JEScheduleRowKey = JEOneTimeAccrualKey | JEScheduleTransactionKey |
|
|
|
20
20
|
* Stable per-row identity for React keys, data-testids and row commenting.
|
|
21
21
|
*/
|
|
22
22
|
export declare function getJEScheduleRowKey(row: JEScheduleRow): JEScheduleRowKey;
|
|
23
|
-
/**
|
|
24
|
-
* The plain id the side-panel URL carries for this row — deliberately NOT its row key.
|
|
25
|
-
*
|
|
26
|
-
* The three row-key flavours are template-literal types, so they are assignable to `ID` and the
|
|
27
|
-
* compiler would not catch one being used as a panel id. The panel keys on what the route holds:
|
|
28
|
-
* an accrual's own Mongo id, or the schedule id every other row type shares.
|
|
29
|
-
*/
|
|
30
|
-
export declare function getJEScheduleRowPanelId(row: JEScheduleRow): ID | undefined;
|
|
31
23
|
/**
|
|
32
24
|
* Whether a row click started inside interactive cell content and so should not navigate.
|
|
33
25
|
*
|
package/dist/components/expenseAutomation/sections/jeSchedules/sections/JEExistingSection.d.ts
CHANGED
|
@@ -9,16 +9,6 @@ export interface JEExistingSectionProps {
|
|
|
9
9
|
jeSchedules: ExpenseAutomationJESchedulesViewSelector;
|
|
10
10
|
vendorSearchAutoCompleteActions: AutoCompleteActions;
|
|
11
11
|
vendorSearchAutoCompleteData: AutoCompleteData;
|
|
12
|
-
/**
|
|
13
|
-
* Rendered beside the list, inside this section, so the KPI strip stays full-width above it.
|
|
14
|
-
* There is no full-view flag: expanding leaves the panel for the schedule's own page.
|
|
15
|
-
*/
|
|
16
|
-
isPanelOpen?: boolean;
|
|
17
|
-
panelContent?: React.ReactNode;
|
|
18
|
-
pendingDiscardConfirmation?: {
|
|
19
|
-
onCancel: () => void;
|
|
20
|
-
onDiscard: () => void;
|
|
21
|
-
};
|
|
22
12
|
handleJeScheduleClick: (jeScheduleId: ID, jeScheduleKey: JEScheduleRowKey, jeScheduleType: ScheduleTypes) => void;
|
|
23
13
|
ignoreRecommendedJeSchedule: (jeScheduleTransactionKey: JEScheduleTransactionKey, scheduleType: ScheduleTypes, reason: JEAccrualFeedbackReason, note?: string) => void;
|
|
24
14
|
onJESchedulesFormDataChange: (scheduleJournalEntryId: ID, localData: JEScheduleResolveComponentFormData) => void;
|
|
@@ -28,5 +18,5 @@ export interface JEExistingSectionProps {
|
|
|
28
18
|
onUpdateJEScheduleTypeFilter: (filter: ScheduleTypes | null) => void;
|
|
29
19
|
setCurrentFooterFormId: (formId: FooterFormIdType) => void;
|
|
30
20
|
}
|
|
31
|
-
declare function JEExistingSection({ isAccountingClassesEnabled, jeSchedules,
|
|
21
|
+
declare function JEExistingSection({ isAccountingClassesEnabled, jeSchedules, vendorSearchAutoCompleteActions, vendorSearchAutoCompleteData, handleJeScheduleClick, onOneTimeAccrualClick, onOneTimeAccrualFeedback, ignoreRecommendedJeSchedule, onJESchedulesFormDataChange, onPostJESchedule, onUpdateJEScheduleTypeFilter, }: Readonly<JEExistingSectionProps>): import("react/jsx-runtime").JSX.Element;
|
|
32
22
|
export default JEExistingSection;
|
package/dist/components/expenseAutomation/sections/jeSchedules/sections/JESchedulesSection.d.ts
CHANGED
|
@@ -9,16 +9,6 @@ export interface JESchedulesSectionProps {
|
|
|
9
9
|
jeSchedules: ExpenseAutomationJESchedulesViewSelector;
|
|
10
10
|
vendorSearchAutoCompleteActions: AutoCompleteActions;
|
|
11
11
|
vendorSearchAutoCompleteData: AutoCompleteData;
|
|
12
|
-
/**
|
|
13
|
-
* Rendered beside the list, inside this section, so the KPI strip stays full-width above it.
|
|
14
|
-
* There is no full-view flag: expanding leaves the panel for the schedule's own page.
|
|
15
|
-
*/
|
|
16
|
-
isPanelOpen?: boolean;
|
|
17
|
-
panelContent?: React.ReactNode;
|
|
18
|
-
pendingDiscardConfirmation?: {
|
|
19
|
-
onCancel: () => void;
|
|
20
|
-
onDiscard: () => void;
|
|
21
|
-
};
|
|
22
12
|
handleJeScheduleClick: (jeScheduleId: ID, jeScheduleKey: JEScheduleRowKey, jeScheduleType: ScheduleTypes) => void;
|
|
23
13
|
ignoreRecommendedJeSchedule: (jeScheduleTransactionKey: JEScheduleTransactionKey, scheduleType: ScheduleTypes, reason: JEAccrualFeedbackReason, note?: string) => void;
|
|
24
14
|
onJESchedulesFormDataChange: (scheduleJournalEntryId: ID, localData: JEScheduleResolveComponentFormData) => void;
|
|
@@ -33,5 +23,5 @@ export interface JESchedulesSectionProps {
|
|
|
33
23
|
onConfirmCategoryRecommendation?: (jeScheduleTransactionKey: JEScheduleTransactionKey, recommendedCategoryId: ID) => void;
|
|
34
24
|
onRevertJeSchedule?: (jeScheduleId: ID, jeScheduleTransactionKey: JEScheduleKey | JEScheduleTransactionKey, jeScheduleType: ScheduleTypes, reason: JEAccrualFeedbackReason, note?: string) => void;
|
|
35
25
|
}
|
|
36
|
-
declare function JESchedulesSection({ isAccountingClassesEnabled, jeSchedules,
|
|
26
|
+
declare function JESchedulesSection({ isAccountingClassesEnabled, jeSchedules, vendorSearchAutoCompleteData, handleJeScheduleClick, onOneTimeAccrualClick, onOneTimeAccrualFeedback, onConfirmCategoryRecommendation, onJESchedulesFormDataChange, onPostJESchedule, onRevertJeSchedule, ignoreRecommendedJeSchedule, onUpdateJESchedulesUIState, onTogglePendingGroupCollapsed, onToggleCreatedGroupCollapsed, onUpdateJEScheduleTypeFilter, vendorSearchAutoCompleteActions, setCurrentFooterFormId, }: Readonly<JESchedulesSectionProps>): import("react/jsx-runtime").JSX.Element;
|
|
37
27
|
export default JESchedulesSection;
|
package/dist/components/expenseAutomation/sections/missingReceipts/completedTab/CompletedTab.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AuthParams, BulkUploadSortKey, FetchStateAndError, ID, SortOrder, SupportedTransaction, TransactionType } from '@zeniai/client-epic-state';
|
|
2
|
-
/** Completed bulk-upload list: parent `ExpenseAutomationPage` sets `disableMarginTop` on `
|
|
2
|
+
/** Completed bulk-upload list: parent `ExpenseAutomationPage` sets `disableMarginTop` on `TransactionSidePanelLayout` via `shouldDisableTransactionSidePanelListMarginTop`. */
|
|
3
3
|
interface CompletedTabProps {
|
|
4
4
|
authParams: AuthParams;
|
|
5
5
|
fetchState: FetchStateAndError;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ExpenseAutomationViewType } from '@zeniai/client-epic-state';
|
|
2
2
|
/**
|
|
3
3
|
* When bulk receipt upload is active on the missing-receipts view, ExpenseAutomationPage
|
|
4
|
-
* passes `disableMarginTop` to
|
|
4
|
+
* passes `disableMarginTop` to TransactionSidePanelLayout so list content aligns without extra
|
|
5
5
|
* top margin. Covers Missing Receipts, Unmatched, and Completed bulk-upload table flows.
|
|
6
6
|
*/
|
|
7
7
|
export declare function shouldDisableTransactionSidePanelListMarginTop(currentSelectedView: ExpenseAutomationViewType, isBulkReceiptUploadActive: boolean): boolean;
|
|
@@ -2,7 +2,7 @@ import { ListChildComponentProps } from 'react-window';
|
|
|
2
2
|
import { AuthParams, ExpenseAutomationMissingReceiptsViewSelector, ExpenseAutomationMissingReceiptsViewUIState, MonthYearPeriod } from '@zeniai/client-epic-state';
|
|
3
3
|
import { DisableMode } from '../../../../formElements/common/common';
|
|
4
4
|
import { MissingReceiptsListRowActionProps } from './listRow/MissingReceiptsListRow';
|
|
5
|
-
/** Missing-receipts table: parent `ExpenseAutomationPage` sets `disableMarginTop` on `
|
|
5
|
+
/** Missing-receipts table: parent `ExpenseAutomationPage` sets `disableMarginTop` on `TransactionSidePanelLayout` via `shouldDisableTransactionSidePanelListMarginTop` when bulk upload is active. */
|
|
6
6
|
/**
|
|
7
7
|
* Component & its Props
|
|
8
8
|
*/
|
|
@@ -15,9 +15,6 @@ export interface Props {
|
|
|
15
15
|
shouldNavigateBack: boolean;
|
|
16
16
|
vendorSearchAutoCompleteActions: AutoCompleteActions;
|
|
17
17
|
vendorSearchAutoCompleteData: AutoCompleteData;
|
|
18
|
-
/** Rendered inside a side panel rather than as its own route: the host page keeps
|
|
19
|
-
* its own nav bar and the panel bounds the height, so this page must supply neither. */
|
|
20
|
-
isRenderedInPanel?: boolean;
|
|
21
18
|
scheduleDetailId?: ID;
|
|
22
19
|
onCancelAccrual: (scheduleType: ScheduleTypes, jeScheduleID: ID, row?: number) => void;
|
|
23
20
|
onDelete: (jeScheduleDetailId: ID) => void;
|
|
@@ -36,6 +33,6 @@ export interface FormData {
|
|
|
36
33
|
[scheduleDetailsAccruedExpensesSectionId]: ScheduleDetailsAccruedExpensesSectionFormData;
|
|
37
34
|
[scheduleDetailsListSectionId]: ScheduleDetailsListSectionFormData[];
|
|
38
35
|
}
|
|
39
|
-
export declare function ScheduleDetailsAccruedExpensesPage({ accountList, accruedAccountList, analytics, classList, controllerUserDetails, isAccountingClassesEnabled, scheduleAccruedDetailsView, vendorSearchAutoCompleteActions, vendorSearchAutoCompleteData, shouldNavigateBack, scheduleDetailId,
|
|
36
|
+
export declare function ScheduleDetailsAccruedExpensesPage({ accountList, accruedAccountList, analytics, classList, controllerUserDetails, isAccountingClassesEnabled, scheduleAccruedDetailsView, vendorSearchAutoCompleteActions, vendorSearchAutoCompleteData, shouldNavigateBack, scheduleDetailId, onDelete, onEditAmount, onJELinkClick, onCancelAccrual, onDetailPageChange, onNavigateBack, onSave, onViewBillExpense, onViewPostedJE, onViewRecordedJE, }: Readonly<Props>): import("react/jsx-runtime").JSX.Element;
|
|
40
37
|
export declare const getDefaultVendorOptions: (vendorSearchEntityAutoCompleteView?: EntityAutoCompleteView, selectedVendor?: VendorBase) => AutoCompleteOptionType[];
|
|
41
38
|
export {};
|
|
@@ -11,9 +11,6 @@ export interface Props {
|
|
|
11
11
|
usedInExpenseAutomation: boolean;
|
|
12
12
|
vendorSearchAutoCompleteActions: AutoCompleteActions;
|
|
13
13
|
vendorSearchAutoCompleteData: AutoCompleteData;
|
|
14
|
-
/** Rendered inside a side panel rather than as its own route: the host page keeps
|
|
15
|
-
* its own nav bar and the panel bounds the height, so this page must supply neither. */
|
|
16
|
-
isRenderedInPanel?: boolean;
|
|
17
14
|
onDelete: (jeScheduleDetailId: ID) => void;
|
|
18
15
|
onDetailPageChange: (formData: FormData, onlyAmountChangeInScheduleDetail: boolean) => void;
|
|
19
16
|
onEditAmount: (row: number, jeScheduleId?: ID) => void;
|
|
@@ -31,5 +28,5 @@ export interface FormData {
|
|
|
31
28
|
[scheduleDetailsFixedAssetsSectionId]: ScheduleDetailsFixedAssetsSectionFormData;
|
|
32
29
|
[scheduleDetailsListSectionId]: ScheduleDetailsListSectionFormData[];
|
|
33
30
|
}
|
|
34
|
-
declare function ScheduleDetailsFixedAssetsPage({ analytics, controllerUserDetails, isAccountingClassesEnabled, scheduleDetailsView, vendorSearchAutoCompleteActions,
|
|
31
|
+
declare function ScheduleDetailsFixedAssetsPage({ analytics, controllerUserDetails, isAccountingClassesEnabled, scheduleDetailsView, vendorSearchAutoCompleteActions, vendorSearchAutoCompleteData, onNavigateBack, onEditAmount, onJELinkClick, onSave, onDelete, onDetailPageChange, onViewLinkedJE, onTransactionClick, onMarkAsComplete, }: Readonly<Props>): import("react/jsx-runtime").JSX.Element;
|
|
35
32
|
export default ScheduleDetailsFixedAssetsPage;
|
|
@@ -12,9 +12,6 @@ export interface Props {
|
|
|
12
12
|
usedInExpenseAutomation: boolean;
|
|
13
13
|
vendorSearchAutoCompleteActions: AutoCompleteActions;
|
|
14
14
|
vendorSearchAutoCompleteData: AutoCompleteData;
|
|
15
|
-
/** Rendered inside a side panel rather than as its own route: the host page keeps
|
|
16
|
-
* its own nav bar and the panel bounds the height, so this page must supply neither. */
|
|
17
|
-
isRenderedInPanel?: boolean;
|
|
18
15
|
onDelete: (jeScheduleDetailId: ID) => void;
|
|
19
16
|
onDetailPageChange: (formData: FormData, onlyAmountChangeInScheduleDetail: boolean) => void;
|
|
20
17
|
onEditAmount: (row: number, jeScheduleId?: ID) => void;
|
|
@@ -32,5 +29,5 @@ export interface FormData {
|
|
|
32
29
|
[scheduleDetailsListSectionId]: ScheduleDetailsListSectionFormData[];
|
|
33
30
|
[scheduleDetailsSectionId]: ScheduleDetailsSectionFormData;
|
|
34
31
|
}
|
|
35
|
-
declare function ScheduleDetailsPage({ analytics, controllerUserDetails, isAccountingClassesEnabled, scheduleDetailsView, scheduleTab,
|
|
32
|
+
declare function ScheduleDetailsPage({ analytics, controllerUserDetails, isAccountingClassesEnabled, scheduleDetailsView, scheduleTab, vendorSearchAutoCompleteActions, vendorSearchAutoCompleteData, onMarkAsComplete, onNavigateBack, onEditAmount, onJELinkClick, onSave, onDelete, onDetailPageChange, onViewLinkedJE, onTransactionClick, }: Readonly<Props>): import("react/jsx-runtime").JSX.Element;
|
|
36
33
|
export default ScheduleDetailsPage;
|
|
@@ -19,13 +19,6 @@ export interface Props {
|
|
|
19
19
|
isSearchable?: boolean;
|
|
20
20
|
menuPortalTarget?: HTMLElement | null;
|
|
21
21
|
placeholder?: string;
|
|
22
|
-
/**
|
|
23
|
-
* Renders `allValues` in the order given instead of the default
|
|
24
|
-
* alphabetical-by-label sort. Opt-in — omit to keep today's behavior.
|
|
25
|
-
* Use when the caller's own order is meaningful (e.g. "Range" before
|
|
26
|
-
* "Is greater than" so it reads as the first, most-common choice).
|
|
27
|
-
*/
|
|
28
|
-
preserveOptionOrder?: boolean;
|
|
29
22
|
selectedValue?: string;
|
|
30
23
|
showChevron?: boolean;
|
|
31
24
|
style?: React.CSSProperties;
|
|
@@ -41,4 +34,4 @@ export interface Props {
|
|
|
41
34
|
isOptionDisabled?: (value: string) => boolean;
|
|
42
35
|
valueToLabel?: (value: string) => string;
|
|
43
36
|
}
|
|
44
|
-
export declare const SingleSelect: ({ allValues, selectedValue, onSelectedValueChanged, isDisabled, placeholder, style, customStyleConfig, isClearable, isSearchable, menuPortalTarget, valueToLabel, formatOptionLabel, showChevron, backgroundColor, hoverBgColor, valueAlign, valuePadding, chevronSize, isOptionDisabled,
|
|
37
|
+
export declare const SingleSelect: ({ allValues, selectedValue, onSelectedValueChanged, isDisabled, placeholder, style, customStyleConfig, isClearable, isSearchable, menuPortalTarget, valueToLabel, formatOptionLabel, showChevron, backgroundColor, hoverBgColor, valueAlign, valuePadding, chevronSize, isOptionDisabled, }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -20,8 +20,6 @@ export interface SingleSelectFieldProps {
|
|
|
20
20
|
/** See `SingleSelect.isSearchable`. */
|
|
21
21
|
isSearchable?: boolean;
|
|
22
22
|
placeholder?: string;
|
|
23
|
-
/** See `SingleSelect.preserveOptionOrder`. */
|
|
24
|
-
preserveOptionOrder?: boolean;
|
|
25
23
|
registerOptions?: RegisterOptions;
|
|
26
24
|
/** See `SingleSelect.showChevron`. */
|
|
27
25
|
showChevron?: boolean;
|
|
@@ -38,5 +36,5 @@ export interface SingleSelectFieldProps {
|
|
|
38
36
|
isOptionDisabled?: (value: string) => boolean;
|
|
39
37
|
valueToLabel?: (value: string) => string;
|
|
40
38
|
}
|
|
41
|
-
declare const SingleSelectField: ({ name, registerOptions, defaultValue, placeholder, isDisabled, style, customStyleConfig, valueToLabel, formatOptionLabel, showChevron, backgroundColor, hoverBgColor, isSearchable, valueAlign, valuePadding, chevronSize, isOptionDisabled,
|
|
39
|
+
declare const SingleSelectField: ({ name, registerOptions, defaultValue, placeholder, isDisabled, style, customStyleConfig, valueToLabel, formatOptionLabel, showChevron, backgroundColor, hoverBgColor, isSearchable, valueAlign, valuePadding, chevronSize, isOptionDisabled, }: SingleSelectFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
42
40
|
export default SingleSelectField;
|
|
@@ -21,13 +21,6 @@ export interface Props {
|
|
|
21
21
|
selectedUsers: User[];
|
|
22
22
|
shouldHaveBackgroundColor: boolean;
|
|
23
23
|
showBackgroundColorIfHasAnySelectedOption: boolean;
|
|
24
|
-
/**
|
|
25
|
-
* When true, each selected chip's border and remove ("x") button stay
|
|
26
|
-
* visible even while the menu is closed, instead of only showing them
|
|
27
|
-
* while it's open. Opt-in — existing consumers keep today's
|
|
28
|
-
* open-menu-only behavior.
|
|
29
|
-
*/
|
|
30
|
-
alwaysShowRemoveButton?: boolean;
|
|
31
24
|
/**
|
|
32
25
|
* When true, `NonUserOption` rows (and their selected chips) render
|
|
33
26
|
* their avatar at the same `Space.sp3` size real user avatars use,
|
|
@@ -44,24 +37,6 @@ export interface Props {
|
|
|
44
37
|
disable?: boolean;
|
|
45
38
|
disabledOptionHint?: string;
|
|
46
39
|
hideMultiValueOnBlur?: boolean;
|
|
47
|
-
/**
|
|
48
|
-
* When true, the closed-picker chip renders without an avatar icon
|
|
49
|
-
* for `NonUserOption` selections (e.g. roles, which have no photo or
|
|
50
|
-
* identity to represent). Only affects the closed chip — the open
|
|
51
|
-
* dropdown's option rows still show their colored icon. Opt-in —
|
|
52
|
-
* existing non-user consumers (e.g. FollowStepsSection) are
|
|
53
|
-
* unaffected.
|
|
54
|
-
*/
|
|
55
|
-
hideNonUserAvatar?: boolean;
|
|
56
|
-
/**
|
|
57
|
-
* When true, the open dropdown's `NonUserOption` rows (e.g. vendors,
|
|
58
|
-
* departments) render without their colored avatar icon too — not
|
|
59
|
-
* just the closed chip. Separate from `hideNonUserAvatar` because
|
|
60
|
-
* some non-user consumers (e.g. `ApprovalStageRow`'s Role picker)
|
|
61
|
-
* want the chip-less look but still want the color-coded avatar in
|
|
62
|
-
* the option list. Opt-in — existing consumers are unaffected.
|
|
63
|
-
*/
|
|
64
|
-
hideNonUserOptionAvatar?: boolean;
|
|
65
40
|
/**
|
|
66
41
|
* User ids that should render with the "no longer active" avatar
|
|
67
42
|
* (see `MultiValueLabel`) instead of their photo/initials, when
|
|
@@ -72,15 +47,6 @@ export interface Props {
|
|
|
72
47
|
isListLoading?: boolean;
|
|
73
48
|
menuMinWidth?: string;
|
|
74
49
|
operator?: "or" | "and";
|
|
75
|
-
/**
|
|
76
|
-
* When true, each selected chip renders as an outlined pill: 16px
|
|
77
|
-
* radius, ExtraSmallSemiBold primary text, a 2px gap between
|
|
78
|
-
* avatar/text/remove-icon (via `gap`, so a chip with no avatar gets
|
|
79
|
-
* no extra leading space), and a champion/primary-on-hover remove
|
|
80
|
-
* icon — instead of this component's plain default chip look.
|
|
81
|
-
* Opt-in — existing consumers are unaffected.
|
|
82
|
-
*/
|
|
83
|
-
outlinedChip?: boolean;
|
|
84
50
|
onSelectedUsersChanged: (selectedUsers: User[], nonUsers: NonUserOption[]) => void;
|
|
85
51
|
disableCurrentOption?: (option: string) => boolean;
|
|
86
52
|
onBlur?: () => void;
|
|
@@ -93,5 +59,5 @@ export interface OptionType extends OptionTypeBase {
|
|
|
93
59
|
label: string;
|
|
94
60
|
value: string;
|
|
95
61
|
}
|
|
96
|
-
export default function UserMultiSelect({ allUsers, allNonUsers, selectedUsers, selectedNonUsers, name, fieldRef, shouldHaveBackgroundColor, hideEmailTooltip, showBackgroundColorIfHasAnySelectedOption, disable, customization: { placeholderLabel }, operator, containerWidth, isListLoading, menuMinWidth, hideMultiValueOnBlur, inactiveUserIds, customStyleConfig, disabledOptionHint, onBlur, disableCurrentOption, onSelectedUsersChanged, valueToSubtitle, compactNonUserAvatar,
|
|
62
|
+
export default function UserMultiSelect({ allUsers, allNonUsers, selectedUsers, selectedNonUsers, name, fieldRef, shouldHaveBackgroundColor, hideEmailTooltip, showBackgroundColorIfHasAnySelectedOption, disable, customization: { placeholderLabel }, operator, containerWidth, isListLoading, menuMinWidth, hideMultiValueOnBlur, inactiveUserIds, customStyleConfig, disabledOptionHint, onBlur, disableCurrentOption, onSelectedUsersChanged, valueToSubtitle, compactNonUserAvatar, }: Readonly<Props>): import("react/jsx-runtime").JSX.Element;
|
|
97
63
|
export {};
|
|
@@ -15,31 +15,23 @@ export interface Props {
|
|
|
15
15
|
shouldHaveBackgroundColor: boolean;
|
|
16
16
|
showBackgroundColorIfHasAnySelectedOption: boolean;
|
|
17
17
|
value: UserMultiSelectFieldValue;
|
|
18
|
-
/** See `UserMultiSelect.alwaysShowRemoveButton`. */
|
|
19
|
-
alwaysShowRemoveButton?: boolean;
|
|
20
18
|
/** See `UserMultiSelect.compactNonUserAvatar`. */
|
|
21
19
|
compactNonUserAvatar?: boolean;
|
|
22
20
|
containerWidth?: string;
|
|
23
21
|
customStyleConfig?: StylesConfig<OptionType, boolean>;
|
|
24
22
|
disabledOptionHint?: string;
|
|
25
23
|
hideMultiValueOnBlur?: boolean;
|
|
26
|
-
/** See `UserMultiSelect.hideNonUserAvatar`. */
|
|
27
|
-
hideNonUserAvatar?: boolean;
|
|
28
|
-
/** See `UserMultiSelect.hideNonUserOptionAvatar`. */
|
|
29
|
-
hideNonUserOptionAvatar?: boolean;
|
|
30
24
|
/** See `UserMultiSelect.inactiveUserIds`. */
|
|
31
25
|
inactiveUserIds?: Set<ID>;
|
|
32
26
|
isDisabled?: DisableMode;
|
|
33
27
|
isListLoading?: boolean;
|
|
34
28
|
menuMinWidth?: string;
|
|
35
29
|
operator?: "or" | "and";
|
|
36
|
-
/** See `UserMultiSelect.outlinedChip`. */
|
|
37
|
-
outlinedChip?: boolean;
|
|
38
30
|
placeholderLabel?: string;
|
|
39
31
|
registerOptions?: RegisterOptions;
|
|
40
32
|
disableCurrentOption?: (option: string) => boolean;
|
|
41
33
|
onBlur?: () => void;
|
|
42
34
|
valueToSubtitle?: (value: string) => (string | JSX.Element)[];
|
|
43
35
|
}
|
|
44
|
-
declare const UserMultiSelectField: ({ name, shouldHaveBackgroundColor, showBackgroundColorIfHasAnySelectedOption, hideEmailTooltip, placeholderLabel, registerOptions, value: defaultValue, operator, isListLoading, isDisabled, containerWidth, menuMinWidth, hideMultiValueOnBlur, inactiveUserIds, customStyleConfig, disabledOptionHint, disableCurrentOption, onBlur, valueToSubtitle, compactNonUserAvatar,
|
|
36
|
+
declare const UserMultiSelectField: ({ name, shouldHaveBackgroundColor, showBackgroundColorIfHasAnySelectedOption, hideEmailTooltip, placeholderLabel, registerOptions, value: defaultValue, operator, isListLoading, isDisabled, containerWidth, menuMinWidth, hideMultiValueOnBlur, inactiveUserIds, customStyleConfig, disabledOptionHint, disableCurrentOption, onBlur, valueToSubtitle, compactNonUserAvatar, }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
45
37
|
export default UserMultiSelectField;
|