@zeniai/web-components 4.1.39 → 4.1.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/{SessionTimeoutPopup-DMsGvffQ.cjs → SessionTimeoutPopup-CkH-hPbZ.cjs} +13927 -14126
  2. package/dist/{SessionTimeoutPopup-DOvo5KBP.js → SessionTimeoutPopup-CnaGjerj.js} +69277 -70523
  3. package/dist/appLocale.d.ts +0 -48
  4. package/dist/cockpit.cjs.js +1 -1
  5. package/dist/cockpit.esm.js +2 -2
  6. package/dist/components/cockpit/common/cockpitFilters/commonTypes.d.ts +1 -1
  7. package/dist/components/{common/filters → cockpit/common/cockpitFilters/components}/FiltersPopover.d.ts +1 -1
  8. package/dist/components/common/listPageSearchInputBox/ListPageSearchInputBox.d.ts +1 -3
  9. package/dist/components/common/listPageSearchSection/ListPageSearchSection.d.ts +0 -13
  10. package/dist/components/expenseAutomation/ExpenseAutomationPage.d.ts +1 -18
  11. package/dist/components/expenseAutomation/components/EmptyTableSection.d.ts +0 -6
  12. package/dist/components/expenseAutomation/components/NavBarWithHeader.d.ts +1 -21
  13. package/dist/components/expenseAutomation/components/TableSection.d.ts +1 -2
  14. package/dist/components/expenseAutomation/components/navbarHeaderData.d.ts +2 -2
  15. package/dist/components/formElements/filterValuesDropdownField/FilterValuesDropdownField.d.ts +14 -5
  16. package/dist/components/spendManagement/common/filters/spendManagementFiltersHelpers.d.ts +1 -1
  17. package/dist/components/transactionDetail/items/TransactionLineWithAccountAndClass.d.ts +2 -3
  18. package/dist/context/featureProvider/FeatureGateNameConstants.d.ts +0 -2
  19. package/dist/index.cjs.js +1 -1
  20. package/dist/index.esm.js +1 -1
  21. package/dist/strings/strings.d.ts +0 -48
  22. package/package.json +8 -11
  23. package/dist/assets/illustrative/no-search-result.svg +0 -24
  24. package/dist/components/common/filters/GenericFilters.d.ts +0 -75
  25. package/dist/components/common/filters/components/GenericFiltersSelection.d.ts +0 -58
  26. package/dist/components/common/filters/genericFilterTypes.d.ts +0 -62
  27. package/dist/components/expenseAutomation/components/ExpenseAutomationSubTabSwitcher.d.ts +0 -17
  28. package/dist/components/expenseAutomation/components/filters/AmountFilterValueField.d.ts +0 -8
  29. package/dist/components/expenseAutomation/components/filters/AmountMatchingOperatorDropdown.d.ts +0 -8
  30. package/dist/components/expenseAutomation/components/filters/TransactionFiltersComponent.d.ts +0 -17
  31. package/dist/components/expenseAutomation/components/filters/amountFilterConstants.d.ts +0 -19
  32. package/dist/components/expenseAutomation/components/filters/transactionFiltersHelpers.d.ts +0 -24
  33. package/dist/components/expenseAutomation/sections/transactionCategorization/transactionCategorizationCompletedSubTabs.d.ts +0 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/web-components",
3
- "version": "4.1.39",
3
+ "version": "4.1.40",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -49,8 +49,8 @@
49
49
  "@statsig/react-bindings": "^3.14.0",
50
50
  "@stripe/react-stripe-js": "^2.7.3",
51
51
  "@stripe/stripe-js": "^4.4.0",
52
- "@zeniai/client-analytics": "2.0.19",
53
- "@zeniai/client-epic-state": "5.0.75",
52
+ "@zeniai/client-analytics": "2.0.20",
53
+ "@zeniai/client-epic-state": "5.0.76",
54
54
  "autosuggest-highlight": "^3.2.1",
55
55
  "browser-image-compression": "^2.0.2",
56
56
  "countries-list": "^2.6.1",
@@ -208,8 +208,8 @@
208
208
  "@types/color": "^3.0.2",
209
209
  "@types/react-select": "^4.0.18",
210
210
  "@types/react-window": "^1.8.8",
211
- "@zeniai/client-analytics": "2.0.19",
212
- "@zeniai/client-epic-state": "5.0.75",
211
+ "@zeniai/client-analytics": "2.0.14",
212
+ "@zeniai/client-epic-state": "5.0.61",
213
213
  "color": "^3.1.3",
214
214
  "react": "18.3.1",
215
215
  "react-dom": "18.3.1",
@@ -248,7 +248,7 @@
248
248
  "scripts": {
249
249
  "clean": "rimraf build",
250
250
  "build-stories": "export NODE_OPTIONS=--max-old-space-size=8192 && tsc --noEmit",
251
- "test": "export NODE_OPTIONS=--max-old-space-size=8192 && pnpm lint-modified-files && tsc --noEmit && bash ./scripts/test-storybook-watch.sh",
251
+ "test": "export NODE_OPTIONS=--max-old-space-size=8192 && tsc --noEmit && bash ./scripts/test-storybook-watch.sh",
252
252
  "test-all": "export NODE_OPTIONS=--max-old-space-size=8192 && tsc --noEmit && test-storybook --updateSnapshot --maxWorkers 2 --testTimeout 30000",
253
253
  "test-modified-files": "export NODE_OPTIONS=--max-old-space-size=8192 && chmod +x ./scripts/track_modified_files.sh && ./scripts/track_modified_files.sh && pnpm test && pnpm format-watch",
254
254
  "storybook": "export NODE_OPTIONS=--max-old-space-size=8192 && storybook dev -p 6006",
@@ -256,11 +256,8 @@
256
256
  "circular-dependency": "npx madge --circular --extensions ts ./src",
257
257
  "lint": "export NODE_OPTIONS=--max-old-space-size=8192 && time eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0 --fix",
258
258
  "lint:fix": "chmod +x ./scripts/fix-lint.sh && ./scripts/fix-lint.sh",
259
- "lint-modified-files": "chmod +x ./scripts/lint-modified-files.sh && ./scripts/lint-modified-files.sh",
260
- "lint:fix-modified-files": "chmod +x ./scripts/lint-modified-files.sh && LINT_FIX=true ./scripts/lint-modified-files.sh",
261
- "tsc-modified-files": "chmod +x ./scripts/tsc-modified-files.sh && ./scripts/tsc-modified-files.sh",
262
- "typecheck": "tsc --noEmit",
263
- "build": "export NODE_OPTIONS=--max-old-space-size=8192 && pnpm lint-modified-files && pnpm tsc-modified-files && vite build",
259
+ "lint:changed": "./scripts/lint-changed.sh",
260
+ "build": "export NODE_OPTIONS=--max-old-space-size=8192 && pnpm lint:changed && tsc --noEmit && vite build",
264
261
  "format": "prettier --write --ignore-unknown \"src/**/*\" && pnpm lint",
265
262
  "format-watch": "(git diff --name-only --diff-filter=ACM && git ls-files --others --exclude-standard) | grep -E '\\.(ts|tsx|js)$' | xargs prettier --write || true",
266
263
  "format-staged": "git diff --cached --name-only --diff-filter=ACM | grep -E '\\.(ts|tsx|js)$' | xargs prettier --write || true",
@@ -1,24 +0,0 @@
1
- <svg width="87" height="69" viewBox="0 0 87 69" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <g opacity="0.2">
3
- <rect x="5.07362" y="5.97328" width="71.6165" height="16.0084" rx="0.421274" fill="#97C3B9"/>
4
- <rect x="5.07362" y="5.97328" width="71.6165" height="16.0084" rx="0.421274" stroke="#97C3B9" stroke-width="0.842547"/>
5
- <rect x="5.07411" y="48.5582" width="71.6165" height="16.0084" rx="0.421274" fill="#97C3B9"/>
6
- <rect x="5.07411" y="48.5582" width="71.6165" height="16.0084" rx="0.421274" stroke="#97C3B9" stroke-width="0.842547"/>
7
- <rect x="5.07411" y="27.2658" width="71.6165" height="16.0084" rx="0.421274" fill="#97C3B9"/>
8
- <rect x="5.07411" y="27.2658" width="71.6165" height="16.0084" rx="0.421274" stroke="#97C3B9" stroke-width="0.842547"/>
9
- <path d="M32.1074 33.6116C32.1074 38.8302 34.1805 43.835 37.8706 47.5251C41.5607 51.2152 46.5656 53.2883 51.7842 53.2883C57.0028 53.2883 62.0076 51.2152 65.6978 47.5251C69.3879 43.835 71.4609 38.8302 71.4609 33.6116C71.4609 28.393 69.3879 23.3881 65.6978 19.698C62.0076 16.0079 57.0028 13.9348 51.7842 13.9348C46.5656 13.9348 41.5607 16.0079 37.8706 19.698C34.1805 23.3881 32.1074 28.393 32.1074 33.6116Z" fill="#97C3B9"/>
10
- </g>
11
- <rect x="8.69056" y="8.82703" width="56.8595" height="0.277597" rx="0.138799" stroke="#97C3B9" stroke-width="0.277597"/>
12
- <path d="M35.078 17.3912H1.60915C1.14382 17.3912 0.766602 17.014 0.766602 16.5487V1.38283C0.766602 0.917506 1.14382 0.540283 1.60915 0.540283H72.4708C72.9374 0.540283 73.3152 0.919552 73.3133 1.38619L73.2532 16.4851C73.2513 16.9491 72.8747 17.3243 72.4106 17.3243H67.0575" stroke="#97C3B9" stroke-width="0.666234" stroke-linecap="round"/>
13
- <path d="M70.126 22.3201H72.471C72.9376 22.3201 73.3154 22.6993 73.3135 23.166L73.253 38.3766C73.2514 38.7789 72.9248 39.1041 72.5226 39.1041" stroke="#97C3B9" stroke-width="0.666234" stroke-linecap="round"/>
14
- <rect x="8.69056" y="30.6068" width="19.2475" height="0.277597" rx="0.138799" stroke="#97C3B9" stroke-width="0.277597"/>
15
- <path d="M30.8562 22.3201H1.17556C0.710229 22.3201 0.333008 22.6973 0.333008 23.1626V38.3285C0.333008 38.7938 0.710229 39.171 1.17556 39.171H29.7519" stroke="#97C3B9" stroke-width="0.666234" stroke-linecap="round"/>
16
- <rect x="8.69056" y="52.6395" width="26.7253" height="0.277597" rx="0.138799" fill="#97C3B9" stroke="#97C3B9" stroke-width="0.277597"/>
17
- <path d="M73.2257 58.1678V60.3613C73.2257 60.8266 72.8485 61.2039 72.3831 61.2039H1.60915C1.14382 61.2039 0.766602 60.8266 0.766602 60.3613V45.1955C0.766602 44.7301 1.14382 44.3529 1.60915 44.3529H30.6776" stroke="#97C3B9" stroke-width="0.666234" stroke-linecap="round"/>
18
- <path d="M70.126 43.9727H72.4743C72.9397 43.9727 73.3169 44.3499 73.3169 44.8152V53.3979" stroke="#97C3B9" stroke-width="0.842547" stroke-linecap="round"/>
19
- <path d="M31.7017 33.9263C31.7017 39.1449 33.7747 44.1497 37.4648 47.8398C41.155 51.5299 46.1598 53.603 51.3784 53.603C56.597 53.603 61.6019 51.5299 65.292 47.8398C68.9821 44.1497 71.0552 39.1449 71.0552 33.9263C71.0552 28.7077 68.9821 23.7028 65.292 20.0127C61.6019 16.3226 56.597 14.2495 51.3784 14.2495C46.1598 14.2495 41.155 16.3226 37.4648 20.0127C33.7747 23.7028 31.7017 28.7077 31.7017 33.9263Z" stroke="#EEBA7D" stroke-linecap="round" stroke-linejoin="round"/>
20
- <path d="M84.3854 67.1342L65.6099 48.3586" stroke="#EEBA7D" stroke-linecap="round" stroke-linejoin="round"/>
21
- <path d="M58.0977 26.9509L45.0031 40.0455" stroke="#EEBA7D" stroke-linecap="round"/>
22
- <path d="M58.0977 40.0457L45.0031 26.9511" stroke="#EEBA7D" stroke-linecap="round"/>
23
- <path opacity="0.2" d="M84.4455 68.4403L65.6699 49.6648" stroke="#97C3B9" stroke-width="1.11039" stroke-linecap="round" stroke-linejoin="round"/>
24
- </svg>
@@ -1,75 +0,0 @@
1
- import { MatchingOperatorDropdownOption, SpendManagementFilterEntityType, TransactionFilterEntityType, UserRoleType } from '@zeniai/client-epic-state';
2
- import { AutoCompleteActions, AutoCompleteData } from '../../common/autoComplete/autoCompleteProps';
3
- import { GenericFilterCategory, GenericFilterCategoryDropdownOption, GenericFiltersType, ValuesDropdownOption } from './genericFilterTypes';
4
- export type SupportedFilterEntityType = TransactionFilterEntityType | SpendManagementFilterEntityType;
5
- export interface GroupByFiltersComponentProps {
6
- component: React.ReactElement;
7
- height: number;
8
- }
9
- export interface GenericFiltersProps<TEntity extends SupportedFilterEntityType, TField extends string, TCategoryDropdownOption extends GenericFilterCategoryDropdownOption<TField>, TFiltersType extends GenericFiltersType<TField>> {
10
- entity: TEntity;
11
- filters: TFiltersType;
12
- filterStrings: {
13
- addFilterBtnText: string;
14
- categoryPlaceholder: string;
15
- clearAllBtnText: string;
16
- empty: string;
17
- filterByLabel: string;
18
- searchPlaceholder: string;
19
- select: string;
20
- /** Optional: return custom placeholder for the value dropdown by category field */
21
- getValuePlaceholder?: (categoryField: string, categoryLabel: string) => string | undefined;
22
- };
23
- helpers: {
24
- getAppliedFiltersCount: (filters: TFiltersType) => number;
25
- getDefaultEmptyFilters: () => TFiltersType;
26
- getFilterCategories: (entity: TEntity, userRole?: UserRoleType[]) => TCategoryDropdownOption[];
27
- getFilterCategoryLabel: (entity: TEntity, key: string) => string;
28
- getUpdatedFiltersOnCategoryChange: (props: {
29
- currentFilters: TFiltersType;
30
- selectedOption: TCategoryDropdownOption;
31
- categoryIndex?: number;
32
- }) => TFiltersType;
33
- getUpdatedFiltersOnMatchingOperatorChange: (props: {
34
- currentFilters: TFiltersType;
35
- selectedOption: MatchingOperatorDropdownOption;
36
- categoryIndex?: number;
37
- }) => TFiltersType;
38
- getUpdatedFiltersOnValueChange: (props: {
39
- categoryIndex: number;
40
- currentFilters: TFiltersType;
41
- selectedOptions: ValuesDropdownOption[];
42
- }) => TFiltersType;
43
- };
44
- /**
45
- * Memoized dropdown options keyed by category field. The cache inside
46
- * GenericFilters mirrors this value, so when source data lands after
47
- * first render the dropdowns refresh automatically. Callers MUST
48
- * memoize this (e.g. with `useMemo`) — passing a new object reference
49
- * on every parent render will churn the internal cache state.
50
- */
51
- categoryWiseOptions?: Record<string, ValuesDropdownOption[]>;
52
- createdByUserListLoaded?: boolean;
53
- disableFilters?: boolean;
54
- groupByFiltersComponent?: GroupByFiltersComponentProps;
55
- transactionsLoaded?: boolean;
56
- vendorSearchAutoCompleteActions?: AutoCompleteActions;
57
- vendorSearchAutoCompleteData?: AutoCompleteData;
58
- onFiltersChange: (filters: TFiltersType) => void;
59
- onFilterClick?: (entity: TEntity) => void;
60
- /** When provided and returns non-null for a field, renders custom operator + value UI (e.g. transaction amount filter with From/To inputs). */
61
- renderCustomCategoryValueSection?: (field: string, props: {
62
- categoryIndex: number;
63
- filter: GenericFilterCategory<TField>;
64
- onMatchingOperatorChange: (option: {
65
- label: string;
66
- value: string;
67
- }, categoryIndex?: number) => void;
68
- onValueChange: (value: ValuesDropdownOption[], categoryIndex: number) => void;
69
- }) => {
70
- operatorDropdown: React.ReactNode;
71
- valueField: React.ReactNode;
72
- } | null;
73
- }
74
- declare function GenericFilters<TEntity extends SupportedFilterEntityType, TField extends string, TCategoryDropdownOption extends GenericFilterCategoryDropdownOption<TField>, TFiltersType extends GenericFiltersType<TField>>({ entity: selectedEntity, filters, filterStrings, helpers, onFiltersChange, createdByUserListLoaded, disableFilters, groupByFiltersComponent, transactionsLoaded, vendorSearchAutoCompleteActions, vendorSearchAutoCompleteData, categoryWiseOptions, onFilterClick, renderCustomCategoryValueSection, }: GenericFiltersProps<TEntity, TField, TCategoryDropdownOption, TFiltersType>): import("react/jsx-runtime").JSX.Element;
75
- export default GenericFilters;
@@ -1,58 +0,0 @@
1
- import { MatchingOperatorDropdownOption, UserRoleType } from '@zeniai/client-epic-state';
2
- import { AutoCompleteActions, AutoCompleteData } from '../../../common/autoComplete/autoCompleteProps';
3
- import { SupportedFilterEntityType } from '../GenericFilters';
4
- import { GenericFilterCategory, GenericFilterCategoryDropdownOption, GenericFiltersType, ValuesDropdownOption } from '../genericFilterTypes';
5
- export interface GenericFiltersSelectionProps<TEntity extends SupportedFilterEntityType, TField extends string, TCategoryDropdownOption extends GenericFilterCategoryDropdownOption<TField>, TFiltersType extends GenericFiltersType<TField>> {
6
- filters: TFiltersType;
7
- filterStrings: {
8
- addFilterBtnText: string;
9
- categoryPlaceholder: string;
10
- clearAllBtnText: string;
11
- filterByLabel: string;
12
- searchPlaceholder: string;
13
- select: string;
14
- getValuePlaceholder?: (categoryField: string, categoryLabel: string) => string | undefined;
15
- };
16
- filterValues: Record<string, ValuesDropdownOption[]>;
17
- helpers: {
18
- getAppliedFiltersCount: (filters: TFiltersType) => number;
19
- getDefaultEmptyFilters: () => TFiltersType;
20
- getFilterCategories: (entity: TEntity, userRole?: UserRoleType[]) => TCategoryDropdownOption[];
21
- getFilterCategoryLabel: (entity: TEntity, key: string) => string;
22
- getUpdatedFiltersOnCategoryChange: (props: {
23
- currentFilters: TFiltersType;
24
- selectedOption: TCategoryDropdownOption;
25
- categoryIndex?: number;
26
- }) => TFiltersType;
27
- getUpdatedFiltersOnMatchingOperatorChange: (props: {
28
- currentFilters: TFiltersType;
29
- selectedOption: MatchingOperatorDropdownOption;
30
- categoryIndex?: number;
31
- }) => TFiltersType;
32
- getUpdatedFiltersOnValueChange: (props: {
33
- categoryIndex: number;
34
- currentFilters: TFiltersType;
35
- selectedOptions: ValuesDropdownOption[];
36
- }) => TFiltersType;
37
- };
38
- selectedEntity: TEntity;
39
- vendorSearchAutoCompleteActions?: AutoCompleteActions;
40
- vendorSearchAutoCompleteData?: AutoCompleteData;
41
- onFiltersChange: (filters: TFiltersType) => void;
42
- renderCustomCategoryValueSection?: (field: string, props: {
43
- categoryIndex: number;
44
- filter: GenericFilterCategory<TField>;
45
- onMatchingOperatorChange: (option: {
46
- label: string;
47
- value: string;
48
- }, categoryIndex?: number) => void;
49
- onValueChange: (value: ValuesDropdownOption[], categoryIndex: number) => void;
50
- }) => {
51
- operatorDropdown: React.ReactNode;
52
- valueField: React.ReactNode;
53
- } | null;
54
- }
55
- declare const _default: <TEntity extends SupportedFilterEntityType, TField extends string, TCategoryDropdownOption extends GenericFilterCategoryDropdownOption<TField>, TFiltersType extends GenericFiltersType<TField>>(props: GenericFiltersSelectionProps<TEntity, TField, TCategoryDropdownOption, TFiltersType> & {
56
- ref?: React.ForwardedRef<HTMLDivElement>;
57
- }) => React.ReactElement;
58
- export default _default;
@@ -1,62 +0,0 @@
1
- import { CategoryCombinationOperator, ZeniDate, ZeniUrl } from '@zeniai/client-epic-state';
2
- type DropdownOptionTypeBase = {
3
- [key: string]: any;
4
- };
5
- export type ValuesDropdownOption = DropdownOptionTypeBase & {
6
- label: string;
7
- value: string | number | ZeniDate;
8
- email?: string;
9
- iconColor?: string;
10
- iconType?: string;
11
- photo?: ZeniUrl;
12
- };
13
- /**
14
- * How a category's selected values combine when matching:
15
- * - `"ANY"` — match a row if any value in `values[]` matches (OR semantics).
16
- * - `"ALL"` — match a row only if every value in `values[]` matches (AND).
17
- *
18
- * Exposed as a named type so callsites that store or narrow this field
19
- * (e.g. TC's `TransactionFilterCategory`, which pins it to literal `"ANY"`)
20
- * reference one source of truth rather than redeclaring the union.
21
- */
22
- export type ValuesCombinationOperator = "ANY" | "ALL";
23
- export type GenericFilterCategory<TField extends string = string> = {
24
- values: Array<string | number | ZeniDate>;
25
- field?: TField;
26
- matchingOperator?: string;
27
- valuesCombinationOperator?: ValuesCombinationOperator;
28
- };
29
- export type GenericFiltersType<TField extends string = string> = {
30
- categories: GenericFilterCategory<TField>[];
31
- categoryCombinationOperator: CategoryCombinationOperator;
32
- };
33
- /**
34
- * Type shape for `NEW_CATEGORY_BODY` below. Carries three deliberate
35
- * narrowing choices:
36
- *
37
- * - `valuesCombinationOperator: "ANY"` — the literal type, not the wider
38
- * `ValuesCombinationOperator` union, because TC's
39
- * `TransactionFilterCategory` narrows the field further to exactly
40
- * `"ANY"`. Without the literal here, the `...NEW_CATEGORY_BODY` spread
41
- * would produce `string` and fail the downstream assignment.
42
- * - `values: never[]` — narrowest possible array type, so the spread is
43
- * assignable to any concrete `values` (e.g. TC's `(string | number)[]`,
44
- * SM's `Array<string | number | ZeniDate>`).
45
- * - `matchingOperator: string` — widely usable placeholder; every caller
46
- * overrides this field after the spread.
47
- *
48
- * Using an explicit type annotation rather than `as const` keeps the
49
- * narrowing without scattering `as const` through callsites.
50
- */
51
- type NewCategoryBody = {
52
- matchingOperator: string;
53
- values: never[];
54
- valuesCombinationOperator: "ANY";
55
- };
56
- export declare const NEW_CATEGORY_BODY: NewCategoryBody;
57
- export type GenericFilterCategoryDropdownOption<TField extends string = string> = {
58
- value: TField;
59
- multiple?: boolean;
60
- type?: string;
61
- };
62
- export {};
@@ -1,17 +0,0 @@
1
- import { CSSProperties } from 'react';
2
- import { TabSwitcherOption } from '../../common/allNavBars/statusSwitcher/switcherTypes';
3
- export interface ExpenseAutomationSubTabSwitcherProps<TId extends string = string> {
4
- activeSubTab: TId;
5
- allTabs: TabSwitcherOption[];
6
- containerStyle?: CSSProperties;
7
- onSubTabChange: (id: TId) => void;
8
- }
9
- /**
10
- * Generic sub-tab strip for any tab inside the Expense Automation surface.
11
- *
12
- * Wraps the shared {@link SubTabSwitcher} with the standard column chrome and
13
- * padding used across Expense Automation so visual parity is automatic. The
14
- * `id` type is generic so callers can plug in any union (e.g. `CompletedSubTab`)
15
- * without casting at the call site.
16
- */
17
- export declare function ExpenseAutomationSubTabSwitcher<TId extends string = string>({ activeSubTab, allTabs, onSubTabChange, containerStyle, }: ExpenseAutomationSubTabSwitcherProps<TId>): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +0,0 @@
1
- import { ValuesDropdownOption } from '../../../common/filters/genericFilterTypes';
2
- export interface AmountFilterValueFieldProps {
3
- matchingOperator: string;
4
- value: (string | number)[];
5
- onChange: (options: ValuesDropdownOption[]) => void;
6
- }
7
- declare const AmountFilterValueField: ({ matchingOperator, value, onChange, }: AmountFilterValueFieldProps) => import("react/jsx-runtime").JSX.Element;
8
- export default AmountFilterValueField;
@@ -1,8 +0,0 @@
1
- import { AmountMatchingOperatorOption } from './amountFilterConstants';
2
- interface AmountMatchingOperatorDropdownProps {
3
- categoryIndex?: number;
4
- value?: string;
5
- onChange: (option: AmountMatchingOperatorOption, categoryIndex?: number) => void;
6
- }
7
- declare const AmountMatchingOperatorDropdown: ({ onChange, value, categoryIndex, }: AmountMatchingOperatorDropdownProps) => import("react/jsx-runtime").JSX.Element;
8
- export default AmountMatchingOperatorDropdown;
@@ -1,17 +0,0 @@
1
- import { TransactionFilterEntityType, TransactionFilters } from '@zeniai/client-epic-state';
2
- import { AutoCompleteActions, AutoCompleteData } from '../../../common/autoComplete/autoCompleteProps';
3
- import { ValuesDropdownOption } from '../../../common/filters/genericFilterTypes';
4
- export interface TransactionFiltersProps {
5
- entity: TransactionFilterEntityType;
6
- filters: TransactionFilters;
7
- /** Memoized dropdown options keyed by category field. Update this when the source data populates so the dropdowns refresh. */
8
- categoryWiseOptions?: Record<string, ValuesDropdownOption[]>;
9
- createdByUserListLoaded?: boolean;
10
- disableFilters?: boolean;
11
- transactionsLoaded?: boolean;
12
- vendorSearchAutoCompleteActions?: AutoCompleteActions;
13
- vendorSearchAutoCompleteData?: AutoCompleteData;
14
- onFiltersChange: (filters: TransactionFilters) => void;
15
- }
16
- declare const TransactionFiltersComponent: ({ entity, filters, vendorSearchAutoCompleteData, vendorSearchAutoCompleteActions, disableFilters, transactionsLoaded, createdByUserListLoaded, onFiltersChange, categoryWiseOptions, }: TransactionFiltersProps) => import("react/jsx-runtime").JSX.Element;
17
- export default TransactionFiltersComponent;
@@ -1,19 +0,0 @@
1
- /**
2
- * Amount filter: operator types and dropdown options for the
3
- * transaction-categorization Amount filter. Used only by the TC filter UI;
4
- * not consumed outside this folder.
5
- */
6
- type AmountMatchingOperatorValue = "less_than" | "greater_than" | "equal" | "in_between";
7
- export interface AmountMatchingOperatorOption {
8
- label: string;
9
- value: AmountMatchingOperatorValue;
10
- }
11
- export declare const getAmountMatchingOperatorOptions: (labels: {
12
- greaterThan: string;
13
- inBetween: string;
14
- isEqual: string;
15
- lessThan: string;
16
- }) => AmountMatchingOperatorOption[];
17
- export declare const isAmountMatchingOperator: (value: string) => value is AmountMatchingOperatorValue;
18
- export declare const DEFAULT_AMOUNT_MATCHING_OPERATOR: AmountMatchingOperatorValue;
19
- export {};
@@ -1,24 +0,0 @@
1
- import { MatchingOperatorDropdownOption, TransactionFilterCategoryDropdownOption, TransactionFilters } from '@zeniai/client-epic-state';
2
- import { ValuesDropdownOption } from '../../../common/filters/genericFilterTypes';
3
- export declare const getTransactionFilterCategories: () => TransactionFilterCategoryDropdownOption[];
4
- export declare const getTransactionFilterCategoryLabel: (key: string) => string;
5
- export declare const getUpdatedTransactionFiltersOnCategoryChange: ({ currentFilters, selectedOption, categoryIndex, }: {
6
- currentFilters: TransactionFilters;
7
- selectedOption: TransactionFilterCategoryDropdownOption;
8
- categoryIndex?: number;
9
- }) => TransactionFilters;
10
- export declare const getUpdatedTransactionFiltersOnMatchingOperatorChange: ({ currentFilters, selectedOption, categoryIndex, }: {
11
- currentFilters: TransactionFilters;
12
- selectedOption: MatchingOperatorDropdownOption | {
13
- label: string;
14
- value: string;
15
- };
16
- categoryIndex?: number;
17
- }) => TransactionFilters;
18
- export declare const getUpdatedTransactionFiltersOnValueChange: ({ categoryIndex, currentFilters, selectedOptions, }: {
19
- categoryIndex: number;
20
- currentFilters: TransactionFilters;
21
- selectedOptions: ValuesDropdownOption[];
22
- }) => TransactionFilters;
23
- export declare const getTransactionAppliedFiltersCount: (filters: TransactionFilters) => number;
24
- export declare const hasActiveSearchOrFilters: (searchString: string, filters: TransactionFilters) => boolean;
@@ -1,7 +0,0 @@
1
- import { TabSwitcherOption } from '../../../common/allNavBars/statusSwitcher/switcherTypes';
2
- /**
3
- * Sub-tabs rendered under the Transaction Categorization "Completed" tab.
4
- * The `id` values match the `CompletedSubTab` union exposed by client-epic-state
5
- * and are forwarded verbatim to the listing API as `sub_tab`.
6
- */
7
- export declare const TRANSACTION_CATEGORIZATION_COMPLETED_SUB_TABS: TabSwitcherOption[];