@astral/features 4.0.0-alpha.7 → 4.0.0-alpha.9

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 (49) hide show
  1. package/node/productSwitcher/components/AstralProductSwitcher/stories/Example.story.d.ts +5 -0
  2. package/node/productSwitcher/components/AstralProductSwitcher/stories/Example.story.js +10 -0
  3. package/node/productSwitcher/components/AstralProductSwitcher/stories/Group.story.d.ts +8 -0
  4. package/node/productSwitcher/components/AstralProductSwitcher/stories/Group.story.js +14 -0
  5. package/node/productSwitcher/components/AstralProductSwitcher/stories/Interaction.story.d.ts +6 -0
  6. package/node/productSwitcher/components/AstralProductSwitcher/stories/Interaction.story.js +19 -0
  7. package/node/productSwitcher/components/AstralProductSwitcher/stories/Tenant.story.d.ts +8 -0
  8. package/node/productSwitcher/components/AstralProductSwitcher/stories/Tenant.story.js +14 -0
  9. package/node/productSwitcher/components/AstralProductSwitcher/stories/common/index.d.ts +2 -0
  10. package/node/productSwitcher/components/AstralProductSwitcher/stories/common/index.js +18 -0
  11. package/node/productSwitcher/components/AstralProductSwitcher/stories/common/mockData.d.ts +27 -0
  12. package/node/productSwitcher/components/AstralProductSwitcher/stories/common/mockData.js +119 -0
  13. package/node/productSwitcher/components/AstralProductSwitcher/stories/common/mockResponses.d.ts +59 -0
  14. package/node/productSwitcher/components/AstralProductSwitcher/stories/common/mockResponses.js +54 -0
  15. package/node/productSwitcher/components/IdentityProductSwitcher/stories/Example.story.d.ts +5 -0
  16. package/node/productSwitcher/components/IdentityProductSwitcher/stories/Example.story.js +9 -0
  17. package/node/productSwitcher/components/IdentityProductSwitcher/stories/Interaction.story.d.ts +6 -0
  18. package/node/productSwitcher/components/IdentityProductSwitcher/stories/Interaction.story.js +16 -0
  19. package/node/productSwitcher/components/IdentityProductSwitcher/stories/common/index.d.ts +2 -0
  20. package/node/productSwitcher/components/IdentityProductSwitcher/stories/common/index.js +18 -0
  21. package/node/productSwitcher/components/IdentityProductSwitcher/stories/common/mockData.d.ts +27 -0
  22. package/node/productSwitcher/components/IdentityProductSwitcher/stories/common/mockData.js +119 -0
  23. package/node/productSwitcher/components/IdentityProductSwitcher/stories/common/mockResponses.d.ts +47 -0
  24. package/node/productSwitcher/components/IdentityProductSwitcher/stories/common/mockResponses.js +58 -0
  25. package/package.json +2 -2
  26. package/productSwitcher/components/AstralProductSwitcher/stories/Example.story.d.ts +5 -0
  27. package/productSwitcher/components/AstralProductSwitcher/stories/Example.story.js +6 -0
  28. package/productSwitcher/components/AstralProductSwitcher/stories/Group.story.d.ts +8 -0
  29. package/productSwitcher/components/AstralProductSwitcher/stories/Group.story.js +10 -0
  30. package/productSwitcher/components/AstralProductSwitcher/stories/Interaction.story.d.ts +6 -0
  31. package/productSwitcher/components/AstralProductSwitcher/stories/Interaction.story.js +16 -0
  32. package/productSwitcher/components/AstralProductSwitcher/stories/Tenant.story.d.ts +8 -0
  33. package/productSwitcher/components/AstralProductSwitcher/stories/Tenant.story.js +10 -0
  34. package/productSwitcher/components/AstralProductSwitcher/stories/common/index.d.ts +2 -0
  35. package/productSwitcher/components/AstralProductSwitcher/stories/common/index.js +2 -0
  36. package/productSwitcher/components/AstralProductSwitcher/stories/common/mockData.d.ts +27 -0
  37. package/productSwitcher/components/AstralProductSwitcher/stories/common/mockData.js +116 -0
  38. package/productSwitcher/components/AstralProductSwitcher/stories/common/mockResponses.d.ts +59 -0
  39. package/productSwitcher/components/AstralProductSwitcher/stories/common/mockResponses.js +50 -0
  40. package/productSwitcher/components/IdentityProductSwitcher/stories/Example.story.d.ts +5 -0
  41. package/productSwitcher/components/IdentityProductSwitcher/stories/Example.story.js +5 -0
  42. package/productSwitcher/components/IdentityProductSwitcher/stories/Interaction.story.d.ts +6 -0
  43. package/productSwitcher/components/IdentityProductSwitcher/stories/Interaction.story.js +13 -0
  44. package/productSwitcher/components/IdentityProductSwitcher/stories/common/index.d.ts +2 -0
  45. package/productSwitcher/components/IdentityProductSwitcher/stories/common/index.js +2 -0
  46. package/productSwitcher/components/IdentityProductSwitcher/stories/common/mockData.d.ts +27 -0
  47. package/productSwitcher/components/IdentityProductSwitcher/stories/common/mockData.js +116 -0
  48. package/productSwitcher/components/IdentityProductSwitcher/stories/common/mockResponses.d.ts +47 -0
  49. package/productSwitcher/components/IdentityProductSwitcher/stories/common/mockResponses.js +54 -0
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MOCK_FETCH_IDENTITY_TENANTS = exports.MOCK_FETCH_IDENTITY_PRODUCTS = exports.createProductsMockResponse = void 0;
4
+ const mockData_1 = require("./mockData");
5
+ const createProductsMockResponse = ({ searchParams }) => {
6
+ switch (searchParams.tenantId) {
7
+ case 'astral': {
8
+ return {
9
+ data: mockData_1.ASTRAL_PRODUCTS,
10
+ meta: {
11
+ totalCount: mockData_1.ASTRAL_PRODUCTS.length,
12
+ },
13
+ };
14
+ }
15
+ case 'eco': {
16
+ return {
17
+ data: mockData_1.ECO_PRODUCTS,
18
+ meta: {
19
+ totalCount: mockData_1.ECO_PRODUCTS.length,
20
+ },
21
+ };
22
+ }
23
+ default: {
24
+ return {
25
+ data: [],
26
+ meta: {
27
+ totalCount: 0,
28
+ },
29
+ };
30
+ }
31
+ }
32
+ };
33
+ exports.createProductsMockResponse = createProductsMockResponse;
34
+ exports.MOCK_FETCH_IDENTITY_PRODUCTS = [
35
+ {
36
+ url: `${mockData_1.IDENTITY_URL}/api/products/widget?tenantId=*`,
37
+ method: 'GET',
38
+ status: 200,
39
+ response: exports.createProductsMockResponse,
40
+ },
41
+ ];
42
+ exports.MOCK_FETCH_IDENTITY_TENANTS = [
43
+ {
44
+ url: `${mockData_1.IDENTITY_URL}/api/tenants/widget`,
45
+ method: 'GET',
46
+ status: 200,
47
+ response: [
48
+ {
49
+ id: 'astral',
50
+ name: 'Астрал',
51
+ },
52
+ {
53
+ id: 'eco',
54
+ name: 'Экосистема',
55
+ },
56
+ ],
57
+ },
58
+ ];
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@astral/features",
3
3
  "main": "./node/index.js",
4
- "version": "4.0.0-alpha.7",
4
+ "version": "4.0.0-alpha.9",
5
5
  "dependencies": {
6
- "@astral/ui": "4.0.0-alpha.7",
6
+ "@astral/ui": "4.0.0-alpha.9",
7
7
  "mobx": "^6.8.0",
8
8
  "mobx-react-lite": "^3.4.0",
9
9
  "@astral/cryptopro-cades": "^1.5.1"
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { type Meta } from '@storybook/react-vite';
3
+ declare const meta: Meta;
4
+ export default meta;
5
+ export declare const Example: () => JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { AstralProductSwitcher } from '../AstralProductSwitcher';
3
+ import { IDENTITY_URL } from './common';
4
+ const meta = {};
5
+ export default meta;
6
+ export const Example = () => (_jsx(AstralProductSwitcher, { identityUrl: IDENTITY_URL }));
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { type Meta } from '@storybook/react-vite';
3
+ declare const meta: Meta;
4
+ export default meta;
5
+ /**
6
+ * Чтобы получить список продуктов, отфильтрованных по группам, необходимо указать параметр ```filterBy``` в значение ```group``` и указать параметр ```code```, равный ```коду вашей группы```
7
+ */
8
+ export declare const Group: () => JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { AstralProductSwitcher } from '../AstralProductSwitcher';
3
+ import { ProductFilterType } from '../enums';
4
+ import { IDENTITY_URL } from './common';
5
+ const meta = {};
6
+ export default meta;
7
+ /**
8
+ * Чтобы получить список продуктов, отфильтрованных по группам, необходимо указать параметр ```filterBy``` в значение ```group``` и указать параметр ```code```, равный ```коду вашей группы```
9
+ */
10
+ export const Group = () => (_jsx(AstralProductSwitcher, { identityUrl: IDENTITY_URL, filterBy: ProductFilterType.Group, code: "identityGroupID" }));
@@ -0,0 +1,6 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
+ import type { AstralProductSwitcher } from '../AstralProductSwitcher';
3
+ declare const meta: Meta<typeof AstralProductSwitcher>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof AstralProductSwitcher>;
6
+ export declare const Interaction: Story;
@@ -0,0 +1,16 @@
1
+ import { ProductFilterType } from '../enums';
2
+ import { IDENTITY_URL } from './common';
3
+ const meta = {};
4
+ export default meta;
5
+ export const Interaction = {
6
+ args: {
7
+ identityUrl: IDENTITY_URL,
8
+ filterBy: ProductFilterType.Tenant,
9
+ code: 'astral',
10
+ },
11
+ parameters: {
12
+ docs: {
13
+ disable: true,
14
+ },
15
+ },
16
+ };
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { type Meta } from '@storybook/react-vite';
3
+ declare const meta: Meta;
4
+ export default meta;
5
+ /**
6
+ * Чтобы получить список продуктов, отфильтрованных по экосистемам, необходимо указать параметр ```filterBy``` в значение ```tenant``` и указать параметр ```code```, равный ```коду вашей экосистемы```
7
+ */
8
+ export declare const Tenant: () => JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { AstralProductSwitcher } from '../AstralProductSwitcher';
3
+ import { ProductFilterType } from '../enums';
4
+ import { IDENTITY_URL } from './common';
5
+ const meta = {};
6
+ export default meta;
7
+ /**
8
+ * Чтобы получить список продуктов, отфильтрованных по экосистемам, необходимо указать параметр ```filterBy``` в значение ```tenant``` и указать параметр ```code```, равный ```коду вашей экосистемы```
9
+ */
10
+ export const Tenant = () => (_jsx(AstralProductSwitcher, { identityUrl: IDENTITY_URL, filterBy: ProductFilterType.Tenant, code: "eco" }));
@@ -0,0 +1,2 @@
1
+ export * from './mockData';
2
+ export * from './mockResponses';
@@ -0,0 +1,2 @@
1
+ export * from './mockData';
2
+ export * from './mockResponses';
@@ -0,0 +1,27 @@
1
+ export declare const IDENTITY_URL = "https://identity";
2
+ export declare const MOCK_IMAGE = "data:image/svg+xml;base64, PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjI1NzE5IDE3LjI2ODlDOC4yNTcxOSAxNy4yNjg5IDQuNTY5MzMgMjAuMjAyMyA0LjExODcyIDIyLjA3OTZDMi43NjA3OCAyNy43MzY5IDEzLjQwNTkgMjAuOTM3NyAxNy45Njg3IDE3LjUxMDZDMTkuMjMwNCAxNi41NjI5IDIxLjAyNTggMTUuMTIwOSAyMi43MDE4IDEzLjYwNTlMMjIuOTExOSAxMy40NzQxQzIyLjkwNjQgMTMuNDU5NCAyMi45MDA5IDEzLjQ0NDcgMjIuODk1NCAxMy40MzAxQzI2LjI4NDQgMTAuMzM3OCAyOS4wNzUgNy4wMTExOSAyNS43NjgyIDcuMDAwMDFDMjMuOTcwOCA2Ljk5Mzk0IDE5Ljg3NjEgOC45MzMyNiAxOS44NzYxIDguOTMzMjZDMTkuODc2MSA4LjkzMzI2IDIyLjc4MjggNy43MzU2NCAyMy40NjUxIDguMDgyOUMyNC40NDM2IDguNTgwODggMjMuMzk5NSA5LjgzMDI2IDIxLjY2OSAxMS4zMDE5QzIwLjMxODEgOS42NDU2MSAxOC4yOTU2IDguNTkzMzkgMTYuMDM1MyA4LjU5MzM5QzExLjk2ODEgOC41OTMzOSA4LjY3MDk2IDEyLjAwMDIgOC42NzA5NiAxNi4yMDI4QzguNjcwOTYgMTcuNjE2MSA5LjA0Mzc5IDE4LjkzOTMgOS42OTMzNiAyMC4wNzMzQzcuNTgzODkgMjEuMzE2NyA1Ljk1ODY3IDIxLjg0OCA2LjAwODkyIDIwLjQzMDVDNi4wNDY0IDE5LjM3MzMgOC4yNTcxOSAxNy4yNjg5IDguMjU3MTkgMTcuMjY4OVpNMjMuMzk5NiAxNi4yMDI4QzIzLjM5OTYgMjAuNDA1NCAyMC4xMDI1IDIzLjgxMjMgMTYuMDM1MyAyMy44MTIzQzE1LjYwMzkgMjMuODEyMyAxNS4xODEyIDIzLjc3NCAxNC43NzAyIDIzLjcwMDVDMTQuMzM4NyAyMy42MjMzIDE0LjExNDEgMjMuMTYwNCAxNC4zMTYxIDIyLjc3MTRDMTYuMTk1MiAxOS4xNTI1IDIxLjAxNzMgMTYuMzkxNiAyMy4zMzkzIDE1LjIyNTNDMjMuMzc5IDE1LjU0NTMgMjMuMzk5NiAxNS44NzE2IDIzLjM5OTYgMTYuMjAyOFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik04LjUgOC41QzguNSA5LjMyODQzIDcuODI4NDMgMTAgNyAxMEM2LjE3MTU3IDEwIDUuNSA5LjMyODQzIDUuNSA4LjVDNS41IDcuNjcxNTcgNi4xNzE1NyA3IDcgN0M3LjgyODQzIDcgOC41IDcuNjcxNTcgOC41IDguNVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=";
3
+ export type MockRequest = {
4
+ searchParams: Record<string, string>;
5
+ };
6
+ export declare const ASTRAL_PRODUCTS: {
7
+ id: string;
8
+ name: string;
9
+ productUrl: string;
10
+ description: string;
11
+ shortDescription: string;
12
+ iconFileId: string;
13
+ logoUrl: string;
14
+ backgroundHexColor: string;
15
+ tenantId: string;
16
+ }[];
17
+ export declare const ECO_PRODUCTS: {
18
+ id: string;
19
+ name: string;
20
+ productUrl: string;
21
+ description: string;
22
+ shortDescription: string;
23
+ iconFileId: string;
24
+ logoUrl: string;
25
+ backgroundHexColor: string;
26
+ tenantId: string;
27
+ }[];
@@ -0,0 +1,116 @@
1
+ export const IDENTITY_URL = 'https://identity';
2
+ export const MOCK_IMAGE = 'data:image/svg+xml;base64, PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjI1NzE5IDE3LjI2ODlDOC4yNTcxOSAxNy4yNjg5IDQuNTY5MzMgMjAuMjAyMyA0LjExODcyIDIyLjA3OTZDMi43NjA3OCAyNy43MzY5IDEzLjQwNTkgMjAuOTM3NyAxNy45Njg3IDE3LjUxMDZDMTkuMjMwNCAxNi41NjI5IDIxLjAyNTggMTUuMTIwOSAyMi43MDE4IDEzLjYwNTlMMjIuOTExOSAxMy40NzQxQzIyLjkwNjQgMTMuNDU5NCAyMi45MDA5IDEzLjQ0NDcgMjIuODk1NCAxMy40MzAxQzI2LjI4NDQgMTAuMzM3OCAyOS4wNzUgNy4wMTExOSAyNS43NjgyIDcuMDAwMDFDMjMuOTcwOCA2Ljk5Mzk0IDE5Ljg3NjEgOC45MzMyNiAxOS44NzYxIDguOTMzMjZDMTkuODc2MSA4LjkzMzI2IDIyLjc4MjggNy43MzU2NCAyMy40NjUxIDguMDgyOUMyNC40NDM2IDguNTgwODggMjMuMzk5NSA5LjgzMDI2IDIxLjY2OSAxMS4zMDE5QzIwLjMxODEgOS42NDU2MSAxOC4yOTU2IDguNTkzMzkgMTYuMDM1MyA4LjU5MzM5QzExLjk2ODEgOC41OTMzOSA4LjY3MDk2IDEyLjAwMDIgOC42NzA5NiAxNi4yMDI4QzguNjcwOTYgMTcuNjE2MSA5LjA0Mzc5IDE4LjkzOTMgOS42OTMzNiAyMC4wNzMzQzcuNTgzODkgMjEuMzE2NyA1Ljk1ODY3IDIxLjg0OCA2LjAwODkyIDIwLjQzMDVDNi4wNDY0IDE5LjM3MzMgOC4yNTcxOSAxNy4yNjg5IDguMjU3MTkgMTcuMjY4OVpNMjMuMzk5NiAxNi4yMDI4QzIzLjM5OTYgMjAuNDA1NCAyMC4xMDI1IDIzLjgxMjMgMTYuMDM1MyAyMy44MTIzQzE1LjYwMzkgMjMuODEyMyAxNS4xODEyIDIzLjc3NCAxNC43NzAyIDIzLjcwMDVDMTQuMzM4NyAyMy42MjMzIDE0LjExNDEgMjMuMTYwNCAxNC4zMTYxIDIyLjc3MTRDMTYuMTk1MiAxOS4xNTI1IDIxLjAxNzMgMTYuMzkxNiAyMy4zMzkzIDE1LjIyNTNDMjMuMzc5IDE1LjU0NTMgMjMuMzk5NiAxNS44NzE2IDIzLjM5OTYgMTYuMjAyOFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik04LjUgOC41QzguNSA5LjMyODQzIDcuODI4NDMgMTAgNyAxMEM2LjE3MTU3IDEwIDUuNSA5LjMyODQzIDUuNSA4LjVDNS41IDcuNjcxNTcgNi4xNzE1NyA3IDcgN0M3LjgyODQzIDcgOC41IDcuNjcxNTcgOC41IDguNVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=';
3
+ export const ASTRAL_PRODUCTS = [
4
+ {
5
+ id: '1',
6
+ name: 'Астрал Отчет 5.0',
7
+ productUrl: 'https://product1',
8
+ description: 'Астрал.Продукт 1',
9
+ shortDescription: 'Астрал.Продукт 1',
10
+ iconFileId: '1',
11
+ logoUrl: MOCK_IMAGE,
12
+ backgroundHexColor: '#2e77ff',
13
+ tenantId: 'astral',
14
+ },
15
+ {
16
+ id: '2',
17
+ name: 'Астрал.ЭДО',
18
+ productUrl: 'https://product2',
19
+ description: 'Астрал.Продукт2',
20
+ shortDescription: 'Астрал.Продукт2',
21
+ iconFileId: '2',
22
+ logoUrl: MOCK_IMAGE,
23
+ backgroundHexColor: '#33adf2',
24
+ tenantId: 'astral',
25
+ },
26
+ {
27
+ id: '3',
28
+ name: 'Астрал iKЭДО',
29
+ productUrl: 'https://product3',
30
+ description: 'Астрал.Продукт3',
31
+ shortDescription: 'Астрал.Продукт3',
32
+ iconFileId: '3',
33
+ logoUrl: MOCK_IMAGE,
34
+ backgroundHexColor: '#755afd',
35
+ tenantId: 'astral',
36
+ },
37
+ {
38
+ id: '4',
39
+ name: 'Астрал.ОФД',
40
+ productUrl: 'https://product4',
41
+ description: 'Астрал.Продукт4',
42
+ shortDescription: 'Астрал.Продукт4',
43
+ iconFileId: '4',
44
+ logoUrl: MOCK_IMAGE,
45
+ backgroundHexColor: '#00b2ff',
46
+ tenantId: 'astral',
47
+ },
48
+ {
49
+ id: '5',
50
+ name: 'Астрал Доверенность',
51
+ productUrl: 'https://product5',
52
+ description: 'Астрал.Продукт5',
53
+ shortDescription: 'Астрал.Продукт5',
54
+ iconFileId: '5',
55
+ logoUrl: MOCK_IMAGE,
56
+ backgroundHexColor: '#7856ff',
57
+ tenantId: 'astral',
58
+ },
59
+ {
60
+ id: '6',
61
+ name: 'Личный Кабинет',
62
+ productUrl: 'https://product4',
63
+ description: 'Астрал.Продукт6',
64
+ shortDescription: 'Астрал.Продукт6',
65
+ iconFileId: '6',
66
+ logoUrl: MOCK_IMAGE,
67
+ backgroundHexColor: '#00b2ff',
68
+ tenantId: 'astral',
69
+ },
70
+ {
71
+ id: '7',
72
+ name: 'Личный Кабинет Партнёра',
73
+ productUrl: 'https://product5',
74
+ description: 'Астрал.Продукт7',
75
+ shortDescription: 'Астрал.Продукт7',
76
+ iconFileId: '7',
77
+ logoUrl: MOCK_IMAGE,
78
+ backgroundHexColor: '#7856ff',
79
+ tenantId: 'astral',
80
+ },
81
+ ];
82
+ export const ECO_PRODUCTS = [
83
+ {
84
+ id: '6',
85
+ name: 'Экосистема-Продукт 1',
86
+ productUrl: 'https://eco1',
87
+ description: 'Экосистема-Продукт1',
88
+ shortDescription: 'Экосистема-Продукт1',
89
+ iconFileId: 'test',
90
+ logoUrl: MOCK_IMAGE,
91
+ backgroundHexColor: '#2e77ff',
92
+ tenantId: 'eco',
93
+ },
94
+ {
95
+ id: '7',
96
+ name: 'Экосистема-Продукт 2',
97
+ productUrl: 'https://eco2',
98
+ description: 'Экосистема-Продукт2',
99
+ shortDescription: 'Экосистема-Продукт2',
100
+ iconFileId: 'test',
101
+ logoUrl: MOCK_IMAGE,
102
+ backgroundHexColor: '#7756FF',
103
+ tenantId: 'eco',
104
+ },
105
+ {
106
+ id: '8',
107
+ name: 'Экосистема-Продукт 3',
108
+ productUrl: 'https://eco3',
109
+ description: 'Экосистема-Продукт3',
110
+ shortDescription: 'Экосистема-Продукт3',
111
+ iconFileId: 'test',
112
+ logoUrl: MOCK_IMAGE,
113
+ backgroundHexColor: '#0397b3',
114
+ tenantId: 'eco',
115
+ },
116
+ ];
@@ -0,0 +1,59 @@
1
+ import type { MockRequest } from './mockData';
2
+ export declare const createProductsMockResponse: ({ searchParams }: MockRequest) => {
3
+ data: {
4
+ id: string;
5
+ name: string;
6
+ productUrl: string;
7
+ description: string;
8
+ shortDescription: string;
9
+ iconFileId: string;
10
+ logoUrl: string;
11
+ backgroundHexColor: string;
12
+ tenantId: string;
13
+ }[];
14
+ meta: {
15
+ totalCount: number;
16
+ };
17
+ };
18
+ export declare const MOCK_FETCH_IDENTITY_PRODUCTS: {
19
+ url: string;
20
+ method: string;
21
+ status: number;
22
+ response: ({ searchParams }: MockRequest) => {
23
+ data: {
24
+ id: string;
25
+ name: string;
26
+ productUrl: string;
27
+ description: string;
28
+ shortDescription: string;
29
+ iconFileId: string;
30
+ logoUrl: string;
31
+ backgroundHexColor: string;
32
+ tenantId: string;
33
+ }[];
34
+ meta: {
35
+ totalCount: number;
36
+ };
37
+ };
38
+ }[];
39
+ export declare const MOCK_FETCH_IDENTITY_GROUPS: {
40
+ url: string;
41
+ method: string;
42
+ status: number;
43
+ response: {
44
+ data: {
45
+ id: string;
46
+ name: string;
47
+ productUrl: string;
48
+ description: string;
49
+ shortDescription: string;
50
+ iconFileId: string;
51
+ logoUrl: string;
52
+ backgroundHexColor: string;
53
+ tenantId: string;
54
+ }[];
55
+ meta: {
56
+ totalCount: number;
57
+ };
58
+ };
59
+ }[];
@@ -0,0 +1,50 @@
1
+ import { ASTRAL_PRODUCTS, ECO_PRODUCTS, IDENTITY_URL } from './mockData';
2
+ export const createProductsMockResponse = ({ searchParams }) => {
3
+ switch (searchParams.tenantId) {
4
+ case 'astral': {
5
+ return {
6
+ data: ASTRAL_PRODUCTS,
7
+ meta: {
8
+ totalCount: ASTRAL_PRODUCTS.length,
9
+ },
10
+ };
11
+ }
12
+ case 'eco': {
13
+ return {
14
+ data: ECO_PRODUCTS,
15
+ meta: {
16
+ totalCount: ECO_PRODUCTS.length,
17
+ },
18
+ };
19
+ }
20
+ default: {
21
+ return {
22
+ data: [],
23
+ meta: {
24
+ totalCount: 0,
25
+ },
26
+ };
27
+ }
28
+ }
29
+ };
30
+ export const MOCK_FETCH_IDENTITY_PRODUCTS = [
31
+ {
32
+ url: `${IDENTITY_URL}/api/products/widget?tenantId=*`,
33
+ method: 'GET',
34
+ status: 200,
35
+ response: createProductsMockResponse,
36
+ },
37
+ ];
38
+ export const MOCK_FETCH_IDENTITY_GROUPS = [
39
+ {
40
+ url: `${IDENTITY_URL}/api/products/group?groupId=*`,
41
+ method: 'GET',
42
+ status: 200,
43
+ response: {
44
+ data: ECO_PRODUCTS,
45
+ meta: {
46
+ totalCount: ECO_PRODUCTS.length,
47
+ },
48
+ },
49
+ },
50
+ ];
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { type Meta } from '@storybook/react-vite';
3
+ declare const meta: Meta;
4
+ export default meta;
5
+ export declare const Example: () => JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { IdentityProductSwitcher } from '../IdentityProductSwitcher';
3
+ const meta = {};
4
+ export default meta;
5
+ export const Example = () => _jsx(IdentityProductSwitcher, { identityUrl: "" });
@@ -0,0 +1,6 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
+ import type { IdentityProductSwitcher } from '../IdentityProductSwitcher';
3
+ declare const meta: Meta<typeof IdentityProductSwitcher>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof IdentityProductSwitcher>;
6
+ export declare const Interaction: Story;
@@ -0,0 +1,13 @@
1
+ import { IDENTITY_URL } from './common';
2
+ const meta = {};
3
+ export default meta;
4
+ export const Interaction = {
5
+ args: {
6
+ identityUrl: IDENTITY_URL,
7
+ },
8
+ parameters: {
9
+ docs: {
10
+ disable: true,
11
+ },
12
+ },
13
+ };
@@ -0,0 +1,2 @@
1
+ export * from './mockData';
2
+ export * from './mockResponses';
@@ -0,0 +1,2 @@
1
+ export * from './mockData';
2
+ export * from './mockResponses';
@@ -0,0 +1,27 @@
1
+ export declare const IDENTITY_URL = "https://identity";
2
+ export declare const MOCK_IMAGE = "data:image/svg+xml;base64, PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjI1NzE5IDE3LjI2ODlDOC4yNTcxOSAxNy4yNjg5IDQuNTY5MzMgMjAuMjAyMyA0LjExODcyIDIyLjA3OTZDMi43NjA3OCAyNy43MzY5IDEzLjQwNTkgMjAuOTM3NyAxNy45Njg3IDE3LjUxMDZDMTkuMjMwNCAxNi41NjI5IDIxLjAyNTggMTUuMTIwOSAyMi43MDE4IDEzLjYwNTlMMjIuOTExOSAxMy40NzQxQzIyLjkwNjQgMTMuNDU5NCAyMi45MDA5IDEzLjQ0NDcgMjIuODk1NCAxMy40MzAxQzI2LjI4NDQgMTAuMzM3OCAyOS4wNzUgNy4wMTExOSAyNS43NjgyIDcuMDAwMDFDMjMuOTcwOCA2Ljk5Mzk0IDE5Ljg3NjEgOC45MzMyNiAxOS44NzYxIDguOTMzMjZDMTkuODc2MSA4LjkzMzI2IDIyLjc4MjggNy43MzU2NCAyMy40NjUxIDguMDgyOUMyNC40NDM2IDguNTgwODggMjMuMzk5NSA5LjgzMDI2IDIxLjY2OSAxMS4zMDE5QzIwLjMxODEgOS42NDU2MSAxOC4yOTU2IDguNTkzMzkgMTYuMDM1MyA4LjU5MzM5QzExLjk2ODEgOC41OTMzOSA4LjY3MDk2IDEyLjAwMDIgOC42NzA5NiAxNi4yMDI4QzguNjcwOTYgMTcuNjE2MSA5LjA0Mzc5IDE4LjkzOTMgOS42OTMzNiAyMC4wNzMzQzcuNTgzODkgMjEuMzE2NyA1Ljk1ODY3IDIxLjg0OCA2LjAwODkyIDIwLjQzMDVDNi4wNDY0IDE5LjM3MzMgOC4yNTcxOSAxNy4yNjg5IDguMjU3MTkgMTcuMjY4OVpNMjMuMzk5NiAxNi4yMDI4QzIzLjM5OTYgMjAuNDA1NCAyMC4xMDI1IDIzLjgxMjMgMTYuMDM1MyAyMy44MTIzQzE1LjYwMzkgMjMuODEyMyAxNS4xODEyIDIzLjc3NCAxNC43NzAyIDIzLjcwMDVDMTQuMzM4NyAyMy42MjMzIDE0LjExNDEgMjMuMTYwNCAxNC4zMTYxIDIyLjc3MTRDMTYuMTk1MiAxOS4xNTI1IDIxLjAxNzMgMTYuMzkxNiAyMy4zMzkzIDE1LjIyNTNDMjMuMzc5IDE1LjU0NTMgMjMuMzk5NiAxNS44NzE2IDIzLjM5OTYgMTYuMjAyOFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik04LjUgOC41QzguNSA5LjMyODQzIDcuODI4NDMgMTAgNyAxMEM2LjE3MTU3IDEwIDUuNSA5LjMyODQzIDUuNSA4LjVDNS41IDcuNjcxNTcgNi4xNzE1NyA3IDcgN0M3LjgyODQzIDcgOC41IDcuNjcxNTcgOC41IDguNVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=";
3
+ export type MockRequest = {
4
+ searchParams: Record<string, string>;
5
+ };
6
+ export declare const ASTRAL_PRODUCTS: {
7
+ id: string;
8
+ name: string;
9
+ productUrl: string;
10
+ description: string;
11
+ shortDescription: string;
12
+ iconFileId: string;
13
+ logoUrl: string;
14
+ backgroundHexColor: string;
15
+ tenantId: string;
16
+ }[];
17
+ export declare const ECO_PRODUCTS: {
18
+ id: string;
19
+ name: string;
20
+ productUrl: string;
21
+ description: string;
22
+ shortDescription: string;
23
+ iconFileId: string;
24
+ logoUrl: string;
25
+ backgroundHexColor: string;
26
+ tenantId: string;
27
+ }[];
@@ -0,0 +1,116 @@
1
+ export const IDENTITY_URL = 'https://identity';
2
+ export const MOCK_IMAGE = 'data:image/svg+xml;base64, PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjI1NzE5IDE3LjI2ODlDOC4yNTcxOSAxNy4yNjg5IDQuNTY5MzMgMjAuMjAyMyA0LjExODcyIDIyLjA3OTZDMi43NjA3OCAyNy43MzY5IDEzLjQwNTkgMjAuOTM3NyAxNy45Njg3IDE3LjUxMDZDMTkuMjMwNCAxNi41NjI5IDIxLjAyNTggMTUuMTIwOSAyMi43MDE4IDEzLjYwNTlMMjIuOTExOSAxMy40NzQxQzIyLjkwNjQgMTMuNDU5NCAyMi45MDA5IDEzLjQ0NDcgMjIuODk1NCAxMy40MzAxQzI2LjI4NDQgMTAuMzM3OCAyOS4wNzUgNy4wMTExOSAyNS43NjgyIDcuMDAwMDFDMjMuOTcwOCA2Ljk5Mzk0IDE5Ljg3NjEgOC45MzMyNiAxOS44NzYxIDguOTMzMjZDMTkuODc2MSA4LjkzMzI2IDIyLjc4MjggNy43MzU2NCAyMy40NjUxIDguMDgyOUMyNC40NDM2IDguNTgwODggMjMuMzk5NSA5LjgzMDI2IDIxLjY2OSAxMS4zMDE5QzIwLjMxODEgOS42NDU2MSAxOC4yOTU2IDguNTkzMzkgMTYuMDM1MyA4LjU5MzM5QzExLjk2ODEgOC41OTMzOSA4LjY3MDk2IDEyLjAwMDIgOC42NzA5NiAxNi4yMDI4QzguNjcwOTYgMTcuNjE2MSA5LjA0Mzc5IDE4LjkzOTMgOS42OTMzNiAyMC4wNzMzQzcuNTgzODkgMjEuMzE2NyA1Ljk1ODY3IDIxLjg0OCA2LjAwODkyIDIwLjQzMDVDNi4wNDY0IDE5LjM3MzMgOC4yNTcxOSAxNy4yNjg5IDguMjU3MTkgMTcuMjY4OVpNMjMuMzk5NiAxNi4yMDI4QzIzLjM5OTYgMjAuNDA1NCAyMC4xMDI1IDIzLjgxMjMgMTYuMDM1MyAyMy44MTIzQzE1LjYwMzkgMjMuODEyMyAxNS4xODEyIDIzLjc3NCAxNC43NzAyIDIzLjcwMDVDMTQuMzM4NyAyMy42MjMzIDE0LjExNDEgMjMuMTYwNCAxNC4zMTYxIDIyLjc3MTRDMTYuMTk1MiAxOS4xNTI1IDIxLjAxNzMgMTYuMzkxNiAyMy4zMzkzIDE1LjIyNTNDMjMuMzc5IDE1LjU0NTMgMjMuMzk5NiAxNS44NzE2IDIzLjM5OTYgMTYuMjAyOFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik04LjUgOC41QzguNSA5LjMyODQzIDcuODI4NDMgMTAgNyAxMEM2LjE3MTU3IDEwIDUuNSA5LjMyODQzIDUuNSA4LjVDNS41IDcuNjcxNTcgNi4xNzE1NyA3IDcgN0M3LjgyODQzIDcgOC41IDcuNjcxNTcgOC41IDguNVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=';
3
+ export const ASTRAL_PRODUCTS = [
4
+ {
5
+ id: '1',
6
+ name: 'Астрал Отчет 5.0',
7
+ productUrl: 'https://product1',
8
+ description: 'Астрал.Продукт 1',
9
+ shortDescription: 'Астрал.Продукт 1',
10
+ iconFileId: '1',
11
+ logoUrl: MOCK_IMAGE,
12
+ backgroundHexColor: '#2e77ff',
13
+ tenantId: 'astral',
14
+ },
15
+ {
16
+ id: '2',
17
+ name: 'Астрал.ЭДО',
18
+ productUrl: 'https://product2',
19
+ description: 'Астрал.Продукт2',
20
+ shortDescription: 'Астрал.Продукт2',
21
+ iconFileId: '2',
22
+ logoUrl: MOCK_IMAGE,
23
+ backgroundHexColor: '#33adf2',
24
+ tenantId: 'astral',
25
+ },
26
+ {
27
+ id: '3',
28
+ name: 'Астрал iKЭДО',
29
+ productUrl: 'https://product3',
30
+ description: 'Астрал.Продукт3',
31
+ shortDescription: 'Астрал.Продукт3',
32
+ iconFileId: '3',
33
+ logoUrl: MOCK_IMAGE,
34
+ backgroundHexColor: '#755afd',
35
+ tenantId: 'astral',
36
+ },
37
+ {
38
+ id: '4',
39
+ name: 'Астрал.ОФД',
40
+ productUrl: 'https://product4',
41
+ description: 'Астрал.Продукт4',
42
+ shortDescription: 'Астрал.Продукт4',
43
+ iconFileId: '4',
44
+ logoUrl: MOCK_IMAGE,
45
+ backgroundHexColor: '#00b2ff',
46
+ tenantId: 'astral',
47
+ },
48
+ {
49
+ id: '5',
50
+ name: 'Астрал Доверенность',
51
+ productUrl: 'https://product5',
52
+ description: 'Астрал.Продукт5',
53
+ shortDescription: 'Астрал.Продукт5',
54
+ iconFileId: '5',
55
+ logoUrl: MOCK_IMAGE,
56
+ backgroundHexColor: '#7856ff',
57
+ tenantId: 'astral',
58
+ },
59
+ {
60
+ id: '6',
61
+ name: 'Личный Кабинет',
62
+ productUrl: 'https://product4',
63
+ description: 'Астрал.Продукт6',
64
+ shortDescription: 'Астрал.Продукт6',
65
+ iconFileId: '6',
66
+ logoUrl: MOCK_IMAGE,
67
+ backgroundHexColor: '#00b2ff',
68
+ tenantId: 'astral',
69
+ },
70
+ {
71
+ id: '7',
72
+ name: 'Личный Кабинет Партнёра',
73
+ productUrl: 'https://product5',
74
+ description: 'Астрал.Продукт7',
75
+ shortDescription: 'Астрал.Продукт7',
76
+ iconFileId: '7',
77
+ logoUrl: MOCK_IMAGE,
78
+ backgroundHexColor: '#7856ff',
79
+ tenantId: 'astral',
80
+ },
81
+ ];
82
+ export const ECO_PRODUCTS = [
83
+ {
84
+ id: '6',
85
+ name: 'Экосистема-Продукт 1',
86
+ productUrl: 'https://eco1',
87
+ description: 'Экосистема-Продукт1',
88
+ shortDescription: 'Экосистема-Продукт1',
89
+ iconFileId: 'test',
90
+ logoUrl: MOCK_IMAGE,
91
+ backgroundHexColor: '#2e77ff',
92
+ tenantId: 'eco',
93
+ },
94
+ {
95
+ id: '7',
96
+ name: 'Экосистема-Продукт 2',
97
+ productUrl: 'https://eco2',
98
+ description: 'Экосистема-Продукт2',
99
+ shortDescription: 'Экосистема-Продукт2',
100
+ iconFileId: 'test',
101
+ logoUrl: MOCK_IMAGE,
102
+ backgroundHexColor: '#7756FF',
103
+ tenantId: 'eco',
104
+ },
105
+ {
106
+ id: '8',
107
+ name: 'Экосистема-Продукт 3',
108
+ productUrl: 'https://eco3',
109
+ description: 'Экосистема-Продукт3',
110
+ shortDescription: 'Экосистема-Продукт3',
111
+ iconFileId: 'test',
112
+ logoUrl: MOCK_IMAGE,
113
+ backgroundHexColor: '#0397b3',
114
+ tenantId: 'eco',
115
+ },
116
+ ];
@@ -0,0 +1,47 @@
1
+ import type { MockRequest } from './mockData';
2
+ export declare const createProductsMockResponse: ({ searchParams }: MockRequest) => {
3
+ data: {
4
+ id: string;
5
+ name: string;
6
+ productUrl: string;
7
+ description: string;
8
+ shortDescription: string;
9
+ iconFileId: string;
10
+ logoUrl: string;
11
+ backgroundHexColor: string;
12
+ tenantId: string;
13
+ }[];
14
+ meta: {
15
+ totalCount: number;
16
+ };
17
+ };
18
+ export declare const MOCK_FETCH_IDENTITY_PRODUCTS: {
19
+ url: string;
20
+ method: string;
21
+ status: number;
22
+ response: ({ searchParams }: MockRequest) => {
23
+ data: {
24
+ id: string;
25
+ name: string;
26
+ productUrl: string;
27
+ description: string;
28
+ shortDescription: string;
29
+ iconFileId: string;
30
+ logoUrl: string;
31
+ backgroundHexColor: string;
32
+ tenantId: string;
33
+ }[];
34
+ meta: {
35
+ totalCount: number;
36
+ };
37
+ };
38
+ }[];
39
+ export declare const MOCK_FETCH_IDENTITY_TENANTS: {
40
+ url: string;
41
+ method: string;
42
+ status: number;
43
+ response: {
44
+ id: string;
45
+ name: string;
46
+ }[];
47
+ }[];