profinansy-ui-lib 3.3.18 → 3.3.19
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/dist/components/blocks/header/components/HeaderCenter/HeaderCenter.d.ts +3 -1
- package/dist/components/blocks/header/components/header-link-item/header-link-item.d.ts +2 -1
- package/dist/components/blocks/header/components/header-link-item/header-link-item.styled.d.ts +2 -1
- package/dist/components/uikit/Dropdown/Dropdown.d.ts +1 -1
- package/dist/components/uikit/FilterButton/Drop/Drop.d.ts +1 -1
- package/dist/components/uikit/Hint/Hint.d.ts +1 -1
- package/dist/components/uikit/Popup/Popup.d.ts +1 -1
- package/dist/components/uikit/Tooltip/Tooltip.d.ts +1 -1
- package/dist/index.js +7 -6
- package/package.json +1 -1
- package/readme.md +86 -10
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ElementType } from 'react';
|
|
1
2
|
import { UserRole } from '../../../../../common.types';
|
|
2
3
|
import { IApiSettings } from '../../../../../api/api';
|
|
3
4
|
interface IProps {
|
|
@@ -7,7 +8,8 @@ interface IProps {
|
|
|
7
8
|
hostnameLMS: string;
|
|
8
9
|
userRole: UserRole;
|
|
9
10
|
leaderBoardPermission: boolean;
|
|
11
|
+
LinkWrapper: ElementType;
|
|
10
12
|
handleRouteChange: (val: string, target?: boolean) => void;
|
|
11
13
|
}
|
|
12
|
-
declare const HeaderCenter: ({ apiSettings, hostname, hostnameLenta, hostnameLMS, userRole, leaderBoardPermission, handleRouteChange }: IProps) => JSX.Element;
|
|
14
|
+
declare const HeaderCenter: ({ apiSettings, hostname, hostnameLenta, hostnameLMS, userRole, leaderBoardPermission, handleRouteChange, LinkWrapper }: IProps) => JSX.Element;
|
|
13
15
|
export { HeaderCenter };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
1
|
+
import { ElementType, FC } from 'react';
|
|
2
2
|
import { HeaderLinkType } from '../../../../../common.types';
|
|
3
3
|
type Props = HeaderLinkType & {
|
|
4
|
+
LinkWrapper: ElementType;
|
|
4
5
|
onRouteChange: (path: string, target?: boolean) => void;
|
|
5
6
|
target?: boolean;
|
|
6
7
|
activeColor?: string;
|
package/dist/components/blocks/header/components/header-link-item/header-link-item.styled.d.ts
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
export declare const Border: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
|
|
3
3
|
active?: boolean;
|
|
4
4
|
}, never>;
|
|
5
|
-
export declare const
|
|
5
|
+
export declare const ButtonElement: import("styled-components").StyledComponent<"button", import("styled-components").DefaultTheme, {}, never>;
|
|
6
|
+
export declare const Container: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
|
6
7
|
export declare const HeaderLink: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../../../../uikit/Typography/Typography.typed").ITypographyProps & import("react").CSSProperties & import("react").RefAttributes<HTMLElement>>, import("styled-components").DefaultTheme, {
|
|
7
8
|
active?: boolean;
|
|
8
9
|
}, never>;
|
|
@@ -25,9 +25,9 @@ export declare function useDrop({ placement, onOpenList }: {
|
|
|
25
25
|
} & import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
|
|
26
26
|
context: {
|
|
27
27
|
placement: Placement;
|
|
28
|
+
strategy: import("@floating-ui/utils").Strategy;
|
|
28
29
|
x: number;
|
|
29
30
|
y: number;
|
|
30
|
-
strategy: import("@floating-ui/utils").Strategy;
|
|
31
31
|
middlewareData: import("@floating-ui/core").MiddlewareData;
|
|
32
32
|
isPositioned: boolean;
|
|
33
33
|
update: () => void;
|
|
@@ -24,9 +24,9 @@ export declare function useDrop({ placement }: {
|
|
|
24
24
|
} & import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
|
|
25
25
|
context: {
|
|
26
26
|
placement: Placement;
|
|
27
|
+
strategy: import("@floating-ui/utils").Strategy;
|
|
27
28
|
x: number;
|
|
28
29
|
y: number;
|
|
29
|
-
strategy: import("@floating-ui/utils").Strategy;
|
|
30
30
|
middlewareData: import("@floating-ui/core").MiddlewareData;
|
|
31
31
|
isPositioned: boolean;
|
|
32
32
|
update: () => void;
|
|
@@ -26,9 +26,9 @@ export declare function useHint({ placement, isClickMobile }?: HintOptions): {
|
|
|
26
26
|
} & import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
|
|
27
27
|
context: {
|
|
28
28
|
placement: Placement;
|
|
29
|
+
strategy: import("@floating-ui/utils").Strategy;
|
|
29
30
|
x: number;
|
|
30
31
|
y: number;
|
|
31
|
-
strategy: import("@floating-ui/utils").Strategy;
|
|
32
32
|
middlewareData: import("@floating-ui/core").MiddlewareData;
|
|
33
33
|
isPositioned: boolean;
|
|
34
34
|
update: () => void;
|
|
@@ -29,9 +29,9 @@ export declare function usePopup({ placement, isHover }: {
|
|
|
29
29
|
} & import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
|
|
30
30
|
context: {
|
|
31
31
|
placement: Placement;
|
|
32
|
+
strategy: import("@floating-ui/utils").Strategy;
|
|
32
33
|
x: number;
|
|
33
34
|
y: number;
|
|
34
|
-
strategy: import("@floating-ui/utils").Strategy;
|
|
35
35
|
middlewareData: import("@floating-ui/core").MiddlewareData;
|
|
36
36
|
isPositioned: boolean;
|
|
37
37
|
update: () => void;
|
|
@@ -26,9 +26,9 @@ export declare function useTooltip({ placement, isHover, showArrow }: {
|
|
|
26
26
|
} & import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
|
|
27
27
|
context: {
|
|
28
28
|
placement: Placement;
|
|
29
|
+
strategy: import("@floating-ui/utils").Strategy;
|
|
29
30
|
x: number;
|
|
30
31
|
y: number;
|
|
31
|
-
strategy: import("@floating-ui/utils").Strategy;
|
|
32
32
|
middlewareData: import("@floating-ui/core").MiddlewareData;
|
|
33
33
|
isPositioned: boolean;
|
|
34
34
|
update: () => void;
|
package/dist/index.js
CHANGED
|
@@ -3979,7 +3979,7 @@
|
|
|
3979
3979
|
fill: ${e=>e.theme.icons.accent};
|
|
3980
3980
|
}
|
|
3981
3981
|
`},
|
|
3982
|
-
`},1741:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(t,n);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,a)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.HeaderCenter=void 0;const i=o(n(8156)),l=n(2148),u=n(6991),c=n(3479),s=n(1704),d=n(6822),f=n(7984);t.HeaderCenter=({apiSettings:e,hostname:t,hostnameLenta:n,hostnameLMS:r,userRole:a,leaderBoardPermission:o,handleRouteChange:p})=>{const[
|
|
3982
|
+
`},1741:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(t,n);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,a)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.HeaderCenter=void 0;const i=o(n(8156)),l=n(2148),u=n(6991),c=n(3479),s=n(1704),d=n(6822),f=n(7984);t.HeaderCenter=({apiSettings:e,hostname:t,hostnameLenta:n,hostnameLMS:r,userRole:a,leaderBoardPermission:o,handleRouteChange:p,LinkWrapper:h})=>{const[m,v]=(0,i.useState)(!1),[g,b]=(0,i.useState)(f.INSTRUMENTS_TYPES.stocks),{tabs:y,data:w,loader:x,isEmpty:_,favourites:O,handleChange:E}=(0,f.useSearchInstruments)(e,!1,b),M=(0,c.getMainLinks)(t,n,r,o,a);return i.default.createElement(u.CenterWrapper,null,m&&i.default.createElement(u.Background,{onClick:()=>v(!1)}),i.default.createElement(u.LinksContainer,null,i.default.createElement(s.Search,{onChange:E,isOpen:m,setIsOpen:v,isLoader:x}),i.default.createElement(u.LinkList,{isOpenSearch:m,onClick:e=>e.stopPropagation()},null==M?void 0:M.map(((e,t)=>i.default.createElement(l.HeaderLinkItem,Object.assign({LinkWrapper:h,onRouteChange:p,key:t},e)))))),i.default.createElement(d.SearchContent,{apiSettings:e,isEmpty:_,hostname:t,data:w,favourites:O,isOpen:m,setSelectedTab:b,selectedTab:g,tabs:y,handleRouteChange:p,onClose:()=>v(!1)}))}},6221:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(t,n);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,a)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.HeaderRight=void 0;const l=i(n(8156)),u=o(n(6991)),c=n(8065),s=i(n(3432)),d=n(2258),f=n(1408),p=n(550),h=n(9549),m=n(3493);t.HeaderRight=({user:e,hostname:t,userRole:n,isProfinansy:r,isPossibleTrial:a,trial:o,handleRouteChange:i,setBurgerOpened:v,onLogout:g,apiSettings:b})=>{const{xs:y}=(0,p.useBreakpoints)(),w=()=>{const e=r?"/market/dashboard":window.location.href;i(t+"/login?redirect="+e)};return l.default.createElement(u.HeaderRight,null,l.default.createElement(c.Favourite,{hostname:t,handleRouteChange:i,userRole:n}),l.default.createElement(m.Notification,{hostname:t,handleRouteChange:i,userRole:n,apiSettings:b}),l.default.createElement(h.PremiumDropdownList,{trial:o,userRole:n,hostname:t}),"guest"===n?l.default.createElement(l.default.Fragment,null,y?l.default.createElement(u.LoginIcon,{onClick:w},l.default.createElement(s.default,null)):l.default.createElement(d.Button,{onClick:w,text:"Войти",size:"S"})):l.default.createElement(f.UserDropdownMenu,{user:e,userRole:n,closeBurger:()=>v(!1),hostname:t,onRouteChange:i,onLogout:g,isPossibleTrial:a}))}},5668:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(t,n);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,a)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.NotificationButton=t.NotificationsCount=t.Wrapper=void 0;const i=o(n(1608)),l=n(4542);t.Wrapper=i.default.div`
|
|
3983
3983
|
position: relative;
|
|
3984
3984
|
`,t.NotificationsCount=i.default.div`
|
|
3985
3985
|
position: absolute;
|
|
@@ -4172,7 +4172,7 @@
|
|
|
4172
4172
|
@media (max-width: 1400px) {
|
|
4173
4173
|
margin-left: 0;
|
|
4174
4174
|
}
|
|
4175
|
-
`},5154:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(t,n);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,a)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.UserAvatar=void 0;const l=i(n(8156)),u=o(n(4075)),c=n(1597);t.UserAvatar=({avatarUrl:e})=>l.default.createElement(u.Container,null,l.default.createElement(c.Avatar,{size:"40px",link:e,radius:"16px"}))},2002:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.HeaderLink=t.Container=t.Border=void 0;const a=r(n(1608)),o=n(4542),i=n(5492);t.Border=a.default.div`
|
|
4175
|
+
`},5154:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(t,n);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,a)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.UserAvatar=void 0;const l=i(n(8156)),u=o(n(4075)),c=n(1597);t.UserAvatar=({avatarUrl:e})=>l.default.createElement(u.Container,null,l.default.createElement(c.Avatar,{size:"40px",link:e,radius:"16px"}))},2002:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.HeaderLink=t.Container=t.ButtonElement=t.Border=void 0;const a=r(n(1608)),o=n(4542),i=n(5492);t.Border=a.default.div`
|
|
4176
4176
|
min-width: 1.5px;
|
|
4177
4177
|
height: 1.5px;
|
|
4178
4178
|
width: 100%;
|
|
@@ -4182,12 +4182,13 @@
|
|
|
4182
4182
|
position: absolute;
|
|
4183
4183
|
left: 0;
|
|
4184
4184
|
bottom: -3px;
|
|
4185
|
-
`,t.
|
|
4185
|
+
`,t.ButtonElement=a.default.button`
|
|
4186
4186
|
border: none;
|
|
4187
4187
|
background: none;
|
|
4188
4188
|
cursor: pointer;
|
|
4189
|
-
transition: ${()=>`all 0.3s ${o.AnimationFunctions.animation_1}`};
|
|
4190
4189
|
padding: 0;
|
|
4190
|
+
`,t.Container=a.default.div`
|
|
4191
|
+
transition: ${()=>`all 0.3s ${o.AnimationFunctions.animation_1}`};
|
|
4191
4192
|
position: relative;
|
|
4192
4193
|
&:hover ${t.Border} {
|
|
4193
4194
|
background: rgba(255, 255, 255, 0.4);
|
|
@@ -4212,7 +4213,7 @@
|
|
|
4212
4213
|
@media (max-width: 1140px) {
|
|
4213
4214
|
padding: 6px 0;
|
|
4214
4215
|
}
|
|
4215
|
-
`},2148:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.HeaderLinkItem=void 0;const a=r(n(8156)),o=n(2002),i=n(2743);t.HeaderLinkItem=({name:e,href:t,subPages:n,onRouteChange:r,Icon:l,innerPages:u,target:c})=>{const{isActive:
|
|
4216
|
+
`},2148:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.HeaderLinkItem=void 0;const a=r(n(8156)),o=n(2002),i=n(2743);t.HeaderLinkItem=({name:e,href:t,subPages:n,onRouteChange:r,Icon:l,innerPages:u,target:c,LinkWrapper:s})=>{const{isActive:d}=(0,i.useActivePage)(t,n,u),f=()=>a.default.createElement(o.Container,null,a.default.createElement(o.HeaderLink,{active:d,variant:"description-SemiBold",tag:"span"},a.default.createElement(l,null),a.default.createElement("span",null,e)),a.default.createElement(o.Border,{active:d}));return s?a.default.createElement(s,{href:t},f()):a.default.createElement(o.ButtonElement,{onClick:()=>{r(t,c)}},f())}},225:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.listAdvantages=void 0;const a=r(n(7907)),o=r(n(372)),i=r(n(7288)),l=r(n(847)),u=r(n(1223)),c=r(n(453)),s=r(n(3945)),d=r(n(9459)),f=r(n(2668)),p=r(n(9179)),h=r(n(6671));t.listAdvantages=[{item:"Курс «Школа начинающего инвестора»",Icon:l.default},{item:"Ведение безлимитного количества целей в разделе «Цели и желания»",Icon:o.default},{item:"Ведение безлимитного количества желаний в разделе «Мои желания»",Icon:a.default},{item:"<b>Готовые подборки</b> лучших инструментов для инвестиций",Icon:u.default},{item:"Интерактивная статистика и аналитика <b>по вашим брокерским счетам и инвестиционным портфелям</b> в разделе «Портфели»",Icon:i.default},{item:"Доступ к <b>готовым стратегиям по облигациям и акциям</b> в разделе «Календарь инвестора»",Icon:c.default},{item:"Технологичный <b>удобный поиск инвестиций</b> в разделе «Поиск»",Icon:s.default},{item:"Аналитика по 20 000+ акциям",Icon:d.default},{item:"Аналитика по 3 000+ ETF/ПИФ",Icon:f.default},{item:"Аналитика по 145 000+ облигациям всего мира",Icon:d.default},{item:"Доступ к аналитике инструментов <b>8+ мировых бирж</b> из России, США, Китая и Европы",Icon:p.default},{item:"<b>Быстрый подбор инвестиций по фильтрам pro.finansy</b> - выбор только потенциально прибыльных компаний и инструментов для инвестиций",Icon:h.default}]},3254:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(t,n);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,a)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.PremiumListText=t.PremiumListTitle=t.PremiumListItem=t.PremiumList=t.PremiumListWrapper=t.PremiumDropdownRoot=void 0;const i=o(n(1608)),l=n(4240),u=n(1230),c=n(140),s=n(4542);t.PremiumDropdownRoot=i.default.div`
|
|
4216
4217
|
position: relative;
|
|
4217
4218
|
`,t.PremiumListWrapper=i.default.div`
|
|
4218
4219
|
position: absolute;
|
|
@@ -4512,7 +4513,7 @@
|
|
|
4512
4513
|
background: none;
|
|
4513
4514
|
border: none;
|
|
4514
4515
|
padding: 0;
|
|
4515
|
-
`},3210:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(t,n);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,a)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Header=void 0;const l=o(n(8156)),u=o(n(6991)),c=i(n(6835)),s=n(4240),d=n(6221),f=n(1741),p=n(2715),h=n(1608),m=n(1197),v=n(1899),g=n(259);t.Header=({onRouteChange:e,isProfinansy:t,onLogout:n,isTest:r,leaderBoardPermission:a,user:o,apiSettings:i,LinkWrapper:b})=>{const[y,w]=(0,l.useState)(!1),x=o||{},{rights:_={},purchased:O={},user_id:E}=x,M=1===_.ext?"paid":void 0!==E?"authorized":"guest",{trial:k,isPossibleTrial:P}=(0,s.getTrial)(_,O),C=(0,g.getProfinansyHost)(t,r),S=(0,g.getFeedHost)(r),j=(0,g.getLMSHost)(r),T=(t,n)=>{n?window.open(t,"_blank"):e?e(t):window.location=t},{mode:D}=(0,m.useMode)();return l.default.createElement(h.ThemeProvider,{theme:v.palette[D]},l.default.createElement("div",null,l.default.createElement(u.Stub,null),l.default.createElement(u.Container,{id:"header-container"},l.default.createElement(u.Header,{id:"header-center-line"},l.default.createElement(p.Burger,{apiSettings:i,userRole:M,isLeaderboardPermission:a,isProfinansy:t,isTest:r,onRouteChange:T,isOpen:y,setBurgerOpened:w,LinkWrapper:b}),l.default.createElement(u.LogoBtn,{onClick:()=>T(`${C}/`)},l.default.createElement(c.default,null)),l.default.createElement(f.HeaderCenter,{apiSettings:i,leaderBoardPermission:a,hostname:C,hostnameLenta:S,hostnameLMS:j,userRole:M,handleRouteChange:T}),l.default.createElement(d.HeaderRight,{user:x,trial:k,userRole:M,hostname:C,isProfinansy:t,isPossibleTrial:P,handleRouteChange:T,onLogout:n,setBurgerOpened:w,apiSettings:i})))))}},4240:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDropdownsLinksColor=t.getTrial=void 0;const r=n(2054);t.getTrial=(e,t)=>{let n=null,a=null;const o=null==e?void 0:e.is_trial;return t&&"idv"in t&&!o?a=!0:o&&!(0,r.isBefore)(new Date(o),new Date)&&(n=o),{trial:n,isPossibleTrial:a}},t.getDropdownsLinksColor=(e,t,n)=>n?e.text.tertiary:t?e.text.accent:e.text.primary},8632:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(a,o){function i(e){try{u(r.next(e))}catch(e){o(e)}}function l(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,l)}u((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.useGetNotificationsCount=void 0;const a=n(8156),o=n(8478),i=n(6921),l=n(1099);t.useGetNotificationsCount=e=>{const[t,n]=(0,a.useState)(0),u=(0,a.useCallback)((()=>r(void 0,void 0,void 0,(function*(){const{count:t}=yield o.notificationsApi.getNotificationsCount(e);n(t)}))),[e]);(0,a.useEffect)((()=>{u()}),[]);try{(0,i.onMessage)(l.messaging,u)}catch(e){}return(0,a.useEffect)((()=>(window.addEventListener("focus",u),()=>window.removeEventListener("focus",u))),[]),{notificationsCount:t}}},4968:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(t,n);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,a)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),a(n(3210),t)},4710:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Loader=t.Content=t.Icons=void 0;const a=r(n(1608)),o=n(1230),i=n(6378);t.Icons=a.default.div`
|
|
4516
|
+
`},3210:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(t,n);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,a)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Header=void 0;const l=o(n(8156)),u=o(n(6991)),c=i(n(6835)),s=n(4240),d=n(6221),f=n(1741),p=n(2715),h=n(1608),m=n(1197),v=n(1899),g=n(259);t.Header=({onRouteChange:e,isProfinansy:t,onLogout:n,isTest:r,leaderBoardPermission:a,user:o,apiSettings:i,LinkWrapper:b})=>{const[y,w]=(0,l.useState)(!1),x=o||{},{rights:_={},purchased:O={},user_id:E}=x,M=1===_.ext?"paid":void 0!==E?"authorized":"guest",{trial:k,isPossibleTrial:P}=(0,s.getTrial)(_,O),C=(0,g.getProfinansyHost)(t,r),S=(0,g.getFeedHost)(r),j=(0,g.getLMSHost)(r),T=(t,n)=>{n?window.open(t,"_blank"):e?e(t):window.location=t},{mode:D}=(0,m.useMode)();return l.default.createElement(h.ThemeProvider,{theme:v.palette[D]},l.default.createElement("div",null,l.default.createElement(u.Stub,null),l.default.createElement(u.Container,{id:"header-container"},l.default.createElement(u.Header,{id:"header-center-line"},l.default.createElement(p.Burger,{apiSettings:i,userRole:M,isLeaderboardPermission:a,isProfinansy:t,isTest:r,onRouteChange:T,isOpen:y,setBurgerOpened:w,LinkWrapper:b}),l.default.createElement(u.LogoBtn,{onClick:()=>T(`${C}/`)},l.default.createElement(c.default,null)),l.default.createElement(f.HeaderCenter,{apiSettings:i,leaderBoardPermission:a,hostname:C,hostnameLenta:S,hostnameLMS:j,userRole:M,LinkWrapper:b,handleRouteChange:T}),l.default.createElement(d.HeaderRight,{user:x,trial:k,userRole:M,hostname:C,isProfinansy:t,isPossibleTrial:P,handleRouteChange:T,onLogout:n,setBurgerOpened:w,apiSettings:i})))))}},4240:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDropdownsLinksColor=t.getTrial=void 0;const r=n(2054);t.getTrial=(e,t)=>{let n=null,a=null;const o=null==e?void 0:e.is_trial;return t&&"idv"in t&&!o?a=!0:o&&!(0,r.isBefore)(new Date(o),new Date)&&(n=o),{trial:n,isPossibleTrial:a}},t.getDropdownsLinksColor=(e,t,n)=>n?e.text.tertiary:t?e.text.accent:e.text.primary},8632:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(a,o){function i(e){try{u(r.next(e))}catch(e){o(e)}}function l(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,l)}u((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.useGetNotificationsCount=void 0;const a=n(8156),o=n(8478),i=n(6921),l=n(1099);t.useGetNotificationsCount=e=>{const[t,n]=(0,a.useState)(0),u=(0,a.useCallback)((()=>r(void 0,void 0,void 0,(function*(){const{count:t}=yield o.notificationsApi.getNotificationsCount(e);n(t)}))),[e]);(0,a.useEffect)((()=>{u()}),[]);try{(0,i.onMessage)(l.messaging,u)}catch(e){}return(0,a.useEffect)((()=>(window.addEventListener("focus",u),()=>window.removeEventListener("focus",u))),[]),{notificationsCount:t}}},4968:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(t,n);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,a)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),a(n(3210),t)},4710:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Loader=t.Content=t.Icons=void 0;const a=r(n(1608)),o=n(1230),i=n(6378);t.Icons=a.default.div`
|
|
4516
4517
|
width: 100%;
|
|
4517
4518
|
display: flex;
|
|
4518
4519
|
flex-direction: column;
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -1,15 +1,71 @@
|
|
|
1
|
-
#
|
|
2
|
-
1. Создать ветку от master
|
|
3
|
-
2. Сделать изменения, обновить версию в package.json, выполнить команду yarn build, запушить в гитлаб и открыть МР в мастер(прикрепляете ссылку на задачу в МР и кидаете его в группу ревью)
|
|
4
|
-
3. Ревьювер посмотрит на МР, если это апрув, примет МР в main, и выполнит у себя локально команду npm publish
|
|
1
|
+
# Общая библиотека компонентов
|
|
5
2
|
|
|
3
|
+
## Описание проекта
|
|
4
|
+
- Документация актуальных компонентов - https://master--651c1b79b512c24adef7cc46.chromatic.com/
|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
Проект предназначен для создания общих компонентов, которые используются в нескольких проектах сразу:
|
|
7
|
+
1) UIKIT
|
|
8
|
+
2) Header
|
|
9
|
+
3) Footer
|
|
10
|
+
4) SideMenu
|
|
11
|
+
5) Layout
|
|
12
|
+
6) Вспомогательные функции
|
|
13
|
+
|
|
14
|
+
## Для начала работы
|
|
15
|
+
1) Склонировать репозиторий ```git@profinansy.gitlab.yandexcloud.net:ru.profinansy/frontend/profinansy-react-components.git```
|
|
16
|
+
2) Установить зависимости. Для этого в корневой папке проекта выполнить команду ```yarn install```
|
|
17
|
+
3) Запустить сторибук ```yarn storybook```
|
|
18
|
+
|
|
19
|
+
## Используемые команды
|
|
20
|
+
#### Установка зависимостей
|
|
21
|
+
```bash
|
|
22
|
+
yarn install
|
|
23
|
+
```
|
|
24
|
+
#### Сборка проекта
|
|
25
|
+
```bash
|
|
26
|
+
yarn build
|
|
27
|
+
```
|
|
28
|
+
#### Апгрейд и публикация пакета
|
|
29
|
+
```bash
|
|
30
|
+
yarn pub
|
|
31
|
+
```
|
|
32
|
+
#### Проверка проекта линтером
|
|
33
|
+
```bash
|
|
34
|
+
yarn lint
|
|
35
|
+
```
|
|
36
|
+
#### Автоматическое исправление замечаний линтером
|
|
37
|
+
```bash
|
|
38
|
+
yarn lint:fix
|
|
39
|
+
```
|
|
40
|
+
#### Проверка проекта на типы
|
|
41
|
+
```bash
|
|
42
|
+
yarn types
|
|
43
|
+
```
|
|
44
|
+
#### Сборка сторибука в дев режиме (для разработки)
|
|
45
|
+
```bash
|
|
46
|
+
yarn storybook
|
|
47
|
+
```
|
|
48
|
+
#### Сборка сторибука для деплоя
|
|
49
|
+
```bash
|
|
50
|
+
yarn build-storybook
|
|
51
|
+
```
|
|
52
|
+
#### Сборка иконок в документацию
|
|
53
|
+
```bash
|
|
54
|
+
yarn icons:story
|
|
55
|
+
```
|
|
56
|
+
#### Деплой сторибука
|
|
57
|
+
```bash
|
|
58
|
+
yarn chromatic
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Нюансы по работу с проектом
|
|
62
|
+
|
|
63
|
+
### Как смотреть изменения
|
|
8
64
|
1. Надо расшарить локально репу общих компонентов, для этого в терминале в корневой директории проекта **profinansy-react-components** запустить команду **yarn link**
|
|
9
65
|
2. В своем проекте, в котором используется эта репа(profinansy, к примеру),надо выполнить команду **yarn remove profinansy-ui-lib**, затем **yarn link profinansy-ui-lib**. Для применения изменений выполняйте команду **yarn build** в репозитории **profinansy-react-components**. Возможно то, что typescript будет кидать ошибки JSX типа "**cannot be used as a JSX component**", пока вы не отвяжете локальную привязку
|
|
10
66
|
3. После завершения работы над компонентами, надо отвязать привязку: **yarn unlink profinansy-ui-lib**, затем **yarn add --force profinansy-ui-lib**
|
|
11
67
|
|
|
12
|
-
|
|
68
|
+
### Как работать с иконками
|
|
13
69
|
|
|
14
70
|
Все иконки кладем в папку icons в формате svg. Подключать в компонент иконки
|
|
15
71
|
можно напрямую через import. Они сгенерируются в компоненты автоматически
|
|
@@ -19,7 +75,7 @@
|
|
|
19
75
|
``yarn icons:story``. Он автоматически сгенерирует новый `.stories` файл
|
|
20
76
|
и добавит все ваши новые иконки.
|
|
21
77
|
|
|
22
|
-
|
|
78
|
+
### Как работать с изображениями
|
|
23
79
|
|
|
24
80
|
Если вам нужно использовать какое-либо изображение отличное от формата `.svg`, то скачиваете это изображение
|
|
25
81
|
из фигмы и отправляете девопсам с просьбой залить его в файлохранилище. У себя уже просто вставляете ссылку,
|
|
@@ -27,7 +83,7 @@
|
|
|
27
83
|
Изображения хранятся вот тут: https://storage.yandexcloud.net/public-files.profinansy.ru/images
|
|
28
84
|
|
|
29
85
|
|
|
30
|
-
|
|
86
|
+
### Темизация
|
|
31
87
|
|
|
32
88
|
Палитра и общий провайдер, который передает выбранную тему лежит в папке `theme`.
|
|
33
89
|
Когда вы подключаете эту библиотеку к своему проекту, то оберните все приложение в провайдер
|
|
@@ -38,7 +94,27 @@ ThemeProvider. Через хук `useTheme` вы можете получить
|
|
|
38
94
|
Чтобы компоненты из папки `uikit` также имели типизацию они должны быть все обренуты
|
|
39
95
|
в ThemeProvider из `styled-components`
|
|
40
96
|
|
|
41
|
-
|
|
97
|
+
### Storybook
|
|
42
98
|
Для всех компонентов используется сторибук. Все изменения можно смотреть там.
|
|
43
99
|
Сторибук деплоится на chromatic. Для того, что задеплоить ваши изменения, сделайте коммит в гит,
|
|
44
|
-
а потом выполните команду ``yarn chromatic``
|
|
100
|
+
а потом выполните команду ``yarn chromatic``
|
|
101
|
+
|
|
102
|
+
## Файловая структура
|
|
103
|
+
1) В папке **api** находятся функции запросов к бэкенду
|
|
104
|
+
2) В папке **components** находятся все компоненты на проекте
|
|
105
|
+
- **blocks** - крупные блоки (header, footer и тд)
|
|
106
|
+
- **layouts** - общий лэйаут
|
|
107
|
+
- **modals** - общие модалки
|
|
108
|
+
- **uikit** - uikit проектов
|
|
109
|
+
3) В папке **constants** находятся все константы
|
|
110
|
+
4) папке **hooks** находятся все общие хуки
|
|
111
|
+
5) папке **icons** находятся все иконки
|
|
112
|
+
6) папке **theme** находятся все, что касается темизации
|
|
113
|
+
7) папке **urls** находятся объекты с роутингом
|
|
114
|
+
8) папке **utils** находятся все вспомогательные функции
|
|
115
|
+
|
|
116
|
+
## Процесс работы над задачей
|
|
117
|
+
https://wiki.corp.profinansy.net/pages/viewpage.action?pageId=4948261
|
|
118
|
+
|
|
119
|
+
## Регламенты разработки
|
|
120
|
+
https://wiki.corp.profinansy.net/pages/viewpage.action?pageId=4948295
|