@redneckz/wildless-cms-uni-blocks 0.14.229 → 0.14.231

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 (79) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +44 -33
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/Calculator/BusinessDepositCalculatorForm.d.ts +0 -3
  5. package/bundle/components/Calculator/CalculatorContent.d.ts +27 -1
  6. package/bundle/components/Calculator/constants.d.ts +1 -1
  7. package/bundle/components/Calculator/{getBusinessDepositCalculatorParams.d.ts → useBusinessDepositCalculatorParams.d.ts} +2 -4
  8. package/bundle/components/Calculator/useBusinessDepositRates.d.ts +4 -0
  9. package/dist/components/Calculator/BusinessDepositCalculatorForm.d.ts +0 -3
  10. package/dist/components/Calculator/BusinessDepositCalculatorForm.js +3 -3
  11. package/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  12. package/dist/components/Calculator/CalculatorContent.d.ts +27 -1
  13. package/dist/components/Calculator/constants.d.ts +1 -1
  14. package/dist/components/Calculator/{getBusinessDepositCalculatorParams.d.ts → useBusinessDepositCalculatorParams.d.ts} +2 -4
  15. package/dist/components/Calculator/{getBusinessDepositCalculatorParams.js → useBusinessDepositCalculatorParams.js} +8 -6
  16. package/dist/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -0
  17. package/dist/components/Calculator/useBusinessDepositRates.d.ts +4 -0
  18. package/dist/components/Calculator/useBusinessDepositRates.js +15 -0
  19. package/dist/components/Calculator/useBusinessDepositRates.js.map +1 -0
  20. package/lib/components/Calculator/BusinessDepositCalculatorForm.d.ts +0 -3
  21. package/lib/components/Calculator/BusinessDepositCalculatorForm.js +3 -3
  22. package/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  23. package/lib/components/Calculator/CalculatorContent.d.ts +27 -1
  24. package/lib/components/Calculator/constants.d.ts +1 -1
  25. package/lib/components/Calculator/{getBusinessDepositCalculatorParams.d.ts → useBusinessDepositCalculatorParams.d.ts} +2 -4
  26. package/lib/components/Calculator/{getBusinessDepositCalculatorParams.js → useBusinessDepositCalculatorParams.js} +6 -4
  27. package/lib/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -0
  28. package/lib/components/Calculator/useBusinessDepositRates.d.ts +4 -0
  29. package/lib/components/Calculator/useBusinessDepositRates.js +12 -0
  30. package/lib/components/Calculator/useBusinessDepositRates.js.map +1 -0
  31. package/mobile/bundle/bundle.umd.js +44 -33
  32. package/mobile/bundle/bundle.umd.min.js +1 -1
  33. package/mobile/bundle/components/Calculator/BusinessDepositCalculatorForm.d.ts +0 -3
  34. package/mobile/bundle/components/Calculator/CalculatorContent.d.ts +27 -1
  35. package/mobile/bundle/components/Calculator/constants.d.ts +1 -1
  36. package/mobile/bundle/components/Calculator/{getBusinessDepositCalculatorParams.d.ts → useBusinessDepositCalculatorParams.d.ts} +2 -4
  37. package/mobile/bundle/components/Calculator/useBusinessDepositRates.d.ts +4 -0
  38. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.d.ts +0 -3
  39. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js +3 -3
  40. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  41. package/mobile/dist/components/Calculator/CalculatorContent.d.ts +27 -1
  42. package/mobile/dist/components/Calculator/constants.d.ts +1 -1
  43. package/mobile/dist/components/Calculator/useBusinessDepositCalculatorParams.d.ts +25 -0
  44. package/mobile/dist/components/Calculator/{getBusinessDepositCalculatorParams.js → useBusinessDepositCalculatorParams.js} +8 -6
  45. package/mobile/dist/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -0
  46. package/mobile/dist/components/Calculator/useBusinessDepositRates.d.ts +4 -0
  47. package/mobile/dist/components/Calculator/useBusinessDepositRates.js +15 -0
  48. package/mobile/dist/components/Calculator/useBusinessDepositRates.js.map +1 -0
  49. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.d.ts +0 -3
  50. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js +3 -3
  51. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  52. package/mobile/lib/components/Calculator/CalculatorContent.d.ts +27 -1
  53. package/mobile/lib/components/Calculator/constants.d.ts +1 -1
  54. package/mobile/lib/components/Calculator/useBusinessDepositCalculatorParams.d.ts +25 -0
  55. package/mobile/lib/components/Calculator/{getBusinessDepositCalculatorParams.js → useBusinessDepositCalculatorParams.js} +6 -4
  56. package/mobile/lib/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -0
  57. package/mobile/lib/components/Calculator/useBusinessDepositRates.d.ts +4 -0
  58. package/mobile/lib/components/Calculator/useBusinessDepositRates.js +12 -0
  59. package/mobile/lib/components/Calculator/useBusinessDepositRates.js.map +1 -0
  60. package/mobile/src/components/Calculator/BusinessDepositCalculatorForm.tsx +7 -10
  61. package/mobile/src/components/Calculator/CalculatorContent.ts +31 -1
  62. package/mobile/src/components/Calculator/constants.ts +1 -1
  63. package/mobile/src/components/Calculator/{getBusinessDepositCalculatorParams.ts → useBusinessDepositCalculatorParams.ts} +8 -9
  64. package/mobile/src/components/Calculator/useBusinessDepositRates.ts +22 -0
  65. package/mobile/src/components/TabsLayout/TabsLayout.ui.json +1 -1
  66. package/package.json +1 -1
  67. package/src/components/Calculator/BusinessDepositCalculatorForm.tsx +7 -10
  68. package/src/components/Calculator/Calculator.fixture.tsx +2 -2
  69. package/src/components/Calculator/CalculatorContent.ts +31 -1
  70. package/src/components/Calculator/constants.ts +1 -1
  71. package/src/components/Calculator/{getBusinessDepositCalculatorParams.ts → useBusinessDepositCalculatorParams.ts} +8 -9
  72. package/src/components/Calculator/useBusinessDepositRates.ts +22 -0
  73. package/src/components/TabsLayout/TabsLayout.ui.json +1 -1
  74. package/dist/components/Calculator/getBusinessDepositCalculatorParams.js.map +0 -1
  75. package/lib/components/Calculator/getBusinessDepositCalculatorParams.js.map +0 -1
  76. package/mobile/dist/components/Calculator/getBusinessDepositCalculatorParams.d.ts +0 -27
  77. package/mobile/dist/components/Calculator/getBusinessDepositCalculatorParams.js.map +0 -1
  78. package/mobile/lib/components/Calculator/getBusinessDepositCalculatorParams.d.ts +0 -27
  79. package/mobile/lib/components/Calculator/getBusinessDepositCalculatorParams.js.map +0 -1
@@ -1,8 +1,5 @@
1
- import { type JSONRefObject } from '../../data/JSONRefObject';
2
1
  import { type BusinessDepositCalculatorProps } from './CalculatorContent';
3
- import { type BusinessDepositCalculatorData } from './getBusinessDepositCalculatorParams';
4
2
  export interface BusinessDepositCalculatorProp extends BusinessDepositCalculatorProps {
5
3
  className?: string;
6
- calcSource?: BusinessDepositCalculatorData & JSONRefObject;
7
4
  }
8
5
  export declare const BusinessDepositCalculatorForm: import("@redneckz/uni-jsx").UNIComponent<BusinessDepositCalculatorProp, any, any>;
@@ -4,6 +4,30 @@ import { type Footnote } from '../../model/Footnote';
4
4
  import { type HeadlineCommonProps, type TitleProps } from '../../model/HeadlineType';
5
5
  import { type IconProps } from '../../model/Picture';
6
6
  import { type ButtonsSectionContent } from '../../ui-kit/LinkButton/ButtonsSectionContent';
7
+ /**
8
+ * @title ЮЛ
9
+ * @default {"rateType": "UL"}
10
+ */
11
+ export declare type ULRateDef = {
12
+ rateType: 'UL';
13
+ };
14
+ /**
15
+ * @title ИП
16
+ * @default {"rateType": "IP"}
17
+ */
18
+ export declare type IPRateDef = {
19
+ rateType: 'IP';
20
+ };
21
+ /** @title Не выбрано * */
22
+ export declare type EmptyRateParams = {
23
+ /** @default "" */
24
+ rateType: '';
25
+ };
26
+ /**
27
+ * @title Назначение ставки
28
+ * @default {"rateType": ""}
29
+ */
30
+ export declare type RateParamsDef = EmptyRateParams | ULRateDef | IPRateDef;
7
31
  export declare type CommonCalculatorProps = Footnote & ButtonsSectionContent & {
8
32
  /** @title Данные калькулятора */
9
33
  calcSource?: JSONRefObject;
@@ -80,7 +104,9 @@ export interface BusinessDepositDefaultParams extends CommonDefaultParams {
80
104
  /** @title Выплата процентов */
81
105
  isMonthlyInterestPayment?: boolean;
82
106
  }
83
- export interface BusinessDepositCalculatorProps extends CommonCalculatorProps {
107
+ export interface BusinessDepositCalculatorProps extends Footnote, ButtonsSectionContent {
108
+ /** @title Ставка для */
109
+ rateParams?: RateParamsDef;
84
110
  /** @title Сноска снизу блока */
85
111
  bottomFootnote?: string;
86
112
  /** @title Показывать название депозита */
@@ -1,8 +1,8 @@
1
1
  import { type BonusCalculatorData } from './getBonusCalculatorParams';
2
- import { type BusinessDepositCalculatorSourceBookParams } from './getBusinessDepositCalculatorParams';
3
2
  import { type CreditCalculatorSourceBookRateParams } from './getCreditCalculatorParams';
4
3
  import { type DepositCalculatorSourceBookParams } from './getDepositCalculatorParams';
5
4
  import { type RefinancingCalculatorSourceBookRateParams } from './getRefinancingCalculatorParams';
5
+ import { type BusinessDepositCalculatorSourceBookParams } from './useBusinessDepositCalculatorParams';
6
6
  export declare const DEFAULT_MIN_SUM = 10000;
7
7
  export declare const DEFAULT_MAX_SUM = 5000000;
8
8
  export declare const CREDIT_DEFAULT_SUM = 200000;
@@ -1,3 +1,4 @@
1
+ import { type RateParamsDef } from './CalculatorContent';
1
2
  export interface BusinessCommonDepositParams {
2
3
  isMonthlyInterestPayment: boolean;
3
4
  isReplenished: boolean;
@@ -21,7 +22,4 @@ export interface BusinessDepositCalculatorParams extends BusinessDepositCalculat
21
22
  isDisabledOperatingDeposit?: boolean;
22
23
  isUnavailableByTerm?: boolean;
23
24
  }
24
- export declare type BusinessDepositCalculatorData = {
25
- rateRows?: BusinessDepositCalculatorSourceBookParams[];
26
- };
27
- export declare const getBusinessDepositCalculatorParams: (userInputParams: BusinessDepositCalculatorUserInputParams, calcSource?: BusinessDepositCalculatorData) => BusinessDepositCalculatorParams;
25
+ export declare const useBusinessDepositCalculatorParams: (userInputParams: BusinessDepositCalculatorUserInputParams, rateParams?: RateParamsDef) => BusinessDepositCalculatorParams;
@@ -0,0 +1,4 @@
1
+ import { type RateParamsDef } from './CalculatorContent';
2
+ import { type BusinessDepositCalculatorSourceBookParams } from './useBusinessDepositCalculatorParams';
3
+ export declare type BusinessDepositCalculatorData = BusinessDepositCalculatorSourceBookParams[];
4
+ export declare function useBusinessDepositRates(rateParams?: RateParamsDef): BusinessDepositCalculatorData;
@@ -1,8 +1,5 @@
1
- import { type JSONRefObject } from '../../data/JSONRefObject';
2
1
  import { type BusinessDepositCalculatorProps } from './CalculatorContent';
3
- import { type BusinessDepositCalculatorData } from './getBusinessDepositCalculatorParams';
4
2
  export interface BusinessDepositCalculatorProp extends BusinessDepositCalculatorProps {
5
3
  className?: string;
6
- calcSource?: BusinessDepositCalculatorData & JSONRefObject;
7
4
  }
8
5
  export declare const BusinessDepositCalculatorForm: import("@redneckz/uni-jsx").UNIComponent<BusinessDepositCalculatorProp, any, any>;
@@ -9,14 +9,14 @@ const Text_1 = require("../../ui-kit/Text/Text");
9
9
  const CalculatorFormLayout_1 = require("./CalculatorFormLayout");
10
10
  const CalculatorValueBlock_1 = require("./CalculatorValueBlock");
11
11
  const constants_1 = require("./constants");
12
- const getBusinessDepositCalculatorParams_1 = require("./getBusinessDepositCalculatorParams");
13
12
  const getDefaultValues_1 = require("./getDefaultValues");
14
13
  const renderDaysInput_1 = require("./renderDaysInput");
15
14
  const renderFootnote_1 = require("./renderFootnote");
16
15
  const renderInterestPayment_1 = require("./renderInterestPayment");
17
16
  const renderRate_1 = require("./renderRate");
18
17
  const renderWantedSumInput_1 = require("./renderWantedSumInput");
19
- exports.BusinessDepositCalculatorForm = (0, uni_jsx_1.JSX)(({ className = '', buttons, footnote, bottomFootnote, isShowDepositeName, defaultParams, calcSource, }) => {
18
+ const useBusinessDepositCalculatorParams_1 = require("./useBusinessDepositCalculatorParams");
19
+ exports.BusinessDepositCalculatorForm = (0, uni_jsx_1.JSX)(({ className = '', buttons, footnote, bottomFootnote, isShowDepositeName, defaultParams, rateParams, }) => {
20
20
  const [userInputParams, { field }] = (0, useForm_1.useForm)({
21
21
  moneyValue: (0, getDefaultValues_1.getMoneyDefaultValue)(defaultParams, constants_1.BUSINESS_DEFAULT_SUM),
22
22
  daysValue: (0, getDefaultValues_1.getMonthsDefaultValue)(defaultParams, constants_1.BUSINESS_DEFAULT_DAYS),
@@ -24,7 +24,7 @@ exports.BusinessDepositCalculatorForm = (0, uni_jsx_1.JSX)(({ className = '', bu
24
24
  isPartialWithdrawal: Boolean(defaultParams?.isPartialWithdrawal),
25
25
  isMonthlyInterestPayment: Boolean(defaultParams?.isMonthlyInterestPayment),
26
26
  });
27
- const calculatorParams = (0, getBusinessDepositCalculatorParams_1.getBusinessDepositCalculatorParams)(userInputParams, calcSource);
27
+ const calculatorParams = (0, useBusinessDepositCalculatorParams_1.useBusinessDepositCalculatorParams)(userInputParams, rateParams);
28
28
  const { income, finalSum, rate, isUnavailableByTerm, depositeName } = calculatorParams;
29
29
  return ((0, jsx_runtime_1.jsx)(CalculatorFormLayout_1.CalculatorFormLayout, { className: className, inputChildren: (0, jsx_runtime_1.jsxs)("div", { children: [(0, renderWantedSumInput_1.renderWantedSumInput)({
30
30
  title: 'Сумма, ₽',
@@ -1 +1 @@
1
- {"version":3,"file":"BusinessDepositCalculatorForm.js","sourceRoot":"","sources":["../../../src/components/Calculator/BusinessDepositCalculatorForm.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BusinessDepositCalculatorForm.js","sourceRoot":"","sources":["../../../src/components/Calculator/BusinessDepositCalculatorForm.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,30 @@ import { type Footnote } from '../../model/Footnote';
4
4
  import { type HeadlineCommonProps, type TitleProps } from '../../model/HeadlineType';
5
5
  import { type IconProps } from '../../model/Picture';
6
6
  import { type ButtonsSectionContent } from '../../ui-kit/LinkButton/ButtonsSectionContent';
7
+ /**
8
+ * @title ЮЛ
9
+ * @default {"rateType": "UL"}
10
+ */
11
+ export declare type ULRateDef = {
12
+ rateType: 'UL';
13
+ };
14
+ /**
15
+ * @title ИП
16
+ * @default {"rateType": "IP"}
17
+ */
18
+ export declare type IPRateDef = {
19
+ rateType: 'IP';
20
+ };
21
+ /** @title Не выбрано * */
22
+ export declare type EmptyRateParams = {
23
+ /** @default "" */
24
+ rateType: '';
25
+ };
26
+ /**
27
+ * @title Назначение ставки
28
+ * @default {"rateType": ""}
29
+ */
30
+ export declare type RateParamsDef = EmptyRateParams | ULRateDef | IPRateDef;
7
31
  export declare type CommonCalculatorProps = Footnote & ButtonsSectionContent & {
8
32
  /** @title Данные калькулятора */
9
33
  calcSource?: JSONRefObject;
@@ -80,7 +104,9 @@ export interface BusinessDepositDefaultParams extends CommonDefaultParams {
80
104
  /** @title Выплата процентов */
81
105
  isMonthlyInterestPayment?: boolean;
82
106
  }
83
- export interface BusinessDepositCalculatorProps extends CommonCalculatorProps {
107
+ export interface BusinessDepositCalculatorProps extends Footnote, ButtonsSectionContent {
108
+ /** @title Ставка для */
109
+ rateParams?: RateParamsDef;
84
110
  /** @title Сноска снизу блока */
85
111
  bottomFootnote?: string;
86
112
  /** @title Показывать название депозита */
@@ -1,8 +1,8 @@
1
1
  import { type BonusCalculatorData } from './getBonusCalculatorParams';
2
- import { type BusinessDepositCalculatorSourceBookParams } from './getBusinessDepositCalculatorParams';
3
2
  import { type CreditCalculatorSourceBookRateParams } from './getCreditCalculatorParams';
4
3
  import { type DepositCalculatorSourceBookParams } from './getDepositCalculatorParams';
5
4
  import { type RefinancingCalculatorSourceBookRateParams } from './getRefinancingCalculatorParams';
5
+ import { type BusinessDepositCalculatorSourceBookParams } from './useBusinessDepositCalculatorParams';
6
6
  export declare const DEFAULT_MIN_SUM = 10000;
7
7
  export declare const DEFAULT_MAX_SUM = 5000000;
8
8
  export declare const CREDIT_DEFAULT_SUM = 200000;
@@ -0,0 +1,25 @@
1
+ import { type RateParamsDef } from './CalculatorContent';
2
+ export interface BusinessCommonDepositParams {
3
+ isMonthlyInterestPayment: boolean;
4
+ isReplenished: boolean;
5
+ isPartialWithdrawal: boolean;
6
+ }
7
+ export interface BusinessDepositCalculatorSourceBookParams extends BusinessCommonDepositParams {
8
+ minSum: number;
9
+ maxSum: number;
10
+ minDays: number;
11
+ maxDays: number;
12
+ depositeName: string;
13
+ rate: number;
14
+ }
15
+ export interface BusinessDepositCalculatorUserInputParams extends BusinessCommonDepositParams {
16
+ moneyValue: number;
17
+ daysValue: number;
18
+ }
19
+ export interface BusinessDepositCalculatorParams extends BusinessDepositCalculatorSourceBookParams, BusinessDepositCalculatorUserInputParams {
20
+ income?: number;
21
+ finalSum?: number;
22
+ isDisabledOperatingDeposit?: boolean;
23
+ isUnavailableByTerm?: boolean;
24
+ }
25
+ export declare const useBusinessDepositCalculatorParams: (userInputParams: BusinessDepositCalculatorUserInputParams, rateParams?: RateParamsDef) => BusinessDepositCalculatorParams;
@@ -1,11 +1,13 @@
1
1
  Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.getBusinessDepositCalculatorParams = void 0;
2
+ exports.useBusinessDepositCalculatorParams = void 0;
3
3
  const constants_1 = require("./constants");
4
4
  const rangeHelpers_1 = require("./rangeHelpers");
5
- const getBusinessDepositCalculatorParams = (userInputParams, calcSource) => {
5
+ const useBusinessDepositRates_1 = require("./useBusinessDepositRates");
6
+ const useBusinessDepositCalculatorParams = (userInputParams, rateParams) => {
6
7
  const { daysValue, moneyValue, isPartialWithdrawal, isReplenished, isMonthlyInterestPayment } = userInputParams;
7
8
  const isOperatingDeposit = isReplenished || isPartialWithdrawal;
8
9
  const isDisabledOperatingDeposit = daysValue < constants_1.BUSINESS_OPERATING_MIN_DAYS || daysValue > constants_1.BUSINESS_OPERATING_MAX_DAYS;
10
+ const rateRows = (0, useBusinessDepositRates_1.useBusinessDepositRates)(rateParams);
9
11
  if (daysValue <= constants_1.BUSINESS_RATE_MIN_DAYS) {
10
12
  return {
11
13
  ...constants_1.DEFAULT_BUSINESS_DEPOSIT_CALCULATOR_PARAMS,
@@ -14,7 +16,7 @@ const getBusinessDepositCalculatorParams = (userInputParams, calcSource) => {
14
16
  isUnavailableByTerm: true,
15
17
  };
16
18
  }
17
- const businessDepositCalculatorSourceBookParams = calcSource?.rateRows?.find((_) => {
19
+ const businessDepositCalculatorSourceBookParams = rateRows?.find((_) => {
18
20
  return (isMonthlyInterestPayment === _.isMonthlyInterestPayment &&
19
21
  checkIsOperatingDeposit(isOperatingDeposit, _) &&
20
22
  (0, rangeHelpers_1.checkRangeByKeys)(moneyValue, ['minSum', 'maxSum'], _) &&
@@ -23,7 +25,7 @@ const getBusinessDepositCalculatorParams = (userInputParams, calcSource) => {
23
25
  const { rate } = businessDepositCalculatorSourceBookParams;
24
26
  const income = getDepositIncome(rate, userInputParams);
25
27
  const finalSum = moneyValue + income;
26
- const sourceBookRows = calcSource?.rateRows || [constants_1.DEFAULT_BUSINESS_DEPOSIT_CALCULATOR_PARAMS];
28
+ const sourceBookRows = rateRows || [constants_1.DEFAULT_BUSINESS_DEPOSIT_CALCULATOR_PARAMS];
27
29
  return {
28
30
  ...businessDepositCalculatorSourceBookParams,
29
31
  ...(0, rangeHelpers_1.getRangeByKeys)(['minSum', 'maxSum'], sourceBookRows),
@@ -34,7 +36,7 @@ const getBusinessDepositCalculatorParams = (userInputParams, calcSource) => {
34
36
  finalSum,
35
37
  };
36
38
  };
37
- exports.getBusinessDepositCalculatorParams = getBusinessDepositCalculatorParams;
39
+ exports.useBusinessDepositCalculatorParams = useBusinessDepositCalculatorParams;
38
40
  const checkIsOperatingDeposit = (isOperatingDeposit, sourceBookRow) => isOperatingDeposit
39
41
  ? sourceBookRow.isReplenished && sourceBookRow.isPartialWithdrawal
40
42
  : !sourceBookRow.isReplenished && !sourceBookRow.isPartialWithdrawal;
@@ -50,4 +52,4 @@ const getDepositIncome = (rate, userInputParams) => {
50
52
  return Math.round((moneyValue * rate * daysValue) / 365 / 100);
51
53
  }
52
54
  };
53
- //# sourceMappingURL=getBusinessDepositCalculatorParams.js.map
55
+ //# sourceMappingURL=useBusinessDepositCalculatorParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBusinessDepositCalculatorParams.js","sourceRoot":"","sources":["../../../src/components/Calculator/useBusinessDepositCalculatorParams.ts"],"names":[],"mappings":";;AACA,2CAKqB;AACrB,iDAAkE;AAClE,uEAAoE;AA8B7D,MAAM,kCAAkC,GAAG,CAChD,eAAyD,EACzD,UAA0B,EACO,EAAE;IACnC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,wBAAwB,EAAE,GAC3F,eAAe,CAAC;IAClB,MAAM,kBAAkB,GAAG,aAAa,IAAI,mBAAmB,CAAC;IAChE,MAAM,0BAA0B,GAC9B,SAAS,GAAG,uCAA2B,IAAI,SAAS,GAAG,uCAA2B,CAAC;IAErF,MAAM,QAAQ,GAAG,IAAA,iDAAuB,EAAC,UAAU,CAAC,CAAC;IAErD,IAAI,SAAS,IAAI,kCAAsB,EAAE;QACvC,OAAO;YACL,GAAG,sDAA0C;YAC7C,GAAG,eAAe;YAClB,0BAA0B;YAC1B,mBAAmB,EAAE,IAAI;SAC1B,CAAC;KACH;IACD,MAAM,yCAAyC,GAC7C,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,OAAO,CACL,wBAAwB,KAAK,CAAC,CAAC,wBAAwB;YACvD,uBAAuB,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC9C,IAAA,+BAAgB,EAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,IAAA,+BAAgB,EAAC,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CACvD,CAAC;IACJ,CAAC,CAAC,IAAI,sDAA0C,CAAC;IAEnD,MAAM,EAAE,IAAI,EAAE,GAAG,yCAAyC,CAAC;IAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IACrC,MAAM,cAAc,GAAG,QAAQ,IAAI,CAAC,sDAA0C,CAAC,CAAC;IAEhF,OAAO;QACL,GAAG,yCAAyC;QAC5C,GAAG,IAAA,6BAAc,EAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC;QACvD,GAAG,IAAA,6BAAc,EAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,cAAc,CAAC;QACzD,GAAG,eAAe;QAClB,0BAA0B;QAC1B,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AA5CW,QAAA,kCAAkC,sCA4C7C;AAEF,MAAM,uBAAuB,GAAG,CAC9B,kBAA2B,EAC3B,aAAwD,EACxD,EAAE,CACF,kBAAkB;IAChB,CAAC,CAAC,aAAa,CAAC,aAAa,IAAI,aAAa,CAAC,mBAAmB;IAClE,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;AAEzE,MAAM,gBAAgB,GAAG,CACvB,IAAY,EACZ,eAAyD,EACzD,EAAE;IACF,MAAM,EAAE,wBAAwB,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;IAE5E;;MAEE;IACF,IAAI,wBAAwB,EAAE;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,SAAS,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;KAC7F;SAAM;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;KAChE;AACH,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type RateParamsDef } from './CalculatorContent';
2
+ import { type BusinessDepositCalculatorSourceBookParams } from './useBusinessDepositCalculatorParams';
3
+ export declare type BusinessDepositCalculatorData = BusinessDepositCalculatorSourceBookParams[];
4
+ export declare function useBusinessDepositRates(rateParams?: RateParamsDef): BusinessDepositCalculatorData;
@@ -0,0 +1,15 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.useBusinessDepositRates = void 0;
3
+ const useAsyncData_1 = require("@redneckz/uni-jsx/lib/hooks/useAsyncData");
4
+ const fetchJSON_1 = require("../../utils/fetchJSON");
5
+ const DEPOSIT_RATES_SERVICE_MAP = {
6
+ UL: 'businessdepositrates',
7
+ IP: 'selfemployeddepositrates',
8
+ };
9
+ function useBusinessDepositRates(rateParams) {
10
+ const serviceName = rateParams?.rateType ? DEPOSIT_RATES_SERVICE_MAP[rateParams?.rateType] : '';
11
+ const { data } = (0, useAsyncData_1.useAsyncData)(serviceName ? `/api/v1/depositrates/${serviceName}` : null, fetchJSON_1.fetchJSONUnsafe);
12
+ return Array.isArray(data) ? data : [];
13
+ }
14
+ exports.useBusinessDepositRates = useBusinessDepositRates;
15
+ //# sourceMappingURL=useBusinessDepositRates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBusinessDepositRates.js","sourceRoot":"","sources":["../../../src/components/Calculator/useBusinessDepositRates.ts"],"names":[],"mappings":";;AAAA,2EAAwE;AACxE,qDAAkF;AAIlF,MAAM,yBAAyB,GAAG;IAChC,EAAE,EAAE,sBAAsB;IAC1B,EAAE,EAAE,0BAA0B;CAC/B,CAAC;AAIF,SAAgB,uBAAuB,CAAC,UAA0B;IAChE,MAAM,WAAW,GAAG,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhG,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,2BAAY,EAC3B,WAAW,CAAC,CAAC,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAC1D,2BAAqE,CACtE,CAAC;IAEF,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACzC,CAAC;AATD,0DASC"}
@@ -1,8 +1,5 @@
1
- import { type JSONRefObject } from '../../data/JSONRefObject';
2
1
  import { type BusinessDepositCalculatorProps } from './CalculatorContent';
3
- import { type BusinessDepositCalculatorData } from './getBusinessDepositCalculatorParams';
4
2
  export interface BusinessDepositCalculatorProp extends BusinessDepositCalculatorProps {
5
3
  className?: string;
6
- calcSource?: BusinessDepositCalculatorData & JSONRefObject;
7
4
  }
8
5
  export declare const BusinessDepositCalculatorForm: import("@redneckz/uni-jsx").UNIComponent<BusinessDepositCalculatorProp, any, any>;
@@ -7,14 +7,14 @@ import { Text } from '../../ui-kit/Text/Text.js';
7
7
  import { CalculatorFormLayout } from './CalculatorFormLayout.js';
8
8
  import { CalculatorValueBlock } from './CalculatorValueBlock.js';
9
9
  import { BUSINESS_DEFAULT_DAYS, BUSINESS_DEFAULT_SUM } from './constants.js';
10
- import { getBusinessDepositCalculatorParams, } from './getBusinessDepositCalculatorParams.js';
11
10
  import { getMoneyDefaultValue, getMonthsDefaultValue } from './getDefaultValues.js';
12
11
  import { renderDaysInput } from './renderDaysInput.js';
13
12
  import { renderFootnote } from './renderFootnote.js';
14
13
  import { renderInterestPayment } from './renderInterestPayment.js';
15
14
  import { renderRate } from './renderRate.js';
16
15
  import { renderWantedSumInput } from './renderWantedSumInput.js';
17
- export const BusinessDepositCalculatorForm = JSX(({ className = '', buttons, footnote, bottomFootnote, isShowDepositeName, defaultParams, calcSource, }) => {
16
+ import { useBusinessDepositCalculatorParams, } from './useBusinessDepositCalculatorParams.js';
17
+ export const BusinessDepositCalculatorForm = JSX(({ className = '', buttons, footnote, bottomFootnote, isShowDepositeName, defaultParams, rateParams, }) => {
18
18
  const [userInputParams, { field }] = useForm({
19
19
  moneyValue: getMoneyDefaultValue(defaultParams, BUSINESS_DEFAULT_SUM),
20
20
  daysValue: getMonthsDefaultValue(defaultParams, BUSINESS_DEFAULT_DAYS),
@@ -22,7 +22,7 @@ export const BusinessDepositCalculatorForm = JSX(({ className = '', buttons, foo
22
22
  isPartialWithdrawal: Boolean(defaultParams?.isPartialWithdrawal),
23
23
  isMonthlyInterestPayment: Boolean(defaultParams?.isMonthlyInterestPayment),
24
24
  });
25
- const calculatorParams = getBusinessDepositCalculatorParams(userInputParams, calcSource);
25
+ const calculatorParams = useBusinessDepositCalculatorParams(userInputParams, rateParams);
26
26
  const { income, finalSum, rate, isUnavailableByTerm, depositeName } = calculatorParams;
27
27
  return (_jsx(CalculatorFormLayout, { className: className, inputChildren: _jsxs("div", { children: [renderWantedSumInput({
28
28
  title: 'Сумма, ₽',
@@ -1 +1 @@
1
- {"version":3,"file":"BusinessDepositCalculatorForm.js","sourceRoot":"","sources":["../../../src/components/Calculator/BusinessDepositCalculatorForm.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BusinessDepositCalculatorForm.js","sourceRoot":"","sources":["../../../src/components/Calculator/BusinessDepositCalculatorForm.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,30 @@ import { type Footnote } from '../../model/Footnote';
4
4
  import { type HeadlineCommonProps, type TitleProps } from '../../model/HeadlineType';
5
5
  import { type IconProps } from '../../model/Picture';
6
6
  import { type ButtonsSectionContent } from '../../ui-kit/LinkButton/ButtonsSectionContent';
7
+ /**
8
+ * @title ЮЛ
9
+ * @default {"rateType": "UL"}
10
+ */
11
+ export declare type ULRateDef = {
12
+ rateType: 'UL';
13
+ };
14
+ /**
15
+ * @title ИП
16
+ * @default {"rateType": "IP"}
17
+ */
18
+ export declare type IPRateDef = {
19
+ rateType: 'IP';
20
+ };
21
+ /** @title Не выбрано * */
22
+ export declare type EmptyRateParams = {
23
+ /** @default "" */
24
+ rateType: '';
25
+ };
26
+ /**
27
+ * @title Назначение ставки
28
+ * @default {"rateType": ""}
29
+ */
30
+ export declare type RateParamsDef = EmptyRateParams | ULRateDef | IPRateDef;
7
31
  export declare type CommonCalculatorProps = Footnote & ButtonsSectionContent & {
8
32
  /** @title Данные калькулятора */
9
33
  calcSource?: JSONRefObject;
@@ -80,7 +104,9 @@ export interface BusinessDepositDefaultParams extends CommonDefaultParams {
80
104
  /** @title Выплата процентов */
81
105
  isMonthlyInterestPayment?: boolean;
82
106
  }
83
- export interface BusinessDepositCalculatorProps extends CommonCalculatorProps {
107
+ export interface BusinessDepositCalculatorProps extends Footnote, ButtonsSectionContent {
108
+ /** @title Ставка для */
109
+ rateParams?: RateParamsDef;
84
110
  /** @title Сноска снизу блока */
85
111
  bottomFootnote?: string;
86
112
  /** @title Показывать название депозита */
@@ -1,8 +1,8 @@
1
1
  import { type BonusCalculatorData } from './getBonusCalculatorParams';
2
- import { type BusinessDepositCalculatorSourceBookParams } from './getBusinessDepositCalculatorParams';
3
2
  import { type CreditCalculatorSourceBookRateParams } from './getCreditCalculatorParams';
4
3
  import { type DepositCalculatorSourceBookParams } from './getDepositCalculatorParams';
5
4
  import { type RefinancingCalculatorSourceBookRateParams } from './getRefinancingCalculatorParams';
5
+ import { type BusinessDepositCalculatorSourceBookParams } from './useBusinessDepositCalculatorParams';
6
6
  export declare const DEFAULT_MIN_SUM = 10000;
7
7
  export declare const DEFAULT_MAX_SUM = 5000000;
8
8
  export declare const CREDIT_DEFAULT_SUM = 200000;
@@ -0,0 +1,25 @@
1
+ import { type RateParamsDef } from './CalculatorContent';
2
+ export interface BusinessCommonDepositParams {
3
+ isMonthlyInterestPayment: boolean;
4
+ isReplenished: boolean;
5
+ isPartialWithdrawal: boolean;
6
+ }
7
+ export interface BusinessDepositCalculatorSourceBookParams extends BusinessCommonDepositParams {
8
+ minSum: number;
9
+ maxSum: number;
10
+ minDays: number;
11
+ maxDays: number;
12
+ depositeName: string;
13
+ rate: number;
14
+ }
15
+ export interface BusinessDepositCalculatorUserInputParams extends BusinessCommonDepositParams {
16
+ moneyValue: number;
17
+ daysValue: number;
18
+ }
19
+ export interface BusinessDepositCalculatorParams extends BusinessDepositCalculatorSourceBookParams, BusinessDepositCalculatorUserInputParams {
20
+ income?: number;
21
+ finalSum?: number;
22
+ isDisabledOperatingDeposit?: boolean;
23
+ isUnavailableByTerm?: boolean;
24
+ }
25
+ export declare const useBusinessDepositCalculatorParams: (userInputParams: BusinessDepositCalculatorUserInputParams, rateParams?: RateParamsDef) => BusinessDepositCalculatorParams;
@@ -1,9 +1,11 @@
1
1
  import { BUSINESS_OPERATING_MAX_DAYS, BUSINESS_OPERATING_MIN_DAYS, BUSINESS_RATE_MIN_DAYS, DEFAULT_BUSINESS_DEPOSIT_CALCULATOR_PARAMS, } from './constants.js';
2
2
  import { checkRangeByKeys, getRangeByKeys } from './rangeHelpers.js';
3
- export const getBusinessDepositCalculatorParams = (userInputParams, calcSource) => {
3
+ import { useBusinessDepositRates } from './useBusinessDepositRates.js';
4
+ export const useBusinessDepositCalculatorParams = (userInputParams, rateParams) => {
4
5
  const { daysValue, moneyValue, isPartialWithdrawal, isReplenished, isMonthlyInterestPayment } = userInputParams;
5
6
  const isOperatingDeposit = isReplenished || isPartialWithdrawal;
6
7
  const isDisabledOperatingDeposit = daysValue < BUSINESS_OPERATING_MIN_DAYS || daysValue > BUSINESS_OPERATING_MAX_DAYS;
8
+ const rateRows = useBusinessDepositRates(rateParams);
7
9
  if (daysValue <= BUSINESS_RATE_MIN_DAYS) {
8
10
  return {
9
11
  ...DEFAULT_BUSINESS_DEPOSIT_CALCULATOR_PARAMS,
@@ -12,7 +14,7 @@ export const getBusinessDepositCalculatorParams = (userInputParams, calcSource)
12
14
  isUnavailableByTerm: true,
13
15
  };
14
16
  }
15
- const businessDepositCalculatorSourceBookParams = calcSource?.rateRows?.find((_) => {
17
+ const businessDepositCalculatorSourceBookParams = rateRows?.find((_) => {
16
18
  return (isMonthlyInterestPayment === _.isMonthlyInterestPayment &&
17
19
  checkIsOperatingDeposit(isOperatingDeposit, _) &&
18
20
  checkRangeByKeys(moneyValue, ['minSum', 'maxSum'], _) &&
@@ -21,7 +23,7 @@ export const getBusinessDepositCalculatorParams = (userInputParams, calcSource)
21
23
  const { rate } = businessDepositCalculatorSourceBookParams;
22
24
  const income = getDepositIncome(rate, userInputParams);
23
25
  const finalSum = moneyValue + income;
24
- const sourceBookRows = calcSource?.rateRows || [DEFAULT_BUSINESS_DEPOSIT_CALCULATOR_PARAMS];
26
+ const sourceBookRows = rateRows || [DEFAULT_BUSINESS_DEPOSIT_CALCULATOR_PARAMS];
25
27
  return {
26
28
  ...businessDepositCalculatorSourceBookParams,
27
29
  ...getRangeByKeys(['minSum', 'maxSum'], sourceBookRows),
@@ -47,4 +49,4 @@ const getDepositIncome = (rate, userInputParams) => {
47
49
  return Math.round((moneyValue * rate * daysValue) / 365 / 100);
48
50
  }
49
51
  };
50
- //# sourceMappingURL=getBusinessDepositCalculatorParams.js.map
52
+ //# sourceMappingURL=useBusinessDepositCalculatorParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBusinessDepositCalculatorParams.js","sourceRoot":"","sources":["../../../src/components/Calculator/useBusinessDepositCalculatorParams.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,0CAA0C,GAC3C,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AA8BpE,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,eAAyD,EACzD,UAA0B,EACO,EAAE;IACnC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,wBAAwB,EAAE,GAC3F,eAAe,CAAC;IAClB,MAAM,kBAAkB,GAAG,aAAa,IAAI,mBAAmB,CAAC;IAChE,MAAM,0BAA0B,GAC9B,SAAS,GAAG,2BAA2B,IAAI,SAAS,GAAG,2BAA2B,CAAC;IAErF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAErD,IAAI,SAAS,IAAI,sBAAsB,EAAE;QACvC,OAAO;YACL,GAAG,0CAA0C;YAC7C,GAAG,eAAe;YAClB,0BAA0B;YAC1B,mBAAmB,EAAE,IAAI;SAC1B,CAAC;KACH;IACD,MAAM,yCAAyC,GAC7C,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,OAAO,CACL,wBAAwB,KAAK,CAAC,CAAC,wBAAwB;YACvD,uBAAuB,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC9C,gBAAgB,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,gBAAgB,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CACvD,CAAC;IACJ,CAAC,CAAC,IAAI,0CAA0C,CAAC;IAEnD,MAAM,EAAE,IAAI,EAAE,GAAG,yCAAyC,CAAC;IAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IACrC,MAAM,cAAc,GAAG,QAAQ,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAEhF,OAAO;QACL,GAAG,yCAAyC;QAC5C,GAAG,cAAc,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC;QACvD,GAAG,cAAc,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,cAAc,CAAC;QACzD,GAAG,eAAe;QAClB,0BAA0B;QAC1B,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC9B,kBAA2B,EAC3B,aAAwD,EACxD,EAAE,CACF,kBAAkB;IAChB,CAAC,CAAC,aAAa,CAAC,aAAa,IAAI,aAAa,CAAC,mBAAmB;IAClE,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;AAEzE,MAAM,gBAAgB,GAAG,CACvB,IAAY,EACZ,eAAyD,EACzD,EAAE;IACF,MAAM,EAAE,wBAAwB,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;IAE5E;;MAEE;IACF,IAAI,wBAAwB,EAAE;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,SAAS,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;KAC7F;SAAM;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;KAChE;AACH,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type RateParamsDef } from './CalculatorContent';
2
+ import { type BusinessDepositCalculatorSourceBookParams } from './useBusinessDepositCalculatorParams';
3
+ export declare type BusinessDepositCalculatorData = BusinessDepositCalculatorSourceBookParams[];
4
+ export declare function useBusinessDepositRates(rateParams?: RateParamsDef): BusinessDepositCalculatorData;
@@ -0,0 +1,12 @@
1
+ import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
2
+ import { fetchJSONUnsafe } from '../../utils/fetchJSON.js';
3
+ const DEPOSIT_RATES_SERVICE_MAP = {
4
+ UL: 'businessdepositrates',
5
+ IP: 'selfemployeddepositrates',
6
+ };
7
+ export function useBusinessDepositRates(rateParams) {
8
+ const serviceName = rateParams?.rateType ? DEPOSIT_RATES_SERVICE_MAP[rateParams?.rateType] : '';
9
+ const { data } = useAsyncData(serviceName ? `/api/v1/depositrates/${serviceName}` : null, fetchJSONUnsafe);
10
+ return Array.isArray(data) ? data : [];
11
+ }
12
+ //# sourceMappingURL=useBusinessDepositRates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBusinessDepositRates.js","sourceRoot":"","sources":["../../../src/components/Calculator/useBusinessDepositRates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,eAAe,EAA4B,MAAM,uBAAuB,CAAC;AAIlF,MAAM,yBAAyB,GAAG;IAChC,EAAE,EAAE,sBAAsB;IAC1B,EAAE,EAAE,0BAA0B;CAC/B,CAAC;AAIF,MAAM,UAAU,uBAAuB,CAAC,UAA0B;IAChE,MAAM,WAAW,GAAG,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhG,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAC3B,WAAW,CAAC,CAAC,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAC1D,eAAqE,CACtE,CAAC;IAEF,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACzC,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { type JSONRefObject } from '../../data/JSONRefObject';
3
2
  import { useForm, type FormFieldRegisterer } from '../../hooks/useForm';
4
3
  import { Checkbox } from '../../ui-kit/Checkbox/Checkbox';
5
4
  import { renderButtonsSection } from '../../ui-kit/LinkButton/renderButtonsSection';
@@ -8,22 +7,20 @@ import { type BusinessDepositCalculatorProps } from './CalculatorContent';
8
7
  import { CalculatorFormLayout } from './CalculatorFormLayout';
9
8
  import { CalculatorValueBlock } from './CalculatorValueBlock';
10
9
  import { BUSINESS_DEFAULT_DAYS, BUSINESS_DEFAULT_SUM } from './constants';
11
- import {
12
- getBusinessDepositCalculatorParams,
13
- type BusinessDepositCalculatorData,
14
- type BusinessDepositCalculatorParams,
15
- type BusinessDepositCalculatorUserInputParams,
16
- } from './getBusinessDepositCalculatorParams';
17
10
  import { getMoneyDefaultValue, getMonthsDefaultValue } from './getDefaultValues';
18
11
  import { renderDaysInput } from './renderDaysInput';
19
12
  import { renderFootnote } from './renderFootnote';
20
13
  import { renderInterestPayment } from './renderInterestPayment';
21
14
  import { renderRate } from './renderRate';
22
15
  import { renderWantedSumInput } from './renderWantedSumInput';
16
+ import {
17
+ useBusinessDepositCalculatorParams,
18
+ type BusinessDepositCalculatorParams,
19
+ type BusinessDepositCalculatorUserInputParams,
20
+ } from './useBusinessDepositCalculatorParams';
23
21
 
24
22
  export interface BusinessDepositCalculatorProp extends BusinessDepositCalculatorProps {
25
23
  className?: string;
26
- calcSource?: BusinessDepositCalculatorData & JSONRefObject;
27
24
  }
28
25
 
29
26
  export const BusinessDepositCalculatorForm = JSX<BusinessDepositCalculatorProp>(
@@ -34,7 +31,7 @@ export const BusinessDepositCalculatorForm = JSX<BusinessDepositCalculatorProp>(
34
31
  bottomFootnote,
35
32
  isShowDepositeName,
36
33
  defaultParams,
37
- calcSource,
34
+ rateParams,
38
35
  }) => {
39
36
  const [userInputParams, { field }] = useForm({
40
37
  moneyValue: getMoneyDefaultValue(defaultParams, BUSINESS_DEFAULT_SUM),
@@ -43,7 +40,7 @@ export const BusinessDepositCalculatorForm = JSX<BusinessDepositCalculatorProp>(
43
40
  isPartialWithdrawal: Boolean(defaultParams?.isPartialWithdrawal),
44
41
  isMonthlyInterestPayment: Boolean(defaultParams?.isMonthlyInterestPayment),
45
42
  });
46
- const calculatorParams = getBusinessDepositCalculatorParams(userInputParams, calcSource);
43
+ const calculatorParams = useBusinessDepositCalculatorParams(userInputParams, rateParams);
47
44
  const { income, finalSum, rate, isUnavailableByTerm, depositeName } = calculatorParams;
48
45
 
49
46
  return (
@@ -5,6 +5,34 @@ import { type HeadlineCommonProps, type TitleProps } from '../../model/HeadlineT
5
5
  import { type IconProps } from '../../model/Picture';
6
6
  import { type ButtonsSectionContent } from '../../ui-kit/LinkButton/ButtonsSectionContent';
7
7
 
8
+ /**
9
+ * @title ЮЛ
10
+ * @default {"rateType": "UL"}
11
+ */
12
+ export type ULRateDef = {
13
+ rateType: 'UL';
14
+ };
15
+
16
+ /**
17
+ * @title ИП
18
+ * @default {"rateType": "IP"}
19
+ */
20
+ export type IPRateDef = {
21
+ rateType: 'IP';
22
+ };
23
+
24
+ /** @title Не выбрано * */
25
+ export type EmptyRateParams = {
26
+ /** @default "" */
27
+ rateType: '';
28
+ };
29
+
30
+ /**
31
+ * @title Назначение ставки
32
+ * @default {"rateType": ""}
33
+ */
34
+ export type RateParamsDef = EmptyRateParams | ULRateDef | IPRateDef;
35
+
8
36
  export type CommonCalculatorProps = Footnote &
9
37
  ButtonsSectionContent & {
10
38
  /** @title Данные калькулятора */
@@ -92,7 +120,9 @@ export interface BusinessDepositDefaultParams extends CommonDefaultParams {
92
120
  isMonthlyInterestPayment?: boolean;
93
121
  }
94
122
 
95
- export interface BusinessDepositCalculatorProps extends CommonCalculatorProps {
123
+ export interface BusinessDepositCalculatorProps extends Footnote, ButtonsSectionContent {
124
+ /** @title Ставка для */
125
+ rateParams?: RateParamsDef;
96
126
  /** @title Сноска снизу блока */
97
127
  bottomFootnote?: string;
98
128
  /** @title Показывать название депозита */
@@ -1,8 +1,8 @@
1
1
  import { type BonusCalculatorData } from './getBonusCalculatorParams';
2
- import { type BusinessDepositCalculatorSourceBookParams } from './getBusinessDepositCalculatorParams';
3
2
  import { type CreditCalculatorSourceBookRateParams } from './getCreditCalculatorParams';
4
3
  import { type DepositCalculatorSourceBookParams } from './getDepositCalculatorParams';
5
4
  import { type RefinancingCalculatorSourceBookRateParams } from './getRefinancingCalculatorParams';
5
+ import { type BusinessDepositCalculatorSourceBookParams } from './useBusinessDepositCalculatorParams';
6
6
 
7
7
  export const DEFAULT_MIN_SUM = 10000;
8
8
  export const DEFAULT_MAX_SUM = 5000000;