@redneckz/wildless-cms-uni-blocks 0.14.23 → 0.14.25

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 (123) hide show
  1. package/bin/migration-scripts/0.14.24.js +29 -0
  2. package/bundle/bundle.umd.js +34 -7
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/Tabs/Tabs.d.ts +1 -1
  5. package/bundle/hooks/useRouter.d.ts +1 -0
  6. package/bundle/ui-kit/TabsControl/TabItem.d.ts +1 -0
  7. package/bundle/utils/deleteAllCookie.d.ts +1 -0
  8. package/dist/components/ApplicationForm/ApplicationFormGrantSupport.js +1 -1
  9. package/dist/components/ApplicationForm/ApplicationFormGrantSupport.js.map +1 -1
  10. package/dist/components/Calculator/Calculator.mobile.js +2 -1
  11. package/dist/components/Calculator/Calculator.mobile.js.map +1 -1
  12. package/dist/components/Calculator/Rate.js +1 -1
  13. package/dist/components/Calculator/Rate.js.map +1 -1
  14. package/dist/components/Footer/Footer.js +3 -1
  15. package/dist/components/Footer/Footer.js.map +1 -1
  16. package/dist/components/Footer/Footer.mobile.js +3 -1
  17. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  18. package/dist/components/Tabs/Tabs.d.ts +1 -1
  19. package/dist/components/Tabs/Tabs.js +22 -3
  20. package/dist/components/Tabs/Tabs.js.map +1 -1
  21. package/dist/hooks/useRouter.d.ts +1 -0
  22. package/dist/hooks/useRouter.js +1 -0
  23. package/dist/hooks/useRouter.js.map +1 -1
  24. package/dist/setup-fixture.js +2 -1
  25. package/dist/setup-fixture.js.map +1 -1
  26. package/dist/ui-kit/TabsControl/TabItem.d.ts +1 -0
  27. package/dist/ui-kit/TabsControl/TabItem.js.map +1 -1
  28. package/dist/utils/deleteAllCookie.d.ts +1 -0
  29. package/dist/utils/deleteAllCookie.js +11 -0
  30. package/dist/utils/deleteAllCookie.js.map +1 -0
  31. package/lib/common.css +1 -1
  32. package/lib/components/ApplicationForm/ApplicationFormGrantSupport.js +1 -1
  33. package/lib/components/ApplicationForm/ApplicationFormGrantSupport.js.map +1 -1
  34. package/lib/components/Calculator/Calculator.mobile.js +2 -1
  35. package/lib/components/Calculator/Calculator.mobile.js.map +1 -1
  36. package/lib/components/Calculator/Rate.js +1 -1
  37. package/lib/components/Calculator/Rate.js.map +1 -1
  38. package/lib/components/Footer/Footer.js +3 -1
  39. package/lib/components/Footer/Footer.js.map +1 -1
  40. package/lib/components/Footer/Footer.mobile.js +3 -1
  41. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  42. package/lib/components/Tabs/Tabs.d.ts +1 -1
  43. package/lib/components/Tabs/Tabs.js +22 -3
  44. package/lib/components/Tabs/Tabs.js.map +1 -1
  45. package/lib/hooks/useRouter.d.ts +1 -0
  46. package/lib/hooks/useRouter.js +1 -0
  47. package/lib/hooks/useRouter.js.map +1 -1
  48. package/lib/setup-fixture.js +2 -1
  49. package/lib/setup-fixture.js.map +1 -1
  50. package/lib/ui-kit/TabsControl/TabItem.d.ts +1 -0
  51. package/lib/ui-kit/TabsControl/TabItem.js.map +1 -1
  52. package/lib/utils/deleteAllCookie.d.ts +1 -0
  53. package/lib/utils/deleteAllCookie.js +8 -0
  54. package/lib/utils/deleteAllCookie.js.map +1 -0
  55. package/mobile/bundle/bundle.umd.js +35 -8
  56. package/mobile/bundle/bundle.umd.min.js +1 -1
  57. package/mobile/bundle/components/Tabs/Tabs.d.ts +1 -1
  58. package/mobile/bundle/hooks/useRouter.d.ts +1 -0
  59. package/mobile/bundle/ui-kit/TabsControl/TabItem.d.ts +1 -0
  60. package/mobile/bundle/utils/deleteAllCookie.d.ts +1 -0
  61. package/mobile/dist/components/ApplicationForm/ApplicationFormGrantSupport.js +1 -1
  62. package/mobile/dist/components/ApplicationForm/ApplicationFormGrantSupport.js.map +1 -1
  63. package/mobile/dist/components/Calculator/Calculator.js +2 -1
  64. package/mobile/dist/components/Calculator/Calculator.js.map +1 -1
  65. package/mobile/dist/components/Calculator/Rate.js +1 -1
  66. package/mobile/dist/components/Calculator/Rate.js.map +1 -1
  67. package/mobile/dist/components/Footer/Footer.js +3 -1
  68. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  69. package/mobile/dist/components/Tabs/Tabs.d.ts +1 -1
  70. package/mobile/dist/components/Tabs/Tabs.js +22 -3
  71. package/mobile/dist/components/Tabs/Tabs.js.map +1 -1
  72. package/mobile/dist/hooks/useRouter.d.ts +1 -0
  73. package/mobile/dist/hooks/useRouter.js +1 -0
  74. package/mobile/dist/hooks/useRouter.js.map +1 -1
  75. package/mobile/dist/setup-fixture.js +2 -1
  76. package/mobile/dist/setup-fixture.js.map +1 -1
  77. package/mobile/dist/ui-kit/TabsControl/TabItem.d.ts +1 -0
  78. package/mobile/dist/ui-kit/TabsControl/TabItem.js.map +1 -1
  79. package/mobile/dist/utils/deleteAllCookie.d.ts +1 -0
  80. package/mobile/dist/utils/deleteAllCookie.js +11 -0
  81. package/mobile/dist/utils/deleteAllCookie.js.map +1 -0
  82. package/mobile/lib/common.css +1 -1
  83. package/mobile/lib/components/ApplicationForm/ApplicationFormGrantSupport.js +1 -1
  84. package/mobile/lib/components/ApplicationForm/ApplicationFormGrantSupport.js.map +1 -1
  85. package/mobile/lib/components/Calculator/Calculator.js +2 -1
  86. package/mobile/lib/components/Calculator/Calculator.js.map +1 -1
  87. package/mobile/lib/components/Calculator/Rate.js +1 -1
  88. package/mobile/lib/components/Calculator/Rate.js.map +1 -1
  89. package/mobile/lib/components/Footer/Footer.js +3 -1
  90. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  91. package/mobile/lib/components/Tabs/Tabs.d.ts +1 -1
  92. package/mobile/lib/components/Tabs/Tabs.js +22 -3
  93. package/mobile/lib/components/Tabs/Tabs.js.map +1 -1
  94. package/mobile/lib/hooks/useRouter.d.ts +1 -0
  95. package/mobile/lib/hooks/useRouter.js +1 -0
  96. package/mobile/lib/hooks/useRouter.js.map +1 -1
  97. package/mobile/lib/setup-fixture.js +2 -1
  98. package/mobile/lib/setup-fixture.js.map +1 -1
  99. package/mobile/lib/ui-kit/TabsControl/TabItem.d.ts +1 -0
  100. package/mobile/lib/ui-kit/TabsControl/TabItem.js.map +1 -1
  101. package/mobile/lib/utils/deleteAllCookie.d.ts +1 -0
  102. package/mobile/lib/utils/deleteAllCookie.js +8 -0
  103. package/mobile/lib/utils/deleteAllCookie.js.map +1 -0
  104. package/mobile/src/components/ApplicationForm/ApplicationFormGrantSupport.tsx +1 -0
  105. package/mobile/src/components/Calculator/Calculator.tsx +9 -1
  106. package/mobile/src/components/Calculator/Rate.tsx +1 -3
  107. package/mobile/src/components/Footer/Footer.tsx +10 -0
  108. package/mobile/src/components/Tabs/Tabs.tsx +28 -4
  109. package/mobile/src/hooks/useRouter.ts +2 -0
  110. package/mobile/src/setup-fixture.ts +2 -1
  111. package/mobile/src/ui-kit/TabsControl/TabItem.tsx +1 -0
  112. package/mobile/src/utils/deleteAllCookie.ts +8 -0
  113. package/package.json +2 -2
  114. package/src/components/ApplicationForm/ApplicationFormGrantSupport.tsx +1 -0
  115. package/src/components/Calculator/Calculator.mobile.tsx +9 -1
  116. package/src/components/Calculator/Rate.tsx +1 -3
  117. package/src/components/Footer/Footer.mobile.tsx +10 -0
  118. package/src/components/Footer/Footer.tsx +10 -0
  119. package/src/components/Tabs/Tabs.tsx +28 -4
  120. package/src/hooks/useRouter.ts +2 -0
  121. package/src/setup-fixture.ts +2 -1
  122. package/src/ui-kit/TabsControl/TabItem.tsx +1 -0
  123. package/src/utils/deleteAllCookie.ts +8 -0
@@ -0,0 +1,29 @@
1
+ export const description = 'v0.14.24';
2
+
3
+ export default (uniPath, content) => {
4
+ if (!content?.blocks) {
5
+ return content;
6
+ }
7
+
8
+ for (const block of content.blocks) {
9
+ adjustTabsBlock(block);
10
+ }
11
+
12
+ return { ...content };
13
+ };
14
+
15
+ function adjustTabsBlock(block) {
16
+ if (block.blocks) {
17
+ for (const childBlock of block.blocks) {
18
+ adjustTabsBlock(childBlock);
19
+ }
20
+ }
21
+
22
+ if (!block?.content) {
23
+ return;
24
+ }
25
+
26
+ if (block?.type === 'Tabs' && !block.content.tabsMode) {
27
+ block.content.tabsMode = 'wideScreen';
28
+ }
29
+ }
@@ -567,6 +567,7 @@
567
567
  return useRouter._impl();
568
568
  }
569
569
  useRouter._impl = () => ({
570
+ isReady: false,
570
571
  href: globalThis.location?.href || '/',
571
572
  pathname: globalThis.location?.pathname || '/',
572
573
  query: {},
@@ -1153,7 +1154,7 @@
1153
1154
  version: button?.version,
1154
1155
  });
1155
1156
  const regionHref = regions?.find((_) => _.name === region.key)?.href;
1156
- return (jsxs("div", { className: "container space-y-s @xl:space-y-lg", children: [regions ? (jsx(SelectControl, { label: "\u0412\u0430\u0448 \u0440\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", options: regions.map(({ name = '' }) => ({ key: name })), value: region, onChange: setRegion })) : null, regionHref ? (jsx("div", { className: "text-center", children: jsx(Button, { href: regionHref, target: "_blank", className: style('p-m w-full @xl:w-auto', buttonStyle), children: button?.text ? button.text : 'Перейти' }) })) : null] }));
1157
+ return (jsxs("div", { className: "container space-y-s @xl:space-y-lg", children: [regions ? (jsx(SelectControl, { label: "\u0412\u0430\u0448 \u0440\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", isSearch: true, options: regions.map(({ name = '' }) => ({ key: name })), value: region, onChange: setRegion })) : null, regionHref ? (jsx("div", { className: "text-center", children: jsx(Button, { href: regionHref, target: "_blank", className: style('p-m w-full @xl:w-auto', buttonStyle), children: button?.text ? button.text : 'Перейти' }) })) : null] }));
1157
1158
  });
1158
1159
 
1159
1160
  const sourcesComparator = (a, b) => a?.media && b?.media ? a.media - b.media : 0;
@@ -1577,7 +1578,7 @@
1577
1578
 
1578
1579
  const renderFootnote = (text) => text ? (jsx(Paragraph, { size: "text-s", font: "font-light", color: "text-secondary-text", children: text })) : null;
1579
1580
 
1580
- const Rate = JSX(({ rate, title = 'Ставка', unit, depositeName, isShowDepositeName, fractionDigits = 2 }) => (jsxs("div", { children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsxs("div", { className: "relative", children: [jsxs("div", { className: "flex justify-start gradient-color-text", children: [jsx("span", { className: "font-mohave text-title-huge pr-xl -mt-m tracking-[-15px]", children: String(rate.toFixed(fractionDigits)).replace('.', ',') }), unit ? jsx("span", { className: "text-7xl", children: unit }) : null] }), depositeName && isShowDepositeName ? (jsx("div", { className: "absolute bottom-7 w-full text-center whitespace-nowrap", children: depositeName })) : null] })] })));
1581
+ const Rate = JSX(({ rate, title = 'Ставка', unit, depositeName, isShowDepositeName, fractionDigits = 2 }) => (jsxs("div", { children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsxs("div", { className: "relative", children: [jsxs("div", { className: "flex justify-start gradient-color-text", children: [jsx("span", { className: "font-mohave text-title-huge pr-xl -mt-m tracking-[-15px]", children: String(rate.toFixed(fractionDigits)).replace('.', ',') }), unit ? jsx("span", { className: "text-7xl", children: unit }) : null] }), depositeName && isShowDepositeName ? (jsx("div", { className: "absolute bottom-2 w-full text-left whitespace-nowrap", children: depositeName })) : null] })] })));
1581
1582
 
1582
1583
  const UnknownRate = JSX(({ title = 'Ставка', isUnavailableByTerm = false }) => (jsxs("div", { className: "space-y-s", children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsx(Icon, { className: "w-10 h-10 @5xl:h-auto @5xl:w-40", name: "PercentIcon" }), jsx("div", { className: "w-64", children: isUnavailableByTerm ? (jsxs(Paragraph, { size: "text-xl", font: "font-light", color: "text-primary-text", children: ["\u041F\u0440\u043E\u0446\u0435\u043D\u0442\u043D\u0430\u044F \u0441\u0442\u0430\u0432\u043A\u0430 \u0434\u043B\u044F \u0441\u0440\u043E\u043A\u0430 ", jsx("strong", { children: "1-30 \u0434\u043D\u0435\u0439" }), " \u0443\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u0440\u0438 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0438 \u0432 \u0411\u0430\u043D\u043A"] })) : (jsx(Paragraph, { size: "text-xl", font: "font-light", color: "text-primary-text", children: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0440\u0443\u0433\u0443\u044E \u0441\u0443\u043C\u043C\u0443 \u0438\u043B\u0438 \u0441\u0440\u043E\u043A" })) })] })));
1583
1584
 
@@ -3790,6 +3791,14 @@
3790
3791
  });
3791
3792
  const isQueryLongEnough = (_) => _ && _.length >= MIN_QUERY_LEN;
3792
3793
 
3794
+ const deleteAllCookies = () => {
3795
+ const cookies = globalThis.document?.cookie.split(';') ?? [];
3796
+ for (const cookie of cookies) {
3797
+ const [name] = cookie.split('=');
3798
+ globalThis.document.cookie = `${name}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`;
3799
+ }
3800
+ };
3801
+
3793
3802
  const Contacts = JSX(({ className = '', items }) => (jsxs("div", { className: className, children: [items?.length ? items.map(renderContactsGroup) : null, jsx(Button, { version: "primary", className: "w-full", href: "https://old.rshb.ru/feedback/question/", target: "_blank", ariaLabel: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C", text: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C" })] })));
3794
3803
  const renderContactsGroup = (item, i) => (jsxs("div", { className: "mb-m", children: [jsx("div", { className: "mb-m", children: jsx(Text, { size: "text-l", font: "font-medium", children: item?.title }) }), jsx("div", { children: item.items?.map(renderContact) })] }, String(i)));
3795
3804
  const renderContact = (item, index) => (jsxs("div", { className: "mb-m", children: [jsx("div", { children: renderText(item.type, item.text) }), jsx("div", { className: "mt-2xs text-s font-light text-secondary-text", children: item.description })] }, String(index)));
@@ -3831,7 +3840,7 @@
3831
3840
  const { documents, relatedEnterprises, contacts, socialMedia, mobileApps } = useSWRResource(projectSettings.FOOTER || 'footer', {
3832
3841
  fallback: rest.options?.page?.fallback,
3833
3842
  });
3834
- return (jsxs(BlockWrapper, { tag: "footer", className: className, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-3xl pb-3xl ", children: [jsx(Logo, { className: LEFT_COL_WIDTH, logo: logo }), jsx(SearchBar$1, { className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-6xl", children: [jsxs("div", { className: style(LEFT_COL_WIDTH, 'flex flex-col shrink-0 overflow-hidden space-y-xl'), children: [jsx(Contacts, { items: contacts }), jsx(SocialMedia, { media: socialMedia, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { media: mobileApps, showButtonText: false, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }), jsx(Sitemap, { className: "flex-grow", topItems: topItems })] }), jsx(HorizontalNavigation, { className: "mt-xl", links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
3843
+ return (jsxs(BlockWrapper, { tag: "footer", className: className, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-3xl pb-3xl ", children: [jsx(Logo, { className: LEFT_COL_WIDTH, logo: logo }), jsx(SearchBar$1, { className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-6xl", children: [jsxs("div", { className: style(LEFT_COL_WIDTH, 'flex flex-col shrink-0 overflow-hidden space-y-xl'), children: [jsx(Contacts, { items: contacts }), jsx(SocialMedia, { media: socialMedia, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { media: mobileApps, showButtonText: false, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }), jsx(Button, { version: "link", href: "https://old.rshb.ru", className: "!text-left text-s font-light", onClick: deleteAllCookies, children: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u043F\u0440\u0435\u0436\u043D\u044E\u044E \u0432\u0435\u0440\u0441\u0438\u044E \u0441\u0430\u0439\u0442\u0430" })] }), jsx(Sitemap, { className: "flex-grow", topItems: topItems })] }), jsx(HorizontalNavigation, { className: "mt-xl", links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
3835
3844
  });
3836
3845
 
3837
3846
  const GracePeriod = JSX(({ className = '', title, description, calendar, ...rest }) => (jsxs(BlockWrapper, { className: style('space-y-m', className), defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { title: title, description: description, headlineVersion: "M", isEmbedded: true }), calendar ? renderCalendar(calendar) : null] })));
@@ -5126,25 +5135,43 @@
5126
5135
  }
5127
5136
  };
5128
5137
 
5138
+ const TAB_QUERY_PARAM_KEY = 'tab';
5129
5139
  const Tabs = JSX(({ className = '', isSticky, tabs = [], tabsMode, ...rest }) => {
5140
+ const router = useRouter();
5141
+ const { isReady } = router;
5130
5142
  const tabsControlItems = useMemo(() => tabs.map(normalizeTab), [tabs]);
5131
5143
  const [activeTabIndex, setActiveTabIndex] = useState(0);
5132
5144
  useEffect(() => {
5133
5145
  if (!tabs || !tabs[0]) {
5134
5146
  return;
5135
5147
  }
5136
- fireTabEvent(tabs[0]);
5137
- }, []);
5148
+ const defaultTabIndex = router.query[TAB_QUERY_PARAM_KEY]
5149
+ ? tabs.findIndex((_) => _.type === 'group' && _.ref === router.query[TAB_QUERY_PARAM_KEY]) || 0
5150
+ : 0;
5151
+ setActiveTabIndex(defaultTabIndex);
5152
+ fireTabEvent(tabs[defaultTabIndex]);
5153
+ }, [isReady]);
5138
5154
  useEffect(() => {
5139
5155
  const activeTab = tabs[activeTabIndex];
5140
5156
  if (activeTab?.type === 'group') {
5141
5157
  defaultEventBus.subject('tab', { type: activeTab.type, label: activeTab.ref });
5142
5158
  }
5143
5159
  }, [tabs, activeTabIndex]);
5160
+ const updateUrlSearchTabParam = (_) => {
5161
+ const searchParams = new URLSearchParams(router.query);
5162
+ if (_.name) {
5163
+ searchParams.set(TAB_QUERY_PARAM_KEY, _.name);
5164
+ }
5165
+ else {
5166
+ searchParams.delete(TAB_QUERY_PARAM_KEY);
5167
+ }
5168
+ router.replace(`${router.pathname}?${searchParams}`, '', { scroll: false });
5169
+ };
5144
5170
  const handleChange = useCallback((_) => {
5145
5171
  const index = tabsControlItems.indexOf(_);
5146
5172
  setActiveTabIndex(index);
5147
5173
  fireTabEvent(tabs[index]);
5174
+ updateUrlSearchTabParam(_);
5148
5175
  }, [tabs, tabsControlItems]);
5149
5176
  return (jsx(BlockWrapper, { className: style(isSticky ? 'sticky top-1 z-20' : '', className), defaultPadding: "p-0", ...rest, children: renderTabs({
5150
5177
  items: tabsControlItems,
@@ -5161,7 +5188,7 @@
5161
5188
  defaultEventBus.fire('tab', { type: tab.type, label: tab.href });
5162
5189
  }
5163
5190
  };
5164
- const normalizeTab = (_) => (_?.type === 'group' ? { text: _.title } : _);
5191
+ const normalizeTab = (_) => _?.type === 'group' ? { text: _.title, name: _.ref } : _;
5165
5192
 
5166
5193
  const dividerStyle = '@4xl:border-main-divider @4xl:border-b';
5167
5194
  const firstCellStyle = 'w-80 flex-shrink-0';
@@ -5661,7 +5688,7 @@
5661
5688
  return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-3xl sticky bottom-0 pointer-events-auto" }) }));
5662
5689
  }
5663
5690
 
5664
- const packageVersion = "0.14.23";
5691
+ const packageVersion = "0.14.25";
5665
5692
 
5666
5693
  exports.Blocks = Blocks;
5667
5694
  exports.ContentPage = ContentPage;