@redneckz/wildless-cms-uni-blocks 0.13.7 → 0.13.8

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 (134) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +46 -49
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/Calculator/UnknownRate.d.ts +1 -0
  5. package/bundle/components/Calculator/renderRate.d.ts +2 -1
  6. package/bundle/components/Calculator/useBusinessDepositCalculatorParams.d.ts +1 -1
  7. package/bundle/components/Carousel/CarouselContent.d.ts +2 -2
  8. package/dist/components/Calculator/BusinessDepositCalculatorForm.js +9 -9
  9. package/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  10. package/dist/components/Calculator/RefinancingCalculatorForm.js +6 -3
  11. package/dist/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  12. package/dist/components/Calculator/UnknownRate.d.ts +1 -0
  13. package/dist/components/Calculator/UnknownRate.js +1 -1
  14. package/dist/components/Calculator/UnknownRate.js.map +1 -1
  15. package/dist/components/Calculator/constants.js +2 -2
  16. package/dist/components/Calculator/constants.js.map +1 -1
  17. package/dist/components/Calculator/renderRate.d.ts +2 -1
  18. package/dist/components/Calculator/renderRate.js +5 -5
  19. package/dist/components/Calculator/renderRate.js.map +1 -1
  20. package/dist/components/Calculator/useBusinessDepositCalculatorParams.d.ts +1 -1
  21. package/dist/components/Calculator/useBusinessDepositCalculatorParams.js +1 -1
  22. package/dist/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
  23. package/dist/components/Calculator/useCreditCalculatorParams.js +1 -4
  24. package/dist/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  25. package/dist/components/Calculator/useRefinancingCalculatorParams.js +4 -11
  26. package/dist/components/Calculator/useRefinancingCalculatorParams.js.map +1 -1
  27. package/dist/components/Carousel/CarouselContent.d.ts +2 -2
  28. package/dist/components/Carousel/renderCarouselCards.js +1 -0
  29. package/dist/components/Carousel/renderCarouselCards.js.map +1 -1
  30. package/dist/ui-kit/InputRange/renderRangeWithTicks.js +2 -1
  31. package/dist/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
  32. package/lib/common.css +1 -1
  33. package/lib/components/Calculator/BusinessDepositCalculatorForm.js +9 -9
  34. package/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  35. package/lib/components/Calculator/RefinancingCalculatorForm.js +6 -3
  36. package/lib/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  37. package/lib/components/Calculator/UnknownRate.d.ts +1 -0
  38. package/lib/components/Calculator/UnknownRate.js +1 -1
  39. package/lib/components/Calculator/UnknownRate.js.map +1 -1
  40. package/lib/components/Calculator/constants.js +2 -2
  41. package/lib/components/Calculator/constants.js.map +1 -1
  42. package/lib/components/Calculator/renderRate.d.ts +2 -1
  43. package/lib/components/Calculator/renderRate.js +5 -5
  44. package/lib/components/Calculator/renderRate.js.map +1 -1
  45. package/lib/components/Calculator/useBusinessDepositCalculatorParams.d.ts +1 -1
  46. package/lib/components/Calculator/useBusinessDepositCalculatorParams.js +1 -1
  47. package/lib/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
  48. package/lib/components/Calculator/useCreditCalculatorParams.js +1 -4
  49. package/lib/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  50. package/lib/components/Calculator/useRefinancingCalculatorParams.js +4 -11
  51. package/lib/components/Calculator/useRefinancingCalculatorParams.js.map +1 -1
  52. package/lib/components/Carousel/CarouselContent.d.ts +2 -2
  53. package/lib/components/Carousel/renderCarouselCards.js +1 -0
  54. package/lib/components/Carousel/renderCarouselCards.js.map +1 -1
  55. package/lib/ui-kit/InputRange/renderRangeWithTicks.js +2 -1
  56. package/lib/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
  57. package/mobile/bundle/bundle.umd.js +46 -49
  58. package/mobile/bundle/bundle.umd.min.js +1 -1
  59. package/mobile/bundle/components/Calculator/UnknownRate.d.ts +1 -0
  60. package/mobile/bundle/components/Calculator/renderRate.d.ts +2 -1
  61. package/mobile/bundle/components/Calculator/useBusinessDepositCalculatorParams.d.ts +1 -1
  62. package/mobile/bundle/components/Carousel/CarouselContent.d.ts +2 -2
  63. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js +9 -9
  64. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  65. package/mobile/dist/components/Calculator/RefinancingCalculatorForm.js +6 -3
  66. package/mobile/dist/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  67. package/mobile/dist/components/Calculator/UnknownRate.d.ts +1 -0
  68. package/mobile/dist/components/Calculator/UnknownRate.js +1 -1
  69. package/mobile/dist/components/Calculator/UnknownRate.js.map +1 -1
  70. package/mobile/dist/components/Calculator/constants.js +2 -2
  71. package/mobile/dist/components/Calculator/constants.js.map +1 -1
  72. package/mobile/dist/components/Calculator/renderRate.d.ts +2 -1
  73. package/mobile/dist/components/Calculator/renderRate.js +5 -5
  74. package/mobile/dist/components/Calculator/renderRate.js.map +1 -1
  75. package/mobile/dist/components/Calculator/useBusinessDepositCalculatorParams.d.ts +1 -1
  76. package/mobile/dist/components/Calculator/useBusinessDepositCalculatorParams.js +1 -1
  77. package/mobile/dist/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
  78. package/mobile/dist/components/Calculator/useCreditCalculatorParams.js +1 -4
  79. package/mobile/dist/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  80. package/mobile/dist/components/Calculator/useRefinancingCalculatorParams.js +4 -11
  81. package/mobile/dist/components/Calculator/useRefinancingCalculatorParams.js.map +1 -1
  82. package/mobile/dist/components/Carousel/CarouselContent.d.ts +2 -2
  83. package/mobile/dist/components/Carousel/renderCarouselCards.js +1 -0
  84. package/mobile/dist/components/Carousel/renderCarouselCards.js.map +1 -1
  85. package/mobile/dist/ui-kit/InputRange/renderRangeWithTicks.js +2 -1
  86. package/mobile/dist/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
  87. package/mobile/lib/common.css +1 -1
  88. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js +9 -9
  89. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  90. package/mobile/lib/components/Calculator/RefinancingCalculatorForm.js +6 -3
  91. package/mobile/lib/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  92. package/mobile/lib/components/Calculator/UnknownRate.d.ts +1 -0
  93. package/mobile/lib/components/Calculator/UnknownRate.js +1 -1
  94. package/mobile/lib/components/Calculator/UnknownRate.js.map +1 -1
  95. package/mobile/lib/components/Calculator/constants.js +2 -2
  96. package/mobile/lib/components/Calculator/constants.js.map +1 -1
  97. package/mobile/lib/components/Calculator/renderRate.d.ts +2 -1
  98. package/mobile/lib/components/Calculator/renderRate.js +5 -5
  99. package/mobile/lib/components/Calculator/renderRate.js.map +1 -1
  100. package/mobile/lib/components/Calculator/useBusinessDepositCalculatorParams.d.ts +1 -1
  101. package/mobile/lib/components/Calculator/useBusinessDepositCalculatorParams.js +1 -1
  102. package/mobile/lib/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
  103. package/mobile/lib/components/Calculator/useCreditCalculatorParams.js +1 -4
  104. package/mobile/lib/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  105. package/mobile/lib/components/Calculator/useRefinancingCalculatorParams.js +4 -11
  106. package/mobile/lib/components/Calculator/useRefinancingCalculatorParams.js.map +1 -1
  107. package/mobile/lib/components/Carousel/CarouselContent.d.ts +2 -2
  108. package/mobile/lib/components/Carousel/renderCarouselCards.js +1 -0
  109. package/mobile/lib/components/Carousel/renderCarouselCards.js.map +1 -1
  110. package/mobile/lib/ui-kit/InputRange/renderRangeWithTicks.js +2 -1
  111. package/mobile/lib/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
  112. package/mobile/src/components/Calculator/BusinessDepositCalculatorForm.tsx +11 -11
  113. package/mobile/src/components/Calculator/RefinancingCalculatorForm.tsx +6 -9
  114. package/mobile/src/components/Calculator/UnknownRate.tsx +24 -14
  115. package/mobile/src/components/Calculator/constants.ts +2 -2
  116. package/mobile/src/components/Calculator/renderRate.tsx +13 -6
  117. package/mobile/src/components/Calculator/useBusinessDepositCalculatorParams.ts +2 -2
  118. package/mobile/src/components/Calculator/useCreditCalculatorParams.ts +1 -5
  119. package/mobile/src/components/Calculator/useRefinancingCalculatorParams.ts +5 -23
  120. package/mobile/src/components/Carousel/CarouselContent.ts +2 -2
  121. package/mobile/src/components/Carousel/renderCarouselCards.tsx +1 -0
  122. package/mobile/src/ui-kit/InputRange/renderRangeWithTicks.tsx +2 -1
  123. package/package.json +1 -1
  124. package/src/components/Calculator/BusinessDepositCalculatorForm.tsx +11 -11
  125. package/src/components/Calculator/RefinancingCalculatorForm.tsx +6 -9
  126. package/src/components/Calculator/UnknownRate.tsx +24 -14
  127. package/src/components/Calculator/constants.ts +2 -2
  128. package/src/components/Calculator/renderRate.tsx +13 -6
  129. package/src/components/Calculator/useBusinessDepositCalculatorParams.ts +2 -2
  130. package/src/components/Calculator/useCreditCalculatorParams.ts +1 -5
  131. package/src/components/Calculator/useRefinancingCalculatorParams.ts +5 -23
  132. package/src/components/Carousel/CarouselContent.ts +2 -2
  133. package/src/components/Carousel/renderCarouselCards.tsx +1 -0
  134. package/src/ui-kit/InputRange/renderRangeWithTicks.tsx +2 -1
@@ -1,21 +1,21 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import { FormFieldRegisterer, useForm } from '../../hooks/useForm';
2
3
  import { renderButtonsSection } from '../../ui-kit/Button/renderButtonsSection';
4
+ import { Checkbox } from '../../ui-kit/Checkbox/Checkbox';
5
+ import { style } from '../../utils/style';
3
6
  import type { BusinessDepositCalculatorProps } from './CalculatorContent';
4
- import { renderFootnote } from './renderFootnote';
5
- import { FormFieldRegisterer, useForm } from '../../hooks/useForm';
7
+ import { CalculatorValueBlock } from './CalculatorValueBlock';
6
8
  import { BUSINESS_DEFAULT_DAYS, BUSINESS_DEFAULT_SUM } from './constants';
9
+ import { renderDaysInput } from './renderDaysInput';
10
+ import { renderFootnote } from './renderFootnote';
11
+ import { renderInterestPayment } from './renderInterestPayment';
12
+ import { renderRate } from './renderRate';
13
+ import { renderWantedSumInput } from './renderWantedSumInput';
7
14
  import {
8
15
  BusinessDepositCalculatorParams,
9
16
  BusinessDepositCalculatorUserInputParams,
10
17
  useBusinessDepositCalculatorParams,
11
18
  } from './useBusinessDepositCalculatorParams';
12
- import { renderWantedSumInput } from './renderWantedSumInput';
13
- import { renderDaysInput } from './renderDaysInput';
14
- import { renderInterestPayment } from './renderInterestPayment';
15
- import { CalculatorValueBlock } from './CalculatorValueBlock';
16
- import { renderRate } from './renderRate';
17
- import { Checkbox } from '../../ui-kit/Checkbox/Checkbox';
18
- import { style } from '../../utils/style';
19
19
 
20
20
  export interface BusinessDepositCalculatorProp extends BusinessDepositCalculatorProps {
21
21
  className?: string;
@@ -33,7 +33,7 @@ export const BusinessDepositCalculatorForm = JSX<BusinessDepositCalculatorProp>(
33
33
  });
34
34
 
35
35
  const calculatorParams = useBusinessDepositCalculatorParams(userInputParams, sourceBookDir);
36
- const { income, finalSum, rate, isShowUnknownRate, depositeName } = calculatorParams;
36
+ const { income, finalSum, rate, isUnavailableByTerm, depositeName } = calculatorParams;
37
37
 
38
38
  return (
39
39
  <section className={style('flex flex-col justify-between sm:flex-row gap-m', className)}>
@@ -65,7 +65,7 @@ export const BusinessDepositCalculatorForm = JSX<BusinessDepositCalculatorProp>(
65
65
  rate,
66
66
  depositeName,
67
67
  isShowDepositeName,
68
- isShowUnknownRate,
68
+ isUnavailableByTerm,
69
69
  })}
70
70
  <div className="flex flex-col gap-2xl sm:w-96">
71
71
  {renderDepositResults(finalSum, income)}
@@ -14,15 +14,15 @@ import {
14
14
  REFINANCING_DEFAULT_SUM,
15
15
  REFINANCING_OLD_DEFAULT_SUM,
16
16
  } from './constants';
17
- import { Rate } from './Rate';
18
17
  import { renderFootnote } from './renderFootnote';
19
18
  import { renderMonthsInput } from './renderMonthsInput';
19
+ import { renderPaymentType } from './renderPaymentType';
20
+ import { renderRate } from './renderRate';
20
21
  import { renderWantedSumInput } from './renderWantedSumInput';
21
22
  import {
22
23
  RefinancingCalculatorParams,
23
24
  useRefinancingCalculatorParams,
24
25
  } from './useRefinancingCalculatorParams';
25
- import { renderPaymentType } from './renderPaymentType';
26
26
 
27
27
  export interface RefinancingCalculatorProp extends RefinancingCalculatorProps {
28
28
  className?: string;
@@ -86,13 +86,10 @@ export const RefinancingCalculatorForm = JSX<RefinancingCalculatorProp>(
86
86
  })
87
87
  : null}
88
88
  </div>
89
- <Rate
90
- title="Ставка"
91
- rate={calculatorParams.rate}
92
- fractionDigits={1}
93
- rateBlockClassName="tracking-[-25px]"
94
- unit="%"
95
- />
89
+ {renderRate({
90
+ rate: calculatorParams.rate,
91
+ fractionDigits: 1,
92
+ })}
96
93
  <div className="flex flex-col gap-2xl sm:w-96">
97
94
  <CalculatorValueBlock
98
95
  title={'Ежемесячный платеж'}
@@ -5,20 +5,30 @@ import { Text } from '../../ui-kit/Text/Text';
5
5
 
6
6
  export interface UnknownRateProps {
7
7
  title?: string;
8
+ isUnavailableByTerm?: boolean;
8
9
  }
9
10
 
10
- export const UnknownRate = JSX<UnknownRateProps>(({ title = 'Ставка' }) => (
11
- <div>
12
- <Text size="text-l" font="font-light" color="text-secondary-text">
13
- {title}
14
- </Text>
15
- <div className="mt-2xs pt-2xs pl-lg pb-xs">
16
- <Icon name="PercentIcon" width="90" height="85" />
11
+ export const UnknownRate = JSX<UnknownRateProps>(
12
+ ({ title = 'Ставка', isUnavailableByTerm = false }) => (
13
+ <div>
14
+ <Text size="text-l" font="font-light" color="text-secondary-text">
15
+ {title}
16
+ </Text>
17
+ <div className="mt-2xs pt-2xs pl-lg pb-xs">
18
+ <Icon name="PercentIcon" width="90" height="85" />
19
+ </div>
20
+ <div className="w-64 mt-m">
21
+ {isUnavailableByTerm ? (
22
+ <Paragraph size="text-xl" font="font-light" color="text-primary-text">
23
+ Процентная ставка для срока <strong>1-30 дней</strong> устанавливается при обращении в
24
+ Банк
25
+ </Paragraph>
26
+ ) : (
27
+ <Paragraph size="text-xl" font="font-light" color="text-primary-text">
28
+ Выберите другую сумму или срок
29
+ </Paragraph>
30
+ )}
31
+ </div>
17
32
  </div>
18
- <div className="w-64 mt-m">
19
- <Paragraph size="text-xl" font="font-light" color="text-primary-text">
20
- Процентная ставка для срока <strong>1-30 дней</strong> устанавливается при обращении в Банк
21
- </Paragraph>
22
- </div>
23
- </div>
24
- ));
33
+ ),
34
+ );
@@ -36,7 +36,7 @@ export const DEFAULT_CREDIT_CALCULATOR_PARAMS: CreditCalculatorSourceBookRatePar
36
36
  maxSum: DEFAULT_MAX_SUM,
37
37
  minMonths: DEFAULT_MIN_MONTHS,
38
38
  maxMonths: DEFAULT_MAX_MONTHS,
39
- rate: 12.5,
39
+ rate: 0,
40
40
  isSalaryClient: false,
41
41
  isPensionClient: false,
42
42
  isStateEmployee: false,
@@ -52,7 +52,7 @@ export const DEFAULT_REFINANCING_CALCULATOR_PARAMS: RefinancingCalculatorSourceB
52
52
  maxSumExtra: REFINANCING_EXTRA_MAX_SUM,
53
53
  minMonths: DEFAULT_REFINANCING_MIN_MONTHS,
54
54
  maxMonths: DEFAULT_MAX_MONTHS,
55
- rate: 7.5,
55
+ rate: 0,
56
56
  isExtraMoney: false,
57
57
  isSalaryClient: false,
58
58
  isInsurance: true,
@@ -1,18 +1,25 @@
1
- import { UnknownRate } from './UnknownRate';
2
- import { Rate } from './Rate';
3
1
  import { CalculatorValueBlock } from './CalculatorValueBlock';
2
+ import { Rate } from './Rate';
3
+ import { UnknownRate } from './UnknownRate';
4
4
 
5
5
  interface RenderRateProps {
6
6
  rate: number;
7
7
  depositeName?: string;
8
- isShowUnknownRate?: boolean;
8
+ isUnavailableByTerm?: boolean;
9
9
  isShowDepositeName?: boolean;
10
+ fractionDigits?: number;
10
11
  }
11
12
 
12
- const renderDesktopRate = ({ rate, depositeName, isShowDepositeName }: RenderRateProps) => (
13
+ const renderDesktopRate = ({
14
+ rate,
15
+ depositeName,
16
+ fractionDigits,
17
+ isShowDepositeName,
18
+ }: RenderRateProps) => (
13
19
  <Rate
14
20
  rate={rate}
15
21
  depositeName={depositeName}
22
+ fractionDigits={fractionDigits}
16
23
  isShowDepositeName={isShowDepositeName}
17
24
  rateBlockClassName="tracking-[-25px]"
18
25
  unit="%"
@@ -24,8 +31,8 @@ const renderMobileRate = ({ rate }: RenderRateProps) => (
24
31
  );
25
32
 
26
33
  export const renderRate = (props: RenderRateProps) => {
27
- if (props.isShowUnknownRate) {
28
- return <UnknownRate />;
34
+ if (props.rate === 0) {
35
+ return <UnknownRate isUnavailableByTerm={props.isUnavailableByTerm} />;
29
36
  }
30
37
 
31
38
  return (
@@ -34,7 +34,7 @@ export interface BusinessDepositCalculatorParams
34
34
  income?: number;
35
35
  finalSum?: number;
36
36
  isDisabledOperatingDeposit?: boolean;
37
- isShowUnknownRate?: boolean;
37
+ isUnavailableByTerm?: boolean;
38
38
  }
39
39
 
40
40
  export type BusinessDepositCalculatorData = {
@@ -66,7 +66,7 @@ export const useBusinessDepositCalculatorParams = (
66
66
  ...DEFAULT_BUSINESS_DEPOSIT_CALCULATOR_PARAMS,
67
67
  ...userInputParams,
68
68
  isDisabledOperatingDeposit,
69
- isShowUnknownRate: true,
69
+ isUnavailableByTerm: true,
70
70
  };
71
71
  }
72
72
  const businessDepositCalculatorSourceBookParams =
@@ -1,5 +1,4 @@
1
1
  import { useMemo } from '@redneckz/uni-jsx/lib/hooks';
2
- import { clamp } from '../../utils/clamp';
3
2
  import type { CreditCalculatorParamsViewSettings } from './CalculatorContent';
4
3
  import { CREDIT_CALC_DEFAULT_DIR, DEFAULT_CREDIT_CALCULATOR_PARAMS } from './constants';
5
4
  import { getCreditCalculatorLimitParams } from './getCreditCalculatorLimitParams';
@@ -51,7 +50,7 @@ export const useCreditCalculatorParams = (
51
50
  sourceBookDir?: string,
52
51
  paramsViewSettings?: CreditCalculatorParamsViewSettings,
53
52
  ): CreditCalculatorParams => {
54
- let { moneyValue, monthsValue } = userInputParams;
53
+ const { moneyValue, monthsValue } = userInputParams;
55
54
  const data = useCalculatorParams<CreditCalculatorData>(sourceBookDir || CREDIT_CALC_DEFAULT_DIR);
56
55
  const rateRows = data?.rateRows || [DEFAULT_CREDIT_CALCULATOR_PARAMS];
57
56
  const limitRows = data?.limitRows || [];
@@ -72,9 +71,6 @@ export const useCreditCalculatorParams = (
72
71
  rateRows,
73
72
  );
74
73
 
75
- moneyValue = clamp(moneyValue, minSum, maxSum);
76
- monthsValue = clamp(monthsValue, minMonths, maxMonths);
77
-
78
74
  const creditCalculatorRateParams = getCreditCalculatorRateParams({
79
75
  rateRows,
80
76
  userInputParams,
@@ -1,12 +1,11 @@
1
1
  import { useMemo } from '@redneckz/uni-jsx/lib/hooks';
2
- import { clamp } from '../../utils/clamp';
3
- import { DEFAULT_REFINANCING_CALCULATOR_PARAMS, REFINANCING_CALC_DEFAULT_DIR } from './constants';
4
- import { getLimitRangeByKeys } from './rangeHelpers';
5
- import { useCalculatorParams } from './useCalculatorParams';
6
2
  import { RefinancingCalculatorParamsViewSettings } from './CalculatorContent';
3
+ import { DEFAULT_REFINANCING_CALCULATOR_PARAMS, REFINANCING_CALC_DEFAULT_DIR } from './constants';
4
+ import { getMonthlyPayment } from './getMonthlyPayment';
7
5
  import { getRefinancingCalculatorLimitParams } from './getRefinancingCalculatorLimitParams';
8
6
  import { getRefinancingCalculatorRateParams } from './getRefinancingCalculatorRateParams';
9
- import { getMonthlyPayment } from './getMonthlyPayment';
7
+ import { getLimitRangeByKeys } from './rangeHelpers';
8
+ import { useCalculatorParams } from './useCalculatorParams';
10
9
 
11
10
  export interface CommonRefinancingParams {
12
11
  isSalaryClient: boolean;
@@ -61,7 +60,7 @@ export const useRefinancingCalculatorParams = (
61
60
  sourceBookDir?: string,
62
61
  paramsViewSettings?: RefinancingCalculatorParamsViewSettings,
63
62
  ): RefinancingCalculatorParams => {
64
- let { moneyValue, monthsValue, oldMonthlyPayment, moneyExtra } = userInputParams;
63
+ const { moneyValue, monthsValue, oldMonthlyPayment, moneyExtra } = userInputParams;
65
64
  const data = useCalculatorParams<RefinancingCalculatorData>(
66
65
  sourceBookDir || REFINANCING_CALC_DEFAULT_DIR,
67
66
  );
@@ -79,29 +78,12 @@ export const useRefinancingCalculatorParams = (
79
78
  rateRows,
80
79
  );
81
80
 
82
- const { minSumOld, maxSumOld } = getLimitRangeByKeys(
83
- ['minSumOld', 'maxSumOld'],
84
- sourceBookLimitParams,
85
- rateRows,
86
- );
87
-
88
- const { minSumExtra, maxSumExtra } = getLimitRangeByKeys(
89
- ['minSumExtra', 'maxSumExtra'],
90
- sourceBookLimitParams,
91
- rateRows,
92
- );
93
-
94
81
  const { minMonths, maxMonths } = getLimitRangeByKeys(
95
82
  ['minMonths', 'maxMonths'],
96
83
  sourceBookLimitParams,
97
84
  rateRows,
98
85
  );
99
86
 
100
- moneyValue = clamp(moneyValue, minSum, maxSum);
101
- oldMonthlyPayment = clamp(oldMonthlyPayment, minSumOld, maxSumOld);
102
- moneyExtra = clamp(moneyExtra, minSumExtra, maxSumExtra);
103
- monthsValue = clamp(monthsValue, minMonths, maxMonths);
104
-
105
87
  const refinancingCalculatorSourceBookRateParams = getRefinancingCalculatorRateParams({
106
88
  rateRows,
107
89
  userInputParams,
@@ -2,9 +2,9 @@ import type { UniBlockContent } from '../../model/JSXBlock';
2
2
 
3
3
  /**
4
4
  * @title Размер карточек
5
- * @enumNames ["Нормальный", "Большой"]
5
+ * @enumNames ["Маленький", "Нормальный", "Большой"]
6
6
  */
7
- export type CardSizeMode = 'normal' | 'big';
7
+ export type CardSizeMode = 'small' | 'normal' | 'big';
8
8
 
9
9
  /**
10
10
  * @title Карусель
@@ -10,6 +10,7 @@ import type { CardSizeMode } from './CarouselContent';
10
10
  const cardBaseStyle = 'relative h-full';
11
11
 
12
12
  const CARD_SIZE_MAP: Record<CardSizeMode, string> = {
13
+ small: 'sm:min-w-64',
13
14
  normal: 'sm:min-w-96',
14
15
  big: 'sm:min-w-[515px]',
15
16
  };
@@ -20,8 +20,9 @@ export function renderRangeWithTicks({
20
20
  onChange,
21
21
  }: RangeWithTicksProps) {
22
22
  const rangeValue = list.length ? list.indexOf(value) : value;
23
+ const rangeValueShift = rangeValue > min ? rangeValue - min : 0;
23
24
  const inputStyle = {
24
- backgroundSize: `${(((rangeValue - min) * 100) / (max - min)).toFixed(2)}% 100%`,
25
+ backgroundSize: `${((rangeValueShift * 100) / (max - min)).toFixed(2)}% 100%`,
25
26
  };
26
27
 
27
28
  return (
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.13.7",
3
+ "version": "0.13.8",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -1,21 +1,21 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import { FormFieldRegisterer, useForm } from '../../hooks/useForm';
2
3
  import { renderButtonsSection } from '../../ui-kit/Button/renderButtonsSection';
4
+ import { Checkbox } from '../../ui-kit/Checkbox/Checkbox';
5
+ import { style } from '../../utils/style';
3
6
  import type { BusinessDepositCalculatorProps } from './CalculatorContent';
4
- import { renderFootnote } from './renderFootnote';
5
- import { FormFieldRegisterer, useForm } from '../../hooks/useForm';
7
+ import { CalculatorValueBlock } from './CalculatorValueBlock';
6
8
  import { BUSINESS_DEFAULT_DAYS, BUSINESS_DEFAULT_SUM } from './constants';
9
+ import { renderDaysInput } from './renderDaysInput';
10
+ import { renderFootnote } from './renderFootnote';
11
+ import { renderInterestPayment } from './renderInterestPayment';
12
+ import { renderRate } from './renderRate';
13
+ import { renderWantedSumInput } from './renderWantedSumInput';
7
14
  import {
8
15
  BusinessDepositCalculatorParams,
9
16
  BusinessDepositCalculatorUserInputParams,
10
17
  useBusinessDepositCalculatorParams,
11
18
  } from './useBusinessDepositCalculatorParams';
12
- import { renderWantedSumInput } from './renderWantedSumInput';
13
- import { renderDaysInput } from './renderDaysInput';
14
- import { renderInterestPayment } from './renderInterestPayment';
15
- import { CalculatorValueBlock } from './CalculatorValueBlock';
16
- import { renderRate } from './renderRate';
17
- import { Checkbox } from '../../ui-kit/Checkbox/Checkbox';
18
- import { style } from '../../utils/style';
19
19
 
20
20
  export interface BusinessDepositCalculatorProp extends BusinessDepositCalculatorProps {
21
21
  className?: string;
@@ -33,7 +33,7 @@ export const BusinessDepositCalculatorForm = JSX<BusinessDepositCalculatorProp>(
33
33
  });
34
34
 
35
35
  const calculatorParams = useBusinessDepositCalculatorParams(userInputParams, sourceBookDir);
36
- const { income, finalSum, rate, isShowUnknownRate, depositeName } = calculatorParams;
36
+ const { income, finalSum, rate, isUnavailableByTerm, depositeName } = calculatorParams;
37
37
 
38
38
  return (
39
39
  <section className={style('flex flex-col justify-between sm:flex-row gap-m', className)}>
@@ -65,7 +65,7 @@ export const BusinessDepositCalculatorForm = JSX<BusinessDepositCalculatorProp>(
65
65
  rate,
66
66
  depositeName,
67
67
  isShowDepositeName,
68
- isShowUnknownRate,
68
+ isUnavailableByTerm,
69
69
  })}
70
70
  <div className="flex flex-col gap-2xl sm:w-96">
71
71
  {renderDepositResults(finalSum, income)}
@@ -14,15 +14,15 @@ import {
14
14
  REFINANCING_DEFAULT_SUM,
15
15
  REFINANCING_OLD_DEFAULT_SUM,
16
16
  } from './constants';
17
- import { Rate } from './Rate';
18
17
  import { renderFootnote } from './renderFootnote';
19
18
  import { renderMonthsInput } from './renderMonthsInput';
19
+ import { renderPaymentType } from './renderPaymentType';
20
+ import { renderRate } from './renderRate';
20
21
  import { renderWantedSumInput } from './renderWantedSumInput';
21
22
  import {
22
23
  RefinancingCalculatorParams,
23
24
  useRefinancingCalculatorParams,
24
25
  } from './useRefinancingCalculatorParams';
25
- import { renderPaymentType } from './renderPaymentType';
26
26
 
27
27
  export interface RefinancingCalculatorProp extends RefinancingCalculatorProps {
28
28
  className?: string;
@@ -86,13 +86,10 @@ export const RefinancingCalculatorForm = JSX<RefinancingCalculatorProp>(
86
86
  })
87
87
  : null}
88
88
  </div>
89
- <Rate
90
- title="Ставка"
91
- rate={calculatorParams.rate}
92
- fractionDigits={1}
93
- rateBlockClassName="tracking-[-25px]"
94
- unit="%"
95
- />
89
+ {renderRate({
90
+ rate: calculatorParams.rate,
91
+ fractionDigits: 1,
92
+ })}
96
93
  <div className="flex flex-col gap-2xl sm:w-96">
97
94
  <CalculatorValueBlock
98
95
  title={'Ежемесячный платеж'}
@@ -5,20 +5,30 @@ import { Text } from '../../ui-kit/Text/Text';
5
5
 
6
6
  export interface UnknownRateProps {
7
7
  title?: string;
8
+ isUnavailableByTerm?: boolean;
8
9
  }
9
10
 
10
- export const UnknownRate = JSX<UnknownRateProps>(({ title = 'Ставка' }) => (
11
- <div>
12
- <Text size="text-l" font="font-light" color="text-secondary-text">
13
- {title}
14
- </Text>
15
- <div className="mt-2xs pt-2xs pl-lg pb-xs">
16
- <Icon name="PercentIcon" width="90" height="85" />
11
+ export const UnknownRate = JSX<UnknownRateProps>(
12
+ ({ title = 'Ставка', isUnavailableByTerm = false }) => (
13
+ <div>
14
+ <Text size="text-l" font="font-light" color="text-secondary-text">
15
+ {title}
16
+ </Text>
17
+ <div className="mt-2xs pt-2xs pl-lg pb-xs">
18
+ <Icon name="PercentIcon" width="90" height="85" />
19
+ </div>
20
+ <div className="w-64 mt-m">
21
+ {isUnavailableByTerm ? (
22
+ <Paragraph size="text-xl" font="font-light" color="text-primary-text">
23
+ Процентная ставка для срока <strong>1-30 дней</strong> устанавливается при обращении в
24
+ Банк
25
+ </Paragraph>
26
+ ) : (
27
+ <Paragraph size="text-xl" font="font-light" color="text-primary-text">
28
+ Выберите другую сумму или срок
29
+ </Paragraph>
30
+ )}
31
+ </div>
17
32
  </div>
18
- <div className="w-64 mt-m">
19
- <Paragraph size="text-xl" font="font-light" color="text-primary-text">
20
- Процентная ставка для срока <strong>1-30 дней</strong> устанавливается при обращении в Банк
21
- </Paragraph>
22
- </div>
23
- </div>
24
- ));
33
+ ),
34
+ );
@@ -36,7 +36,7 @@ export const DEFAULT_CREDIT_CALCULATOR_PARAMS: CreditCalculatorSourceBookRatePar
36
36
  maxSum: DEFAULT_MAX_SUM,
37
37
  minMonths: DEFAULT_MIN_MONTHS,
38
38
  maxMonths: DEFAULT_MAX_MONTHS,
39
- rate: 12.5,
39
+ rate: 0,
40
40
  isSalaryClient: false,
41
41
  isPensionClient: false,
42
42
  isStateEmployee: false,
@@ -52,7 +52,7 @@ export const DEFAULT_REFINANCING_CALCULATOR_PARAMS: RefinancingCalculatorSourceB
52
52
  maxSumExtra: REFINANCING_EXTRA_MAX_SUM,
53
53
  minMonths: DEFAULT_REFINANCING_MIN_MONTHS,
54
54
  maxMonths: DEFAULT_MAX_MONTHS,
55
- rate: 7.5,
55
+ rate: 0,
56
56
  isExtraMoney: false,
57
57
  isSalaryClient: false,
58
58
  isInsurance: true,
@@ -1,18 +1,25 @@
1
- import { UnknownRate } from './UnknownRate';
2
- import { Rate } from './Rate';
3
1
  import { CalculatorValueBlock } from './CalculatorValueBlock';
2
+ import { Rate } from './Rate';
3
+ import { UnknownRate } from './UnknownRate';
4
4
 
5
5
  interface RenderRateProps {
6
6
  rate: number;
7
7
  depositeName?: string;
8
- isShowUnknownRate?: boolean;
8
+ isUnavailableByTerm?: boolean;
9
9
  isShowDepositeName?: boolean;
10
+ fractionDigits?: number;
10
11
  }
11
12
 
12
- const renderDesktopRate = ({ rate, depositeName, isShowDepositeName }: RenderRateProps) => (
13
+ const renderDesktopRate = ({
14
+ rate,
15
+ depositeName,
16
+ fractionDigits,
17
+ isShowDepositeName,
18
+ }: RenderRateProps) => (
13
19
  <Rate
14
20
  rate={rate}
15
21
  depositeName={depositeName}
22
+ fractionDigits={fractionDigits}
16
23
  isShowDepositeName={isShowDepositeName}
17
24
  rateBlockClassName="tracking-[-25px]"
18
25
  unit="%"
@@ -24,8 +31,8 @@ const renderMobileRate = ({ rate }: RenderRateProps) => (
24
31
  );
25
32
 
26
33
  export const renderRate = (props: RenderRateProps) => {
27
- if (props.isShowUnknownRate) {
28
- return <UnknownRate />;
34
+ if (props.rate === 0) {
35
+ return <UnknownRate isUnavailableByTerm={props.isUnavailableByTerm} />;
29
36
  }
30
37
 
31
38
  return (
@@ -34,7 +34,7 @@ export interface BusinessDepositCalculatorParams
34
34
  income?: number;
35
35
  finalSum?: number;
36
36
  isDisabledOperatingDeposit?: boolean;
37
- isShowUnknownRate?: boolean;
37
+ isUnavailableByTerm?: boolean;
38
38
  }
39
39
 
40
40
  export type BusinessDepositCalculatorData = {
@@ -66,7 +66,7 @@ export const useBusinessDepositCalculatorParams = (
66
66
  ...DEFAULT_BUSINESS_DEPOSIT_CALCULATOR_PARAMS,
67
67
  ...userInputParams,
68
68
  isDisabledOperatingDeposit,
69
- isShowUnknownRate: true,
69
+ isUnavailableByTerm: true,
70
70
  };
71
71
  }
72
72
  const businessDepositCalculatorSourceBookParams =
@@ -1,5 +1,4 @@
1
1
  import { useMemo } from '@redneckz/uni-jsx/lib/hooks';
2
- import { clamp } from '../../utils/clamp';
3
2
  import type { CreditCalculatorParamsViewSettings } from './CalculatorContent';
4
3
  import { CREDIT_CALC_DEFAULT_DIR, DEFAULT_CREDIT_CALCULATOR_PARAMS } from './constants';
5
4
  import { getCreditCalculatorLimitParams } from './getCreditCalculatorLimitParams';
@@ -51,7 +50,7 @@ export const useCreditCalculatorParams = (
51
50
  sourceBookDir?: string,
52
51
  paramsViewSettings?: CreditCalculatorParamsViewSettings,
53
52
  ): CreditCalculatorParams => {
54
- let { moneyValue, monthsValue } = userInputParams;
53
+ const { moneyValue, monthsValue } = userInputParams;
55
54
  const data = useCalculatorParams<CreditCalculatorData>(sourceBookDir || CREDIT_CALC_DEFAULT_DIR);
56
55
  const rateRows = data?.rateRows || [DEFAULT_CREDIT_CALCULATOR_PARAMS];
57
56
  const limitRows = data?.limitRows || [];
@@ -72,9 +71,6 @@ export const useCreditCalculatorParams = (
72
71
  rateRows,
73
72
  );
74
73
 
75
- moneyValue = clamp(moneyValue, minSum, maxSum);
76
- monthsValue = clamp(monthsValue, minMonths, maxMonths);
77
-
78
74
  const creditCalculatorRateParams = getCreditCalculatorRateParams({
79
75
  rateRows,
80
76
  userInputParams,
@@ -1,12 +1,11 @@
1
1
  import { useMemo } from '@redneckz/uni-jsx/lib/hooks';
2
- import { clamp } from '../../utils/clamp';
3
- import { DEFAULT_REFINANCING_CALCULATOR_PARAMS, REFINANCING_CALC_DEFAULT_DIR } from './constants';
4
- import { getLimitRangeByKeys } from './rangeHelpers';
5
- import { useCalculatorParams } from './useCalculatorParams';
6
2
  import { RefinancingCalculatorParamsViewSettings } from './CalculatorContent';
3
+ import { DEFAULT_REFINANCING_CALCULATOR_PARAMS, REFINANCING_CALC_DEFAULT_DIR } from './constants';
4
+ import { getMonthlyPayment } from './getMonthlyPayment';
7
5
  import { getRefinancingCalculatorLimitParams } from './getRefinancingCalculatorLimitParams';
8
6
  import { getRefinancingCalculatorRateParams } from './getRefinancingCalculatorRateParams';
9
- import { getMonthlyPayment } from './getMonthlyPayment';
7
+ import { getLimitRangeByKeys } from './rangeHelpers';
8
+ import { useCalculatorParams } from './useCalculatorParams';
10
9
 
11
10
  export interface CommonRefinancingParams {
12
11
  isSalaryClient: boolean;
@@ -61,7 +60,7 @@ export const useRefinancingCalculatorParams = (
61
60
  sourceBookDir?: string,
62
61
  paramsViewSettings?: RefinancingCalculatorParamsViewSettings,
63
62
  ): RefinancingCalculatorParams => {
64
- let { moneyValue, monthsValue, oldMonthlyPayment, moneyExtra } = userInputParams;
63
+ const { moneyValue, monthsValue, oldMonthlyPayment, moneyExtra } = userInputParams;
65
64
  const data = useCalculatorParams<RefinancingCalculatorData>(
66
65
  sourceBookDir || REFINANCING_CALC_DEFAULT_DIR,
67
66
  );
@@ -79,29 +78,12 @@ export const useRefinancingCalculatorParams = (
79
78
  rateRows,
80
79
  );
81
80
 
82
- const { minSumOld, maxSumOld } = getLimitRangeByKeys(
83
- ['minSumOld', 'maxSumOld'],
84
- sourceBookLimitParams,
85
- rateRows,
86
- );
87
-
88
- const { minSumExtra, maxSumExtra } = getLimitRangeByKeys(
89
- ['minSumExtra', 'maxSumExtra'],
90
- sourceBookLimitParams,
91
- rateRows,
92
- );
93
-
94
81
  const { minMonths, maxMonths } = getLimitRangeByKeys(
95
82
  ['minMonths', 'maxMonths'],
96
83
  sourceBookLimitParams,
97
84
  rateRows,
98
85
  );
99
86
 
100
- moneyValue = clamp(moneyValue, minSum, maxSum);
101
- oldMonthlyPayment = clamp(oldMonthlyPayment, minSumOld, maxSumOld);
102
- moneyExtra = clamp(moneyExtra, minSumExtra, maxSumExtra);
103
- monthsValue = clamp(monthsValue, minMonths, maxMonths);
104
-
105
87
  const refinancingCalculatorSourceBookRateParams = getRefinancingCalculatorRateParams({
106
88
  rateRows,
107
89
  userInputParams,
@@ -2,9 +2,9 @@ import type { UniBlockContent } from '../../model/JSXBlock';
2
2
 
3
3
  /**
4
4
  * @title Размер карточек
5
- * @enumNames ["Нормальный", "Большой"]
5
+ * @enumNames ["Маленький", "Нормальный", "Большой"]
6
6
  */
7
- export type CardSizeMode = 'normal' | 'big';
7
+ export type CardSizeMode = 'small' | 'normal' | 'big';
8
8
 
9
9
  /**
10
10
  * @title Карусель
@@ -10,6 +10,7 @@ import type { CardSizeMode } from './CarouselContent';
10
10
  const cardBaseStyle = 'relative h-full';
11
11
 
12
12
  const CARD_SIZE_MAP: Record<CardSizeMode, string> = {
13
+ small: 'sm:min-w-64',
13
14
  normal: 'sm:min-w-96',
14
15
  big: 'sm:min-w-[515px]',
15
16
  };
@@ -20,8 +20,9 @@ export function renderRangeWithTicks({
20
20
  onChange,
21
21
  }: RangeWithTicksProps) {
22
22
  const rangeValue = list.length ? list.indexOf(value) : value;
23
+ const rangeValueShift = rangeValue > min ? rangeValue - min : 0;
23
24
  const inputStyle = {
24
- backgroundSize: `${(((rangeValue - min) * 100) / (max - min)).toFixed(2)}% 100%`,
25
+ backgroundSize: `${((rangeValueShift * 100) / (max - min)).toFixed(2)}% 100%`,
25
26
  };
26
27
 
27
28
  return (