@cloud-ru/uikit-product-calculator 1.11.2 → 1.12.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # 1.12.0 (2026-06-29)
7
+
8
+
9
+ ### Features
10
+
11
+ * **SITE-11498:** update calculator container apps ([5c0fe73](https://github.com/cloud-ru-tech/uikit-product/commit/5c0fe737149ffddc3a170fc3f21aefd5384461cb))
12
+
13
+
14
+
15
+
16
+
17
+ ## 1.11.3 (2026-06-26)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **SITE-11165:** remove dublicated flavor ([693e2b1](https://github.com/cloud-ru-tech/uikit-product/commit/693e2b160e54deaabaf53b6b83965e0d62a7a2fb))
23
+
24
+
25
+
26
+
27
+
6
28
  ## 1.11.2 (2026-06-26)
7
29
 
8
30
  ### Only dependencies have been changed
package/README.md CHANGED
@@ -113,7 +113,7 @@ data-test-id
113
113
  ### Props
114
114
  | name | type | default value | description |
115
115
  |------|------|---------------|-------------|
116
- | __@iterator@1100* | `() => StringIterator<string>` | - | Iterator |
116
+ | __@iterator@1102* | `() => StringIterator<string>` | - | Iterator |
117
117
  | toWellFormed* | `() => string` | - | Returns a string where all lone or out-of-order surrogates have been replaced by the Unicode replacement character (U+FFFD). |
118
118
  | isWellFormed* | `() => boolean` | - | Returns true if all leading surrogates and trailing surrogates appear paired and in order. |
119
119
  | at* | `(index: number) => string` | - | Returns a new String consisting of the single UTF-16 code unit located at the specified index. @param index The zero-based index of the desired code unit. A negative index will count back from the last item. |
@@ -33,7 +33,7 @@ function BasePriceCount({ price, pricePeriod, freeTier, mobile }) {
33
33
  const total = (0, utils_1.getPrice)({ price, pricePeriod });
34
34
  const dataTestAttribute = (0, utils_1.parseKeyToDataTest)('product', 'price');
35
35
  if (freeTier && !total)
36
- return ((0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.price, "data-mobile": mobile || undefined, children: ["\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E", (0, jsx_runtime_1.jsx)("br", {}), "\u043D\u0430\u0432\u0441\u0435\u0433\u0434\u0430"] }));
36
+ return ((0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.price, "data-free": true, "data-mobile": mobile || undefined, children: "\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E" }));
37
37
  return ((0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.price, "data-mobile": mobile || undefined, "data-test-id": dataTestAttribute, children: [(0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.total, children: [(0, jsx_runtime_1.jsx)(typography_1.Typography.SansTitleM, { children: (0, jsx_runtime_1.jsx)(truncate_string_1.TruncateString, { text: (0, utils_1.formatNumber)(total), maxLines: 1 }) }), (0, jsx_runtime_1.jsx)(typography_1.Typography.SansBodyL, { children: "\u20BD" })] }), (0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.caption, children: `${PRICE_NAME[pricePeriod]} c НДС` })] }));
38
38
  }
39
39
  function PartnersPriceCount({ price, pricePeriod, mobile, hasCounter }) {
@@ -27,6 +27,9 @@
27
27
  justify-content:flex-start;
28
28
  text-align:left;
29
29
  }
30
+ .price[data-free]{
31
+ align-self:center;
32
+ }
30
33
 
31
34
  .sale{
32
35
  color:var(--sys-red-text-support, #ae514c);
@@ -16,7 +16,7 @@ exports.EVOLUTION_CONTAINER_APPS_CONFIG = {
16
16
  serviceAlert: {
17
17
  type: components_1.CONTROL.Alert,
18
18
  uiProps: {
19
- description: 'Первые 120 vCPU и 480 ГБ RAM не тарифицируется каждый месяц в рамках free tier',
19
+ description: 'Первые 25 vCPU и 50 ГБ RAM не тарифицируется каждый месяц в рамках free tier',
20
20
  },
21
21
  accessorKey: 'tarification',
22
22
  },
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EVOLUTION_CONTAINER_APPS_FREE_TIER_CONFIG = void 0;
4
4
  const components_1 = require("../../../../components");
5
5
  const utils_1 = require("../../../utils");
6
- const configItems = (0, utils_1.generateInstanceConfigItems)([[120, 480]]);
6
+ const configItems = (0, utils_1.generateInstanceConfigItems)([[25, 50]]);
7
7
  exports.EVOLUTION_CONTAINER_APPS_FREE_TIER_CONFIG = {
8
8
  ui: ['serviceAlert', ['config']],
9
9
  controls: {
@@ -18,7 +18,7 @@ exports.EVOLUTION_CONTAINER_APPS_FREE_TIER_CONFIG = {
18
18
  type: components_1.CONTROL.SelectSingle,
19
19
  accessorKey: 'config',
20
20
  items: configItems,
21
- defaultValue: '120 480',
21
+ defaultValue: '25 50',
22
22
  uiProps: {
23
23
  disabled: true,
24
24
  },
@@ -6,7 +6,6 @@ const utils_1 = require("../../../utils");
6
6
  const flavorsConfig = [
7
7
  { label: '2vCPU, 4ГБ RAM', value: '2 4' },
8
8
  { label: '4vCPU, 8ГБ RAM', value: '4 8' },
9
- { label: '4vCPU, 8ГБ RAM', value: '4 8' },
10
9
  { label: '4vCPU, 16ГБ RAM', value: '4 16' },
11
10
  { label: '4vCPU, 32ГБ RAM', value: '4 32' },
12
11
  { label: '4vCPU, 64ГБ RAM', value: '4 64' },
@@ -25,7 +25,7 @@ export function BasePriceCount({ price, pricePeriod, freeTier, mobile }) {
25
25
  const total = getPrice({ price, pricePeriod });
26
26
  const dataTestAttribute = parseKeyToDataTest('product', 'price');
27
27
  if (freeTier && !total)
28
- return (_jsxs("div", { className: styles.price, "data-mobile": mobile || undefined, children: ["\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E", _jsx("br", {}), "\u043D\u0430\u0432\u0441\u0435\u0433\u0434\u0430"] }));
28
+ return (_jsx("div", { className: styles.price, "data-free": true, "data-mobile": mobile || undefined, children: "\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E" }));
29
29
  return (_jsxs("div", { className: styles.price, "data-mobile": mobile || undefined, "data-test-id": dataTestAttribute, children: [_jsxs("div", { className: styles.total, children: [_jsx(Typography.SansTitleM, { children: _jsx(TruncateString, { text: formatNumber(total), maxLines: 1 }) }), _jsx(Typography.SansBodyL, { children: "\u20BD" })] }), _jsx("div", { className: styles.caption, children: `${PRICE_NAME[pricePeriod]} c НДС` })] }));
30
30
  }
31
31
  export function PartnersPriceCount({ price, pricePeriod, mobile, hasCounter }) {
@@ -27,6 +27,9 @@
27
27
  justify-content:flex-start;
28
28
  text-align:left;
29
29
  }
30
+ .price[data-free]{
31
+ align-self:center;
32
+ }
30
33
 
31
34
  .sale{
32
35
  color:var(--sys-red-text-support, #ae514c);
@@ -13,7 +13,7 @@ export const EVOLUTION_CONTAINER_APPS_CONFIG = {
13
13
  serviceAlert: {
14
14
  type: CONTROL.Alert,
15
15
  uiProps: {
16
- description: 'Первые 120 vCPU и 480 ГБ RAM не тарифицируется каждый месяц в рамках free tier',
16
+ description: 'Первые 25 vCPU и 50 ГБ RAM не тарифицируется каждый месяц в рамках free tier',
17
17
  },
18
18
  accessorKey: 'tarification',
19
19
  },
@@ -1,6 +1,6 @@
1
1
  import { CONTROL } from '../../../../components';
2
2
  import { generateInstanceConfigItems } from '../../../utils';
3
- const configItems = generateInstanceConfigItems([[120, 480]]);
3
+ const configItems = generateInstanceConfigItems([[25, 50]]);
4
4
  export const EVOLUTION_CONTAINER_APPS_FREE_TIER_CONFIG = {
5
5
  ui: ['serviceAlert', ['config']],
6
6
  controls: {
@@ -15,7 +15,7 @@ export const EVOLUTION_CONTAINER_APPS_FREE_TIER_CONFIG = {
15
15
  type: CONTROL.SelectSingle,
16
16
  accessorKey: 'config',
17
17
  items: configItems,
18
- defaultValue: '120 480',
18
+ defaultValue: '25 50',
19
19
  uiProps: {
20
20
  disabled: true,
21
21
  },
@@ -3,7 +3,6 @@ import { fillArrayWithNumbers } from '../../../utils';
3
3
  const flavorsConfig = [
4
4
  { label: '2vCPU, 4ГБ RAM', value: '2 4' },
5
5
  { label: '4vCPU, 8ГБ RAM', value: '4 8' },
6
- { label: '4vCPU, 8ГБ RAM', value: '4 8' },
7
6
  { label: '4vCPU, 16ГБ RAM', value: '4 16' },
8
7
  { label: '4vCPU, 32ГБ RAM', value: '4 32' },
9
8
  { label: '4vCPU, 64ГБ RAM', value: '4 64' },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloud-ru/uikit-product-calculator",
3
3
  "title": "Calculator",
4
- "version": "1.11.2",
4
+ "version": "1.12.0",
5
5
  "sideEffects": [
6
6
  "*.css",
7
7
  "*.woff",
@@ -71,5 +71,5 @@
71
71
  "devDependencies": {
72
72
  "@types/lodash": "4.17.13"
73
73
  },
74
- "gitHead": "7e5052322e20a0a7fcd9dc03ff788a9ccf2167d4"
74
+ "gitHead": "9d1867e3c9b6113abe357463f114f4cf4388918a"
75
75
  }
@@ -27,10 +27,8 @@ export function BasePriceCount({ price, pricePeriod, freeTier, mobile }: PriceCo
27
27
 
28
28
  if (freeTier && !total)
29
29
  return (
30
- <div className={styles.price} data-mobile={mobile || undefined}>
30
+ <div className={styles.price} data-free data-mobile={mobile || undefined}>
31
31
  Бесплатно
32
- <br />
33
- навсегда
34
32
  </div>
35
33
  );
36
34
 
@@ -30,6 +30,10 @@
30
30
  justify-content: flex-start;
31
31
  text-align: left;
32
32
  }
33
+
34
+ &[data-free] {
35
+ align-self: center;
36
+ }
33
37
  }
34
38
 
35
39
  .sale {
@@ -18,7 +18,7 @@ export const EVOLUTION_CONTAINER_APPS_CONFIG: FormConfig = {
18
18
  serviceAlert: {
19
19
  type: CONTROL.Alert,
20
20
  uiProps: {
21
- description: 'Первые 120 vCPU и 480 ГБ RAM не тарифицируется каждый месяц в рамках free tier',
21
+ description: 'Первые 25 vCPU и 50 ГБ RAM не тарифицируется каждый месяц в рамках free tier',
22
22
  },
23
23
  accessorKey: 'tarification',
24
24
  },
@@ -1,7 +1,7 @@
1
1
  import { CONTROL, FormConfig } from '../../../../components';
2
2
  import { generateInstanceConfigItems } from '../../../utils';
3
3
 
4
- const configItems = generateInstanceConfigItems([[120, 480]]);
4
+ const configItems = generateInstanceConfigItems([[25, 50]]);
5
5
 
6
6
  export const EVOLUTION_CONTAINER_APPS_FREE_TIER_CONFIG: FormConfig = {
7
7
  ui: ['serviceAlert', ['config']],
@@ -17,7 +17,7 @@ export const EVOLUTION_CONTAINER_APPS_FREE_TIER_CONFIG: FormConfig = {
17
17
  type: CONTROL.SelectSingle,
18
18
  accessorKey: 'config',
19
19
  items: configItems,
20
- defaultValue: '120 480',
20
+ defaultValue: '25 50',
21
21
  uiProps: {
22
22
  disabled: true,
23
23
  },
@@ -4,7 +4,6 @@ import { fillArrayWithNumbers } from '../../../utils';
4
4
  const flavorsConfig = [
5
5
  { label: '2vCPU, 4ГБ RAM', value: '2 4' },
6
6
  { label: '4vCPU, 8ГБ RAM', value: '4 8' },
7
- { label: '4vCPU, 8ГБ RAM', value: '4 8' },
8
7
  { label: '4vCPU, 16ГБ RAM', value: '4 16' },
9
8
  { label: '4vCPU, 32ГБ RAM', value: '4 32' },
10
9
  { label: '4vCPU, 64ГБ RAM', value: '4 64' },