@redneckz/wildless-cms-uni-blocks 0.10.3 → 0.10.5

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 (115) hide show
  1. package/bundle/bundle.umd.js +23 -11
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/ui-kit/CookiePopup/CookiePopup.d.ts +8 -0
  4. package/bundle/ui-kit/Dialog/useDialogProps.d.ts +1 -1
  5. package/bundle/ui-kit/LinkWrapper/LinkWrapper.d.ts +1 -0
  6. package/dist/components/CarouselLinks/CarouselLinks.js +1 -1
  7. package/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
  8. package/dist/components/ContentPage/ContentPage.js +2 -1
  9. package/dist/components/ContentPage/ContentPage.js.map +1 -1
  10. package/dist/components/Header/InternetBankButton.js +1 -1
  11. package/dist/components/Header/InternetBankButton.js.map +1 -1
  12. package/dist/ui-kit/CookiePopup/CookiePopup.d.ts +8 -0
  13. package/dist/ui-kit/CookiePopup/CookiePopup.js +22 -0
  14. package/dist/ui-kit/CookiePopup/CookiePopup.js.map +1 -0
  15. package/dist/ui-kit/Dialog/CloseButton.js +1 -1
  16. package/dist/ui-kit/Dialog/CloseButton.js.map +1 -1
  17. package/dist/ui-kit/Dialog/Dialog.js +1 -1
  18. package/dist/ui-kit/Dialog/Dialog.js.map +1 -1
  19. package/dist/ui-kit/Dialog/useDialogProps.d.ts +1 -1
  20. package/dist/ui-kit/Dialog/useDialogProps.js +2 -2
  21. package/dist/ui-kit/Dialog/useDialogProps.js.map +1 -1
  22. package/dist/ui-kit/LinkWrapper/LinkWrapper.d.ts +1 -0
  23. package/dist/ui-kit/LinkWrapper/LinkWrapper.js +2 -2
  24. package/dist/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -1
  25. package/dist/ui-kit/Sitemap/Sitemap.js +1 -1
  26. package/dist/ui-kit/Sitemap/Sitemap.js.map +1 -1
  27. package/lib/common.css +1 -1
  28. package/lib/components/CarouselLinks/CarouselLinks.js +1 -1
  29. package/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
  30. package/lib/components/ContentPage/ContentPage.js +2 -1
  31. package/lib/components/ContentPage/ContentPage.js.map +1 -1
  32. package/lib/components/Header/InternetBankButton.js +1 -1
  33. package/lib/components/Header/InternetBankButton.js.map +1 -1
  34. package/lib/ui-kit/CookiePopup/CookiePopup.d.ts +8 -0
  35. package/lib/ui-kit/CookiePopup/CookiePopup.js +20 -0
  36. package/lib/ui-kit/CookiePopup/CookiePopup.js.map +1 -0
  37. package/lib/ui-kit/Dialog/CloseButton.js +1 -1
  38. package/lib/ui-kit/Dialog/CloseButton.js.map +1 -1
  39. package/lib/ui-kit/Dialog/Dialog.js +1 -1
  40. package/lib/ui-kit/Dialog/Dialog.js.map +1 -1
  41. package/lib/ui-kit/Dialog/useDialogProps.d.ts +1 -1
  42. package/lib/ui-kit/Dialog/useDialogProps.js +2 -2
  43. package/lib/ui-kit/Dialog/useDialogProps.js.map +1 -1
  44. package/lib/ui-kit/LinkWrapper/LinkWrapper.d.ts +1 -0
  45. package/lib/ui-kit/LinkWrapper/LinkWrapper.js +2 -2
  46. package/lib/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -1
  47. package/lib/ui-kit/Sitemap/Sitemap.js +1 -1
  48. package/lib/ui-kit/Sitemap/Sitemap.js.map +1 -1
  49. package/mobile/bundle/bundle.umd.js +26 -7
  50. package/mobile/bundle/bundle.umd.min.js +1 -1
  51. package/mobile/bundle/ui-kit/CookiePopup/CookiePopup.d.ts +8 -0
  52. package/mobile/bundle/ui-kit/Dialog/useDialogProps.d.ts +1 -1
  53. package/mobile/bundle/ui-kit/LinkWrapper/LinkWrapper.d.ts +1 -0
  54. package/mobile/dist/components/CarouselLinks/CarouselLinks.js +1 -1
  55. package/mobile/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
  56. package/mobile/dist/components/ContentPage/ContentPage.js +2 -1
  57. package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
  58. package/mobile/dist/components/Header/InternetBankButton.js +1 -1
  59. package/mobile/dist/components/Header/InternetBankButton.js.map +1 -1
  60. package/mobile/dist/ui-kit/CookiePopup/CookiePopup.d.ts +8 -0
  61. package/mobile/dist/ui-kit/CookiePopup/CookiePopup.js +22 -0
  62. package/mobile/dist/ui-kit/CookiePopup/CookiePopup.js.map +1 -0
  63. package/mobile/dist/ui-kit/Dialog/CloseButton.js +1 -1
  64. package/mobile/dist/ui-kit/Dialog/CloseButton.js.map +1 -1
  65. package/mobile/dist/ui-kit/Dialog/Dialog.js +1 -1
  66. package/mobile/dist/ui-kit/Dialog/Dialog.js.map +1 -1
  67. package/mobile/dist/ui-kit/Dialog/useDialogProps.d.ts +1 -1
  68. package/mobile/dist/ui-kit/Dialog/useDialogProps.js +2 -2
  69. package/mobile/dist/ui-kit/Dialog/useDialogProps.js.map +1 -1
  70. package/mobile/dist/ui-kit/LinkWrapper/LinkWrapper.d.ts +1 -0
  71. package/mobile/dist/ui-kit/LinkWrapper/LinkWrapper.js +2 -2
  72. package/mobile/dist/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -1
  73. package/mobile/dist/ui-kit/Sitemap/Sitemap.js +1 -1
  74. package/mobile/dist/ui-kit/Sitemap/Sitemap.js.map +1 -1
  75. package/mobile/lib/components/CarouselLinks/CarouselLinks.js +1 -1
  76. package/mobile/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
  77. package/mobile/lib/components/ContentPage/ContentPage.js +2 -1
  78. package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
  79. package/mobile/lib/components/Header/InternetBankButton.js +1 -1
  80. package/mobile/lib/components/Header/InternetBankButton.js.map +1 -1
  81. package/mobile/lib/ui-kit/CookiePopup/CookiePopup.d.ts +8 -0
  82. package/mobile/lib/ui-kit/CookiePopup/CookiePopup.js +20 -0
  83. package/mobile/lib/ui-kit/CookiePopup/CookiePopup.js.map +1 -0
  84. package/mobile/lib/ui-kit/Dialog/CloseButton.js +1 -1
  85. package/mobile/lib/ui-kit/Dialog/CloseButton.js.map +1 -1
  86. package/mobile/lib/ui-kit/Dialog/Dialog.js +1 -1
  87. package/mobile/lib/ui-kit/Dialog/Dialog.js.map +1 -1
  88. package/mobile/lib/ui-kit/Dialog/useDialogProps.d.ts +1 -1
  89. package/mobile/lib/ui-kit/Dialog/useDialogProps.js +2 -2
  90. package/mobile/lib/ui-kit/Dialog/useDialogProps.js.map +1 -1
  91. package/mobile/lib/ui-kit/LinkWrapper/LinkWrapper.d.ts +1 -0
  92. package/mobile/lib/ui-kit/LinkWrapper/LinkWrapper.js +2 -2
  93. package/mobile/lib/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -1
  94. package/mobile/lib/ui-kit/Sitemap/Sitemap.js +1 -1
  95. package/mobile/lib/ui-kit/Sitemap/Sitemap.js.map +1 -1
  96. package/mobile/src/components/CarouselLinks/CarouselLinks.tsx +1 -1
  97. package/mobile/src/components/ContentPage/ContentPage.tsx +5 -0
  98. package/mobile/src/components/Header/InternetBankButton.tsx +15 -13
  99. package/mobile/src/ui-kit/CookiePopup/CookiePopup.tsx +64 -0
  100. package/mobile/src/ui-kit/Dialog/CloseButton.tsx +1 -1
  101. package/mobile/src/ui-kit/Dialog/Dialog.tsx +1 -1
  102. package/mobile/src/ui-kit/Dialog/useDialogProps.ts +2 -1
  103. package/mobile/src/ui-kit/LinkWrapper/LinkWrapper.tsx +13 -10
  104. package/mobile/src/ui-kit/Sitemap/Sitemap.tsx +1 -1
  105. package/package.json +1 -1
  106. package/src/components/CarouselLinks/CarouselLinks.tsx +1 -1
  107. package/src/components/ContentPage/ContentPage.tsx +5 -0
  108. package/src/components/Header/InternetBankButton.tsx +15 -13
  109. package/src/ui-kit/CookiePopup/CookiePopup.tsx +64 -0
  110. package/src/ui-kit/Dialog/CloseButton.tsx +1 -1
  111. package/src/ui-kit/Dialog/Dialog.tsx +1 -1
  112. package/src/ui-kit/Dialog/useDialogProps.ts +2 -1
  113. package/src/ui-kit/LinkWrapper/LinkWrapper.tsx +13 -10
  114. package/src/ui-kit/Sitemap/Sitemap.tsx +1 -1
  115. package/tailwind.config.cjs +1 -0
@@ -7,16 +7,19 @@ interface LinkWrapperProps {
7
7
  className?: string;
8
8
  href?: string;
9
9
  target?: Target;
10
+ isRemote?: boolean;
10
11
  }
11
12
 
12
- export const LinkWrapper = JSX<LinkWrapperProps>(({ className = '', href, target, children }) => {
13
- const link = useLink();
14
- const linkProps = link({ href, target });
15
- const Tag = href ? 'a' : 'div';
13
+ export const LinkWrapper = JSX<LinkWrapperProps>(
14
+ ({ className = '', href, target, isRemote = false, children }) => {
15
+ const link = useLink({ isRemote });
16
+ const linkProps = link({ href, target });
17
+ const Tag = href ? 'a' : 'div';
16
18
 
17
- return (
18
- <Tag className={style('block', className)} {...(href ? linkProps : {})}>
19
- {children}
20
- </Tag>
21
- );
22
- });
19
+ return (
20
+ <Tag className={style('block', className)} {...(href ? linkProps : {})}>
21
+ {children}
22
+ </Tag>
23
+ );
24
+ },
25
+ );
@@ -49,7 +49,7 @@ const ColumnItem = JSX<ColumnItemProps>(({ text, index, basePath, ...rest }) =>
49
49
  const isAnotherPortal =
50
50
  projectSettings.BASE_PATH && basePath ? !projectSettings.BASE_PATH.startsWith(basePath) : false;
51
51
 
52
- const link = useLink({ isRemote: isAnotherPortal });
52
+ const link = useLink({ isRemote: isAnotherPortal, basePath });
53
53
  const { href, target, onClick } = link(rest);
54
54
 
55
55
  return (
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.10.3",
3
+ "version": "0.10.5",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -30,7 +30,7 @@ export const CarouselLinks = JSX<CarouselLinksProps>(
30
30
  <Headline
31
31
  className="pt-6"
32
32
  isPadding={false}
33
- description={description}
33
+ description={additionalDescription}
34
34
  align="text-left"
35
35
  />
36
36
  ) : null}
@@ -7,6 +7,7 @@ import type { BlocksRegistry } from '../../model/BlocksRegistry';
7
7
  import type { ContentPageDef } from '../../model/ContentPageDef';
8
8
  import type { JSXBlock, UniBlockProps } from '../../model/JSXBlock';
9
9
  import { useBlockRouterProvider } from '../../services/BlockRouter/useBlockRouterProvider';
10
+ import { CookiePopup } from '../../ui-kit/CookiePopup/CookiePopup';
10
11
  import { useDialogHandlers } from '../../ui-kit/Dialog/useDialogHandlers';
11
12
  import { style } from '../../utils/style';
12
13
  import { LikeControl } from '../LikeControl/LikeControl';
@@ -68,6 +69,10 @@ export const ContentPage: JSXBlock<ContentPageProps> = JSX<ContentPageProps>((pr
68
69
  : null}
69
70
  </div>
70
71
  {likeControl ? renderLikeControl() : null}
72
+ <CookiePopup
73
+ termLink={{ href: '/pd-policy#cookie', target: '_blank' }}
74
+ personalDataPolicyLink={{ href: '/pd-policy', target: '_blank' }}
75
+ />
71
76
  </section>
72
77
  );
73
78
  });
@@ -13,16 +13,18 @@ const BUTTON_STYLE = {
13
13
  transparent: 'text-white hover:text-primary-hover',
14
14
  };
15
15
 
16
- export const InternetBankButton = JSX<InternetBankButtonProps>(({ version, internetBankUrl }) => (
17
- <Button
18
- href={internetBankUrl}
19
- ariaLabel="Интернет-банк"
20
- target="_blank"
21
- className={style(
22
- 'py-3 ml-3 text-l font-light whitespace-nowrap hover:text-primary-main',
23
- BUTTON_STYLE[version === 'transparent' ? 'transparent' : 'default'],
24
- )}
25
- >
26
- Интернет-банк
27
- </Button>
28
- ));
16
+ export const InternetBankButton = JSX<InternetBankButtonProps>(({ version, internetBankUrl }) =>
17
+ internetBankUrl ? (
18
+ <Button
19
+ href={internetBankUrl}
20
+ ariaLabel="Интернет-банк"
21
+ target="_blank"
22
+ className={style(
23
+ 'py-3 ml-3 text-l font-light whitespace-nowrap hover:text-primary-main',
24
+ BUTTON_STYLE[version === 'transparent' ? 'transparent' : 'default'],
25
+ )}
26
+ >
27
+ Интернет-банк
28
+ </Button>
29
+ ) : null,
30
+ );
@@ -0,0 +1,64 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
3
+ import type { LinkCommonProps } from '../../model/LinkProps';
4
+ import { style } from '../../utils/style';
5
+ import { CloseButton } from '../Dialog/CloseButton';
6
+ import { useDialogProps } from '../Dialog/useDialogProps';
7
+ import { LinkWrapper } from '../LinkWrapper/LinkWrapper';
8
+ import { Paragraph } from '../Paragraph/Paragraph';
9
+
10
+ export interface CookiePopupProps {
11
+ termLink?: LinkCommonProps;
12
+ personalDataPolicyLink?: LinkCommonProps;
13
+ }
14
+
15
+ export const COOKIE_DIALOG_ID = 'cookie';
16
+ export const LOCAL_STORAGE_NAME = 'cookieClose';
17
+
18
+ export const CookiePopup = JSX<CookiePopupProps>(({ termLink, personalDataPolicyLink }) => {
19
+ const { isOpened, onClose } = useDialogProps(
20
+ COOKIE_DIALOG_ID,
21
+ !globalThis.localStorage?.getItem(LOCAL_STORAGE_NAME),
22
+ );
23
+
24
+ const handleClose = useCallback(() => {
25
+ globalThis.localStorage?.setItem(LOCAL_STORAGE_NAME, 'true');
26
+
27
+ onClose && onClose();
28
+ }, [onClose]);
29
+
30
+ return isOpened ? (
31
+ <div className="container z-40 fixed bottom-0 left-0 right-0 pointer-events-none">
32
+ <div className="bg-white m-6 p-6 rounded-md flex items-center pointer-events-auto shadow-[0_4px_25px_rgba(0,0,0,0.07)]">
33
+ <div className="flex-1">
34
+ <Paragraph size="text-s-light" color="text-primary-text">
35
+ АО «Россельхозбанк» использует
36
+ <LinkWrapper
37
+ isRemote
38
+ className={style(getStyleLinkWrapper(termLink?.href))}
39
+ {...termLink}
40
+ >
41
+ cookie
42
+ </LinkWrapper>
43
+ (файлы с данными о прошлых посещениях сайта) для персонализации сервисов и удобства
44
+ пользователей. Вы можете запретить сохранение cookie в настройках своего браузера.
45
+ <LinkWrapper
46
+ isRemote
47
+ className={style(getStyleLinkWrapper(personalDataPolicyLink?.href))}
48
+ {...personalDataPolicyLink}
49
+ >
50
+ Обработка Ваших персональных данных
51
+ </LinkWrapper>
52
+ производится в соответствии с требованиями Федерального закона от 27.07.2006 № 152-Ф3 «О
53
+ персональных данных».
54
+ </Paragraph>
55
+ </div>
56
+ <div className="w-24 flex justify-end">
57
+ <CloseButton className="bg-main-gray rounded-md" onClick={handleClose} />
58
+ </div>
59
+ </div>
60
+ </div>
61
+ ) : null;
62
+ });
63
+
64
+ const getStyleLinkWrapper = (href?: string) => ['inline mx-1', href ? 'text-green-dark' : ''];
@@ -11,7 +11,7 @@ interface CloseButtonProps {
11
11
  export const CloseButton = JSX<CloseButtonProps>(({ className, onClick }) => (
12
12
  <button
13
13
  className={style(
14
- 'visible peer-placeholder-shown:invisible w-6 h-6 p-1 bg-transparent border-none',
14
+ 'flex justify-center items-center w-12 h-12 p-1 bg-transparent border-none',
15
15
  className,
16
16
  )}
17
17
  onClick={onClick}
@@ -36,7 +36,7 @@ export const Dialog = JSX<DialogProps>(({ className, isOpened, head, children, o
36
36
  >
37
37
  <div className="relative container pb-12 min-h-full">
38
38
  <div className="sticky bg-white pt-6 top-0">
39
- <CloseButton className="absolute top-3 -right-6" onClick={onClose} />
39
+ <CloseButton className="absolute top-10 -right-12" onClick={onClose} />
40
40
  {head}
41
41
  </div>
42
42
  {children}
@@ -7,8 +7,9 @@ import { useDialogHandlers } from './useDialogHandlers';
7
7
 
8
8
  export function useDialogProps(
9
9
  id: string,
10
+ initOpen = false,
10
11
  ): DialogProps & DialogInitialParams & { wasOpened: boolean } {
11
- const [isOpened, { setTrue: open, setFalse: close }] = useBool();
12
+ const [isOpened, { setTrue: open, setFalse: close }] = useBool(initOpen);
12
13
  const [params, setParams] = useState<DialogInitialParams>({ id });
13
14
 
14
15
  const wasOpened = useRef(isOpened);
@@ -7,16 +7,19 @@ interface LinkWrapperProps {
7
7
  className?: string;
8
8
  href?: string;
9
9
  target?: Target;
10
+ isRemote?: boolean;
10
11
  }
11
12
 
12
- export const LinkWrapper = JSX<LinkWrapperProps>(({ className = '', href, target, children }) => {
13
- const link = useLink();
14
- const linkProps = link({ href, target });
15
- const Tag = href ? 'a' : 'div';
13
+ export const LinkWrapper = JSX<LinkWrapperProps>(
14
+ ({ className = '', href, target, isRemote = false, children }) => {
15
+ const link = useLink({ isRemote });
16
+ const linkProps = link({ href, target });
17
+ const Tag = href ? 'a' : 'div';
16
18
 
17
- return (
18
- <Tag className={style('block', className)} {...(href ? linkProps : {})}>
19
- {children}
20
- </Tag>
21
- );
22
- });
19
+ return (
20
+ <Tag className={style('block', className)} {...(href ? linkProps : {})}>
21
+ {children}
22
+ </Tag>
23
+ );
24
+ },
25
+ );
@@ -49,7 +49,7 @@ const ColumnItem = JSX<ColumnItemProps>(({ text, index, basePath, ...rest }) =>
49
49
  const isAnotherPortal =
50
50
  projectSettings.BASE_PATH && basePath ? !projectSettings.BASE_PATH.startsWith(basePath) : false;
51
51
 
52
- const link = useLink({ isRemote: isAnotherPortal });
52
+ const link = useLink({ isRemote: isAnotherPortal, basePath });
53
53
  const { href, target, onClick } = link(rest);
54
54
 
55
55
  return (
@@ -216,6 +216,7 @@ module.exports = {
216
216
  end: 'rgba(var(--color-gradient-to), <alpha-value>)',
217
217
  },
218
218
  disabled: 'rgba(242, 242, 242, <alpha-value>)',
219
+ gray: 'rgba(235, 237, 240, <alpha-value>)',
219
220
  },
220
221
  primary: {
221
222
  main: 'rgba(var(--color-primary-main), <alpha-value>)',