@cranberry-money/shared-utils 8.22.2 → 8.23.0

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 (63) hide show
  1. package/dist/address.d.ts +7 -0
  2. package/dist/address.d.ts.map +1 -0
  3. package/dist/{address-parsing.js → address.js} +1 -1
  4. package/dist/address.js.map +1 -0
  5. package/dist/badges.d.ts +1 -6
  6. package/dist/badges.d.ts.map +1 -1
  7. package/dist/badges.js.map +1 -1
  8. package/dist/dashboard.d.ts +1 -14
  9. package/dist/dashboard.d.ts.map +1 -1
  10. package/dist/dashboard.js +2 -2
  11. package/dist/dashboard.js.map +1 -1
  12. package/dist/{currency.d.ts → formatting.d.ts} +5 -1
  13. package/dist/formatting.d.ts.map +1 -0
  14. package/dist/{currency.js → formatting.js} +30 -2
  15. package/dist/formatting.js.map +1 -0
  16. package/dist/index.d.ts +9 -13
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +16 -9
  19. package/dist/index.js.map +1 -1
  20. package/dist/portfolio-validation.d.ts +1 -5
  21. package/dist/portfolio-validation.d.ts.map +1 -1
  22. package/dist/portfolio-validation.js.map +1 -1
  23. package/dist/portfolio.d.ts +3 -0
  24. package/dist/portfolio.d.ts.map +1 -1
  25. package/dist/portfolio.js +15 -1
  26. package/dist/portfolio.js.map +1 -1
  27. package/dist/user-validation.d.ts +3 -0
  28. package/dist/user-validation.d.ts.map +1 -0
  29. package/dist/{user-profile-validation.js → user-validation.js} +1 -1
  30. package/dist/user-validation.js.map +1 -0
  31. package/package.json +1 -1
  32. package/dist/address-parsing.d.ts +0 -17
  33. package/dist/address-parsing.d.ts.map +0 -1
  34. package/dist/address-parsing.js.map +0 -1
  35. package/dist/allocations.d.ts +0 -3
  36. package/dist/allocations.d.ts.map +0 -1
  37. package/dist/allocations.js +0 -5
  38. package/dist/allocations.js.map +0 -1
  39. package/dist/cash-account.d.ts +0 -6
  40. package/dist/cash-account.d.ts.map +0 -1
  41. package/dist/cash-account.js +0 -13
  42. package/dist/cash-account.js.map +0 -1
  43. package/dist/currency.d.ts.map +0 -1
  44. package/dist/currency.js.map +0 -1
  45. package/dist/holdings.d.ts +0 -3
  46. package/dist/holdings.d.ts.map +0 -1
  47. package/dist/holdings.js +0 -11
  48. package/dist/holdings.js.map +0 -1
  49. package/dist/numbers.d.ts +0 -2
  50. package/dist/numbers.d.ts.map +0 -1
  51. package/dist/numbers.js +0 -14
  52. package/dist/numbers.js.map +0 -1
  53. package/dist/portfolio-template.d.ts +0 -4
  54. package/dist/portfolio-template.d.ts.map +0 -1
  55. package/dist/portfolio-template.js +0 -2
  56. package/dist/portfolio-template.js.map +0 -1
  57. package/dist/text.d.ts +0 -2
  58. package/dist/text.d.ts.map +0 -1
  59. package/dist/text.js +0 -6
  60. package/dist/text.js.map +0 -1
  61. package/dist/user-profile-validation.d.ts +0 -8
  62. package/dist/user-profile-validation.d.ts.map +0 -1
  63. package/dist/user-profile-validation.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ import type { ParsedAddress } from '@cranberry-money/shared-types';
2
+ export declare function parseAddress(address: string): ParsedAddress;
3
+ export declare function getAddressDisplayLines(parsed: ParsedAddress): Array<{
4
+ label: string;
5
+ value: string;
6
+ }>;
7
+ //# sourceMappingURL=address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../src/address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAoF3D;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBrG"}
@@ -101,4 +101,4 @@ export function getAddressDisplayLines(parsed) {
101
101
  }
102
102
  return lines;
103
103
  }
104
- //# sourceMappingURL=address-parsing.js.map
104
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../src/address.ts"],"names":[],"mappings":"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"}
package/dist/badges.d.ts CHANGED
@@ -1,10 +1,5 @@
1
1
  import type { TradeStatus, TargetTradeStatus } from '@cranberry-money/shared-constants';
2
- export type BadgeVariant = 'success' | 'warning' | 'error' | 'info' | 'neutral';
3
- export interface BadgeData {
4
- text: string;
5
- variant: BadgeVariant;
6
- ariaLabel: string;
7
- }
2
+ import type { BadgeData } from '@cranberry-money/shared-types';
8
3
  export declare function getTradeStatusBadge(status: TradeStatus): BadgeData;
9
4
  export declare function getTargetTradeStatusBadge(status: TargetTradeStatus): BadgeData;
10
5
  //# sourceMappingURL=badges.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"badges.d.ts","sourceRoot":"","sources":["../src/badges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EAClB,MAAM,mCAAmC,CAAC;AAwB3C,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhF,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AA8BD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAMlE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAM9E"}
1
+ {"version":3,"file":"badges.d.ts","sourceRoot":"","sources":["../src/badges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EAClB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,+BAA+B,CAAC;AAoD7E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAMlE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAM9E"}
@@ -1 +1 @@
1
- {"version":3,"file":"badges.js","sourceRoot":"","sources":["../src/badges.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"badges.js","sourceRoot":"","sources":["../src/badges.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,4 @@
1
- import type { AssetAllocation, AssetHolding } from '@cranberry-money/shared-types';
2
- export interface AllocationDisplayItem {
3
- readonly instrumentUuid: string;
4
- readonly symbol: string;
5
- readonly name: string;
6
- readonly targetPercentage?: number;
7
- readonly actualPercentage?: number;
8
- readonly quantity?: number;
9
- readonly value?: number;
10
- readonly currentPrice?: number;
11
- readonly color: string;
12
- readonly hasTarget: boolean;
13
- readonly hasActual: boolean;
14
- }
1
+ import type { AssetAllocation, AssetHolding, AllocationDisplayItem } from '@cranberry-money/shared-types';
15
2
  export declare const combineTargetAndActualAllocations: (allocations: readonly AssetAllocation[], holdings: readonly AssetHolding[]) => AllocationDisplayItem[];
16
3
  export declare const calculateAllocationTotals: (items: readonly AllocationDisplayItem[]) => {
17
4
  totalTarget: number;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAKnF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,iCAAiC,GAC5C,aAAa,SAAS,eAAe,EAAE,EACvC,UAAU,SAAS,YAAY,EAAE,KAChC,qBAAqB,EAoEvB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,OAAO,SAAS,qBAAqB,EAAE;;;;;CAOhF,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,QAAQ,MAAM,KAAG,MAG3D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,EAAE,WAAU,MAAyB,KAAG,MAG1F,CAAC"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAK1G,eAAO,MAAM,iCAAiC,GAC5C,aAAa,SAAS,eAAe,EAAE,EACvC,UAAU,SAAS,YAAY,EAAE,KAChC,qBAAqB,EAoEvB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,OAAO,SAAS,qBAAqB,EAAE;;;;;CAOhF,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,QAAQ,MAAM,KAAG,MAG3D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,EAAE,WAAU,MAAyB,KAAG,MAG1F,CAAC"}
package/dist/dashboard.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { DEFAULT_CURRENCY, DESIGN_TOKENS } from '@cranberry-money/shared-constants';
2
- import { formatCurrencyWithCode } from './currency';
3
- import { calculateHoldingAllocations } from './holdings';
2
+ import { formatCurrencyWithCode } from './formatting';
3
+ import { calculateHoldingAllocations } from './portfolio';
4
4
  export const combineTargetAndActualAllocations = (allocations, holdings) => {
5
5
  const actualAllocations = calculateHoldingAllocations(holdings);
6
6
  const instrumentMap = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,8 @@ export declare const NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED: {
12
12
  export declare function parseCurrencyInput(value: string): number;
13
13
  export declare function formatCurrencyWithCode(value: number, currencyCode?: string, locale?: string, minimumFractionDigits?: number, maximumFractionDigits?: number): string;
14
14
  export declare function formatDefaultCurrency(value: number, minimumFractionDigits?: number, maximumFractionDigits?: number): string;
15
- //# sourceMappingURL=currency.d.ts.map
15
+ export declare function formatQuantityWithSuffix(quantity: number, decimals?: number): string;
16
+ export declare function truncateText(text: string, maxLength?: number): string;
17
+ export declare const formatTransactionAmount: (amount: string | number) => string;
18
+ export declare const getTransactionTypeLabel: <T extends string>(transactionType: T, labels?: Record<T, string>) => string;
19
+ //# sourceMappingURL=formatting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,8BAA8B;;;;CAIjC,CAAC;AAEX,eAAO,MAAM,qCAAqC;;;;;CAGxC,CAAC;AAEX,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOxD;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,YAAY,GAAE,MAAyB,EACvC,MAAM,GAAE,MAAgB,EACxB,qBAAqB,GAAE,MAAU,EACjC,qBAAqB,GAAE,MAAU,GAChC,MAAM,CASR;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,qBAAqB,GAAE,MAAU,EACjC,qBAAqB,GAAE,MAAU,GAChC,MAAM,CAER;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAWvF;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,MAAM,CAGzE;AAED,eAAO,MAAM,uBAAuB,GAAI,QAAQ,MAAM,GAAG,MAAM,KAAG,MAMjE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,MAAM,EACtD,iBAAiB,CAAC,EAClB,SAAQ,MAAM,CAAC,CAAC,EAAE,MAAM,CAA6D,KACpF,MAEF,CAAC"}
@@ -1,4 +1,4 @@
1
- import { DEFAULT_CURRENCY, DECIMAL_PLACES } from '@cranberry-money/shared-constants';
1
+ import { DEFAULT_CURRENCY, DECIMAL_PLACES, LOCALE_AUSTRALIA, CURRENCY_AUD, CASH_ACCOUNT_TRANSACTION_TYPE_LABELS, } from '@cranberry-money/shared-constants';
2
2
  export const NUMBER_FORMAT_OPTIONS_CURRENCY = {
3
3
  style: 'currency',
4
4
  minimumFractionDigits: DECIMAL_PLACES,
@@ -27,4 +27,32 @@ export function formatCurrencyWithCode(value, currencyCode = DEFAULT_CURRENCY, l
27
27
  export function formatDefaultCurrency(value, minimumFractionDigits = 0, maximumFractionDigits = 0) {
28
28
  return formatCurrencyWithCode(value, DEFAULT_CURRENCY, 'en-AU', minimumFractionDigits, maximumFractionDigits);
29
29
  }
30
- //# sourceMappingURL=currency.js.map
30
+ export function formatQuantityWithSuffix(quantity, decimals = 1) {
31
+ const million = 1000000;
32
+ const thousand = 1000;
33
+ if (quantity >= million) {
34
+ return `${(quantity / million).toFixed(decimals)}M`;
35
+ }
36
+ else if (quantity >= thousand) {
37
+ return `${(quantity / thousand).toFixed(decimals)}K`;
38
+ }
39
+ else {
40
+ return quantity.toString();
41
+ }
42
+ }
43
+ export function truncateText(text, maxLength = 30) {
44
+ if (text.length <= maxLength)
45
+ return text;
46
+ return `${text.substring(0, maxLength)}...`;
47
+ }
48
+ export const formatTransactionAmount = (amount) => {
49
+ const numAmount = typeof amount === 'string' ? parseFloat(amount) : amount;
50
+ return new Intl.NumberFormat(LOCALE_AUSTRALIA, {
51
+ ...NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED,
52
+ currency: CURRENCY_AUD,
53
+ }).format(numAmount);
54
+ };
55
+ export const getTransactionTypeLabel = (transactionType, labels = CASH_ACCOUNT_TRANSACTION_TYPE_LABELS) => {
56
+ return labels[transactionType];
57
+ };
58
+ //# sourceMappingURL=formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,17 +1,13 @@
1
- export { truncateText } from './text';
2
- export { parseAddress, getAddressDisplayLines, type ParsedAddress } from './address-parsing';
1
+ export { truncateText } from './formatting';
2
+ export { parseAddress, getAddressDisplayLines } from './address';
3
3
  export { formatDate, formatShortDate, formatTime, formatDateTime } from './date';
4
- export { NUMBER_FORMAT_OPTIONS_CURRENCY, NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED, parseCurrencyInput, formatCurrencyWithCode, formatDefaultCurrency, } from './currency';
5
- export { getTradeStatusBadge, getTargetTradeStatusBadge, type BadgeData, type BadgeVariant, } from './badges';
6
- export { formatPortfolioValue, calculateTotalValue, getMarketAllocation, getCashAllocation } from './portfolio';
4
+ export { NUMBER_FORMAT_OPTIONS_CURRENCY, NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED, parseCurrencyInput, formatCurrencyWithCode, formatDefaultCurrency, formatQuantityWithSuffix, formatTransactionAmount, getTransactionTypeLabel, } from './formatting';
5
+ export { getTradeStatusBadge, getTargetTradeStatusBadge, } from './badges';
6
+ export { formatPortfolioValue, calculateTotalValue, getMarketAllocation, getCashAllocation, validateAllocations, calculateHoldingAllocations, } from './portfolio';
7
7
  export { isNumericOnly, validatePassword, formatVerificationToken, validateEmailConfirmation, isValidPhoneFormat, isValidFullName, formatPhoneNumber, isValidInvestmentAmount, isValidSourceOfFunds, } from './validation';
8
- export { validateUserProfileField, type UserProfileFieldValidation, } from './user-profile-validation';
8
+ export { validateUserProfileField, } from './user-validation';
9
9
  export { hasActiveFilters, countActiveFilters, hasActiveInstrumentFilters, countActiveInstrumentFilters, hasActiveTradeFilters, countActiveTradeFilters, hasActiveTransactionFilters, countActiveTransactionFilters, hasActiveTargetTradeFilters, countActiveTargetTradeFilters, } from './filters';
10
- export { formatQuantityWithSuffix } from './numbers';
11
- export { validateAllocations } from './allocations';
12
- export { calculateHoldingAllocations } from './holdings';
13
- export { combineTargetAndActualAllocations, calculateAllocationTotals, formatAllocationPercentage, formatCurrencyAmount, type AllocationDisplayItem, } from './dashboard';
14
- export { validatePortfolioSelection, type PortfolioSelectionValidation, } from './portfolio-validation';
15
- export { type BaseAllocation, } from './portfolio-template';
16
- export { formatTransactionAmount, getTransactionTypeLabel } from './cash-account';
10
+ export { combineTargetAndActualAllocations, calculateAllocationTotals, formatAllocationPercentage, formatCurrencyAmount, } from './dashboard';
11
+ export { validatePortfolioSelection, } from './portfolio-validation';
12
+ export type { BadgeData, BadgeVariant, ParsedAddress, AllocationDisplayItem, UserProfileFieldValidation, PortfolioSelectionValidation, BaseAllocation, } from '@cranberry-money/shared-types';
17
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACjF,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,EACrC,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,SAAS,EACd,KAAK,YAAY,GAClB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChH,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EACxB,KAAK,0BAA0B,GAChC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EACL,iCAAiC,EACjC,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,KAAK,qBAAqB,GAC3B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,0BAA0B,EAC1B,KAAK,4BAA4B,GAClC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,KAAK,cAAc,GACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAGjF,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,EACrC,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,iCAAiC,EACjC,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAC5B,cAAc,GACf,MAAM,+BAA+B,CAAC"}
package/dist/index.js CHANGED
@@ -1,16 +1,23 @@
1
- export { truncateText } from './text';
2
- export { parseAddress, getAddressDisplayLines } from './address-parsing';
1
+ // Text and formatting utilities
2
+ export { truncateText } from './formatting';
3
+ // Address utilities
4
+ export { parseAddress, getAddressDisplayLines } from './address';
5
+ // Date formatting utilities
3
6
  export { formatDate, formatShortDate, formatTime, formatDateTime } from './date';
4
- export { NUMBER_FORMAT_OPTIONS_CURRENCY, NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED, parseCurrencyInput, formatCurrencyWithCode, formatDefaultCurrency, } from './currency';
7
+ // Currency and number formatting utilities
8
+ export { NUMBER_FORMAT_OPTIONS_CURRENCY, NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED, parseCurrencyInput, formatCurrencyWithCode, formatDefaultCurrency, formatQuantityWithSuffix, formatTransactionAmount, getTransactionTypeLabel, } from './formatting';
9
+ // Badge utilities
5
10
  export { getTradeStatusBadge, getTargetTradeStatusBadge, } from './badges';
6
- export { formatPortfolioValue, calculateTotalValue, getMarketAllocation, getCashAllocation } from './portfolio';
11
+ // Portfolio utilities
12
+ export { formatPortfolioValue, calculateTotalValue, getMarketAllocation, getCashAllocation, validateAllocations, calculateHoldingAllocations, } from './portfolio';
13
+ // Validation utilities
7
14
  export { isNumericOnly, validatePassword, formatVerificationToken, validateEmailConfirmation, isValidPhoneFormat, isValidFullName, formatPhoneNumber, isValidInvestmentAmount, isValidSourceOfFunds, } from './validation';
8
- export { validateUserProfileField, } from './user-profile-validation';
15
+ // User profile validation utilities
16
+ export { validateUserProfileField, } from './user-validation';
17
+ // Filter utilities
9
18
  export { hasActiveFilters, countActiveFilters, hasActiveInstrumentFilters, countActiveInstrumentFilters, hasActiveTradeFilters, countActiveTradeFilters, hasActiveTransactionFilters, countActiveTransactionFilters, hasActiveTargetTradeFilters, countActiveTargetTradeFilters, } from './filters';
10
- export { formatQuantityWithSuffix } from './numbers';
11
- export { validateAllocations } from './allocations';
12
- export { calculateHoldingAllocations } from './holdings';
19
+ // Dashboard utilities
13
20
  export { combineTargetAndActualAllocations, calculateAllocationTotals, formatAllocationPercentage, formatCurrencyAmount, } from './dashboard';
21
+ // Portfolio validation utilities
14
22
  export { validatePortfolioSelection, } from './portfolio-validation';
15
- export { formatTransactionAmount, getTransactionTypeLabel } from './cash-account';
16
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAsB,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACjF,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,EACrC,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAG1B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChH,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,GAEzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EACL,iCAAiC,EACjC,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,GAErB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,0BAA0B,GAE3B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,oBAAoB;AACpB,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEjE,4BAA4B;AAC5B,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEjF,2CAA2C;AAC3C,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,EACrC,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,kBAAkB;AAClB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAElB,sBAAsB;AACtB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AAErB,uBAAuB;AACvB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,oCAAoC;AACpC,OAAO,EACL,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,mBAAmB;AACnB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AAEnB,sBAAsB;AACtB,OAAO,EACL,iCAAiC,EACjC,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,iCAAiC;AACjC,OAAO,EACL,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC"}
@@ -1,7 +1,3 @@
1
- import type { MessageFieldValidation, FormValidation, PortfolioSelectionState } from '@cranberry-money/shared-types';
2
- export interface PortfolioSelectionValidation extends FormValidation {
3
- readonly selectedTemplate: MessageFieldValidation;
4
- readonly isFormValid: boolean;
5
- }
1
+ import type { PortfolioSelectionState, PortfolioSelectionValidation } from '@cranberry-money/shared-types';
6
2
  export declare const validatePortfolioSelection: (state: PortfolioSelectionState) => PortfolioSelectionValidation;
7
3
  //# sourceMappingURL=portfolio-validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"portfolio-validation.d.ts","sourceRoot":"","sources":["../src/portfolio-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAErH,MAAM,WAAW,4BAA6B,SAAQ,cAAc;IAClE,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAClD,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,0BAA0B,GAAI,OAAO,uBAAuB,KAAG,4BAY3E,CAAC"}
1
+ {"version":3,"file":"portfolio-validation.d.ts","sourceRoot":"","sources":["../src/portfolio-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAE3G,eAAO,MAAM,0BAA0B,GAAI,OAAO,uBAAuB,KAAG,4BAY3E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"portfolio-validation.js","sourceRoot":"","sources":["../src/portfolio-validation.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAA8B,EAAgC,EAAE;IACzG,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAiC;QAC/C,gBAAgB,EAAE;YAChB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oCAAoC;SACrE;QACD,WAAW,EAAE,eAAe;KAC7B,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
1
+ {"version":3,"file":"portfolio-validation.js","sourceRoot":"","sources":["../src/portfolio-validation.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAA8B,EAAgC,EAAE;IACzG,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAiC;QAC/C,gBAAgB,EAAE;YAChB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oCAAoC;SACrE;QACD,WAAW,EAAE,eAAe;KAC7B,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
@@ -1,5 +1,8 @@
1
+ import type { AssetAllocation, AssetHolding } from '@cranberry-money/shared-types';
1
2
  export declare function formatPortfolioValue(value: string | number): string;
2
3
  export declare function calculateTotalValue(marketValue: string | number, cashBalance: string | number): number;
3
4
  export declare function getMarketAllocation(marketValue: string | number, totalValue: string | number): number;
4
5
  export declare function getCashAllocation(cashBalance: string | number, totalValue: string | number): number;
6
+ export declare const validateAllocations: (allocations: readonly AssetAllocation[]) => boolean;
7
+ export declare const calculateHoldingAllocations: (holdings: readonly AssetHolding[]) => Record<string, number>;
5
8
  //# sourceMappingURL=portfolio.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../src/portfolio.ts"],"names":[],"mappings":"AAQA,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAMnE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAItG;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAIrG;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAInG"}
1
+ {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../src/portfolio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AASnF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAMnE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAItG;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAIrG;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAInG;AAED,eAAO,MAAM,mBAAmB,GAAI,aAAa,SAAS,eAAe,EAAE,KAAG,OAI7E,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,UAAU,SAAS,YAAY,EAAE,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAWpG,CAAC"}
package/dist/portfolio.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { LOCALE_AUSTRALIA, DEFAULT_NUMERIC_ZERO, DEFAULT_EMPTY_STRING, CURRENCY_AUD, } from '@cranberry-money/shared-constants';
2
- import { NUMBER_FORMAT_OPTIONS_CURRENCY } from './currency';
2
+ import { NUMBER_FORMAT_OPTIONS_CURRENCY } from './formatting';
3
3
  export function formatPortfolioValue(value) {
4
4
  const numValue = typeof value === 'string' ? parseFloat(value) : value;
5
5
  return new Intl.NumberFormat(LOCALE_AUSTRALIA, {
@@ -22,4 +22,18 @@ export function getCashAllocation(cashBalance, totalValue) {
22
22
  const total = typeof totalValue === 'string' ? parseFloat(totalValue || DEFAULT_EMPTY_STRING) : totalValue;
23
23
  return total > DEFAULT_NUMERIC_ZERO ? (cash / total) * 100 : DEFAULT_NUMERIC_ZERO;
24
24
  }
25
+ export const validateAllocations = (allocations) => {
26
+ const totalPercentage = allocations.reduce((sum, allocation) => sum + parseFloat(allocation.percentage), 0);
27
+ return Math.abs(totalPercentage - 100) < 0.01;
28
+ };
29
+ export const calculateHoldingAllocations = (holdings) => {
30
+ const totalQuantity = holdings.reduce((sum, holding) => sum + holding.quantity, 0);
31
+ if (totalQuantity === 0)
32
+ return {};
33
+ const allocations = {};
34
+ holdings.forEach((holding) => {
35
+ allocations[holding.instrument.uuid] = (holding.quantity / totalQuantity) * 100;
36
+ });
37
+ return allocations;
38
+ };
25
39
  //# sourceMappingURL=portfolio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../src/portfolio.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GACb,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,UAAU,oBAAoB,CAAC,KAAsB;IACzD,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACvE,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE;QAC7C,GAAG,8BAA8B;QACjC,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAA4B,EAAE,WAA4B;IAC5F,MAAM,MAAM,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC/G,MAAM,IAAI,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7G,OAAO,MAAM,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAA4B,EAAE,UAA2B;IAC3F,MAAM,MAAM,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC/G,MAAM,KAAK,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3G,OAAO,KAAK,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAA4B,EAAE,UAA2B;IACzF,MAAM,IAAI,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7G,MAAM,KAAK,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3G,OAAO,KAAK,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../src/portfolio.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { UserProfileFieldValidation } from '@cranberry-money/shared-types';
2
+ export declare const validateUserProfileField: UserProfileFieldValidation;
3
+ //# sourceMappingURL=user-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-validation.d.ts","sourceRoot":"","sources":["../src/user-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAIlG,eAAO,MAAM,wBAAwB,EAAE,0BAmEtC,CAAC"}
@@ -57,4 +57,4 @@ export const validateUserProfileField = {
57
57
  };
58
58
  },
59
59
  };
60
- //# sourceMappingURL=user-profile-validation.js.map
60
+ //# sourceMappingURL=user-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-validation.js","sourceRoot":"","sources":["../src/user-validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEnE,MAAM,CAAC,MAAM,wBAAwB,GAA+B;IAClE,QAAQ,EAAE,CAAC,KAAa,EAAoB,EAAE;QAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,uBAAuB;aACjC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,yBAAyB,uBAAuB,CAAC,cAAc,QAAQ;aACjF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,WAAW,EAAE,CAAC,KAAa,EAAoB,EAAE;QAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,0BAA0B;aACpC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,mCAAmC;aAC7C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,kBAAkB,EAAE,CAAC,KAAa,EAAoB,EAAE;QACtD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,uBAAuB,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAEnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,iCAAiC;aAC3C,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,4BAA4B,SAAS,aAAa;aAC5D,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cranberry-money/shared-utils",
3
- "version": "8.22.2",
3
+ "version": "8.23.0",
4
4
  "description": "Shared utility functions for Blueberry platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,17 +0,0 @@
1
- export interface ParsedAddress {
2
- unit?: string;
3
- streetNumber?: string;
4
- streetName?: string;
5
- neighborhood?: string;
6
- city?: string;
7
- zipcode?: string;
8
- state?: string;
9
- country?: string;
10
- formatted?: string;
11
- }
12
- export declare function parseAddress(address: string): ParsedAddress;
13
- export declare function getAddressDisplayLines(parsed: ParsedAddress): Array<{
14
- label: string;
15
- value: string;
16
- }>;
17
- //# sourceMappingURL=address-parsing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"address-parsing.d.ts","sourceRoot":"","sources":["../src/address-parsing.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAoF3D;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBrG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"address-parsing.js","sourceRoot":"","sources":["../src/address-parsing.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { AssetAllocation } from '@cranberry-money/shared-types';
2
- export declare const validateAllocations: (allocations: readonly AssetAllocation[]) => boolean;
3
- //# sourceMappingURL=allocations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"allocations.d.ts","sourceRoot":"","sources":["../src/allocations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,eAAO,MAAM,mBAAmB,GAAI,aAAa,SAAS,eAAe,EAAE,KAAG,OAI7E,CAAC"}
@@ -1,5 +0,0 @@
1
- export const validateAllocations = (allocations) => {
2
- const totalPercentage = allocations.reduce((sum, allocation) => sum + parseFloat(allocation.percentage), 0);
3
- return Math.abs(totalPercentage - 100) < 0.01;
4
- };
5
- //# sourceMappingURL=allocations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"allocations.js","sourceRoot":"","sources":["../src/allocations.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAAuC,EAAW,EAAE;IACtF,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5G,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;AAChD,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- export interface BaseTransactionType {
2
- readonly [key: string]: string;
3
- }
4
- export declare const formatTransactionAmount: (amount: string | number) => string;
5
- export declare const getTransactionTypeLabel: <T extends string>(transactionType: T, labels?: Record<T, string>) => string;
6
- //# sourceMappingURL=cash-account.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cash-account.d.ts","sourceRoot":"","sources":["../src/cash-account.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,uBAAuB,GAAI,QAAQ,MAAM,GAAG,MAAM,KAAG,MAMjE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,MAAM,EACtD,iBAAiB,CAAC,EAClB,SAAQ,MAAM,CAAC,CAAC,EAAE,MAAM,CAA6D,KACpF,MAEF,CAAC"}
@@ -1,13 +0,0 @@
1
- import { LOCALE_AUSTRALIA, CURRENCY_AUD, CASH_ACCOUNT_TRANSACTION_TYPE_LABELS, } from '@cranberry-money/shared-constants';
2
- import { NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED } from './currency';
3
- export const formatTransactionAmount = (amount) => {
4
- const numAmount = typeof amount === 'string' ? parseFloat(amount) : amount;
5
- return new Intl.NumberFormat(LOCALE_AUSTRALIA, {
6
- ...NUMBER_FORMAT_OPTIONS_CURRENCY_SIGNED,
7
- currency: CURRENCY_AUD,
8
- }).format(numAmount);
9
- };
10
- export const getTransactionTypeLabel = (transactionType, labels = CASH_ACCOUNT_TRANSACTION_TYPE_LABELS) => {
11
- return labels[transactionType];
12
- };
13
- //# sourceMappingURL=cash-account.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cash-account.js","sourceRoot":"","sources":["../src/cash-account.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,oCAAoC,GACrC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,qCAAqC,EAAE,MAAM,YAAY,CAAC;AAMnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAuB,EAAU,EAAE;IACzE,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3E,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE;QAC7C,GAAG,qCAAqC;QACxC,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,eAAkB,EAClB,SAA4B,oCAAyD,EAC7E,EAAE;IACV,OAAO,MAAM,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../src/currency.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,8BAA8B;;;;CAIjC,CAAC;AAEX,eAAO,MAAM,qCAAqC;;;;;CAGxC,CAAC;AAEX,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOxD;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,YAAY,GAAE,MAAyB,EACvC,MAAM,GAAE,MAAgB,EACxB,qBAAqB,GAAE,MAAU,EACjC,qBAAqB,GAAE,MAAU,GAChC,MAAM,CASR;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,qBAAqB,GAAE,MAAU,EACjC,qBAAqB,GAAE,MAAU,GAChC,MAAM,CAER"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"currency.js","sourceRoot":"","sources":["../src/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAErF,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,KAAK,EAAE,UAAU;IACjB,qBAAqB,EAAE,cAAc;IACrC,qBAAqB,EAAE,cAAc;CAC7B,CAAC;AAEX,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,GAAG,8BAA8B;IACjC,WAAW,EAAE,QAAiB;CACtB,CAAC;AAEX,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEnG,OAAO,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,eAAuB,gBAAgB,EACvC,SAAiB,OAAO,EACxB,wBAAgC,CAAC,EACjC,wBAAgC,CAAC;IAEjC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE7C,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QACnC,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,YAAY;QACtB,qBAAqB;QACrB,qBAAqB;KACtB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,wBAAgC,CAAC,EACjC,wBAAgC,CAAC;IAEjC,OAAO,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;AAChH,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { AssetHolding } from '@cranberry-money/shared-types';
2
- export declare const calculateHoldingAllocations: (holdings: readonly AssetHolding[]) => Record<string, number>;
3
- //# sourceMappingURL=holdings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"holdings.d.ts","sourceRoot":"","sources":["../src/holdings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,eAAO,MAAM,2BAA2B,GAAI,UAAU,SAAS,YAAY,EAAE,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAWpG,CAAC"}
package/dist/holdings.js DELETED
@@ -1,11 +0,0 @@
1
- export const calculateHoldingAllocations = (holdings) => {
2
- const totalQuantity = holdings.reduce((sum, holding) => sum + holding.quantity, 0);
3
- if (totalQuantity === 0)
4
- return {};
5
- const allocations = {};
6
- holdings.forEach((holding) => {
7
- allocations[holding.instrument.uuid] = (holding.quantity / totalQuantity) * 100;
8
- });
9
- return allocations;
10
- };
11
- //# sourceMappingURL=holdings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"holdings.js","sourceRoot":"","sources":["../src/holdings.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,QAAiC,EAA0B,EAAE;IACvG,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEnF,IAAI,aAAa,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
package/dist/numbers.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function formatQuantityWithSuffix(quantity: number, decimals?: number): string;
2
- //# sourceMappingURL=numbers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"numbers.d.ts","sourceRoot":"","sources":["../src/numbers.ts"],"names":[],"mappings":"AAAA,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAWvF"}
package/dist/numbers.js DELETED
@@ -1,14 +0,0 @@
1
- export function formatQuantityWithSuffix(quantity, decimals = 1) {
2
- const million = 1000000;
3
- const thousand = 1000;
4
- if (quantity >= million) {
5
- return `${(quantity / million).toFixed(decimals)}M`;
6
- }
7
- else if (quantity >= thousand) {
8
- return `${(quantity / thousand).toFixed(decimals)}K`;
9
- }
10
- else {
11
- return quantity.toString();
12
- }
13
- }
14
- //# sourceMappingURL=numbers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"numbers.js","sourceRoot":"","sources":["../src/numbers.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,wBAAwB,CAAC,QAAgB,EAAE,WAAmB,CAAC;IAC7E,MAAM,OAAO,GAAG,OAAO,CAAC;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC;IAEtB,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IACtD,CAAC;SAAM,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC"}
@@ -1,4 +0,0 @@
1
- export interface BaseAllocation {
2
- readonly percentage: string;
3
- }
4
- //# sourceMappingURL=portfolio-template.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portfolio-template.d.ts","sourceRoot":"","sources":["../src/portfolio-template.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=portfolio-template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portfolio-template.js","sourceRoot":"","sources":["../src/portfolio-template.ts"],"names":[],"mappings":""}
package/dist/text.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function truncateText(text: string, maxLength?: number): string;
2
- //# sourceMappingURL=text.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,MAAM,CAGzE"}
package/dist/text.js DELETED
@@ -1,6 +0,0 @@
1
- export function truncateText(text, maxLength = 30) {
2
- if (text.length <= maxLength)
3
- return text;
4
- return `${text.substring(0, maxLength)}...`;
5
- }
6
- //# sourceMappingURL=text.js.map
package/dist/text.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,YAAoB,EAAE;IAC/D,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;AAC9C,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { ValidationResult } from '@cranberry-money/shared-types';
2
- export interface UserProfileFieldValidation {
3
- readonly fullName: (value: string) => ValidationResult;
4
- readonly phoneNumber: (value: string) => ValidationResult;
5
- readonly residentialAddress: (value: string) => ValidationResult;
6
- }
7
- export declare const validateUserProfileField: UserProfileFieldValidation;
8
- //# sourceMappingURL=user-profile-validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-profile-validation.d.ts","sourceRoot":"","sources":["../src/user-profile-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAItE,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,CAAC;IACvD,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,CAAC;IAC1D,QAAQ,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,CAAC;CAClE;AAED,eAAO,MAAM,wBAAwB,EAAE,0BAmEtC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-profile-validation.js","sourceRoot":"","sources":["../src/user-profile-validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAQnE,MAAM,CAAC,MAAM,wBAAwB,GAA+B;IAClE,QAAQ,EAAE,CAAC,KAAa,EAAoB,EAAE;QAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,uBAAuB;aACjC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,yBAAyB,uBAAuB,CAAC,cAAc,QAAQ;aACjF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,WAAW,EAAE,CAAC,KAAa,EAAoB,EAAE;QAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,0BAA0B;aACpC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,mCAAmC;aAC7C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,kBAAkB,EAAE,CAAC,KAAa,EAAoB,EAAE;QACtD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,uBAAuB,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAEnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,iCAAiC;aAC3C,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,4BAA4B,SAAS,aAAa;aAC5D,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;CACF,CAAC"}