@redneckz/wildless-cms-uni-blocks 0.14.269 → 0.14.270

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 (211) hide show
  1. package/bin/migration-scripts/0.14.269.js +46 -0
  2. package/bundle/blocks.schema.json +1 -1
  3. package/bundle/bundle.umd.js +53 -38
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/bundle/components/Header/HeaderChatBotButton.d.ts +2 -4
  6. package/bundle/components/Header/HeaderSecondaryMenuButton.d.ts +2 -4
  7. package/bundle/components/Header/useChatBot.d.ts +2 -4
  8. package/bundle/hooks/useAspects/applyAspects.d.ts +3 -0
  9. package/bundle/hooks/useAspects/aspects/forwardQuery.d.ts +2 -0
  10. package/bundle/hooks/useAspects/useAspects.d.ts +19 -0
  11. package/bundle/hooks/useClickHandler.d.ts +1 -0
  12. package/bundle/model/AspectsProps.d.ts +32 -0
  13. package/bundle/model/LinkProps.d.ts +2 -8
  14. package/bundle/ui-kit/LinkButton/LinkButtonContent.d.ts +1 -0
  15. package/bundle/utils/dataAttributes.d.ts +6 -2
  16. package/bundle/utils/getSessionQuery.d.ts +1 -1
  17. package/dist/components/ContentPage/ContentPage.js +2 -2
  18. package/dist/components/ContentPage/ContentPage.js.map +1 -1
  19. package/dist/components/Header/HeaderChatBotButton.d.ts +2 -4
  20. package/dist/components/Header/HeaderSecondaryMenuButton.d.ts +2 -4
  21. package/dist/components/Header/useChatBot.d.ts +2 -4
  22. package/dist/components/Header/useChatBot.js.map +1 -1
  23. package/dist/hooks/useAspects/applyAspects.d.ts +3 -0
  24. package/dist/hooks/useAspects/applyAspects.js +18 -0
  25. package/dist/hooks/useAspects/applyAspects.js.map +1 -0
  26. package/dist/hooks/useAspects/aspects/forwardQuery.d.ts +2 -0
  27. package/dist/hooks/useAspects/aspects/forwardQuery.js +30 -0
  28. package/dist/hooks/useAspects/aspects/forwardQuery.js.map +1 -0
  29. package/dist/hooks/useAspects/useAspects.d.ts +19 -0
  30. package/dist/hooks/useAspects/useAspects.js +14 -0
  31. package/dist/hooks/useAspects/useAspects.js.map +1 -0
  32. package/dist/hooks/useClickHandler.d.ts +1 -0
  33. package/dist/hooks/useClickHandler.js +16 -0
  34. package/dist/hooks/useClickHandler.js.map +1 -0
  35. package/dist/model/AspectsProps.d.ts +32 -0
  36. package/dist/model/AspectsProps.js +2 -0
  37. package/dist/model/AspectsProps.js.map +1 -0
  38. package/dist/model/LinkProps.d.ts +2 -8
  39. package/dist/ui-kit/LinkButton/LinkButton.js +1 -1
  40. package/dist/ui-kit/LinkButton/LinkButton.js.map +1 -1
  41. package/dist/ui-kit/LinkButton/LinkButtonContent.d.ts +1 -0
  42. package/dist/utils/adjustSessionQuery.js +1 -1
  43. package/dist/utils/adjustSessionQuery.js.map +1 -1
  44. package/dist/utils/dataAttributes.d.ts +6 -2
  45. package/dist/utils/dataAttributes.js +12 -3
  46. package/dist/utils/dataAttributes.js.map +1 -1
  47. package/dist/utils/getSessionQuery.d.ts +1 -1
  48. package/dist/utils/getSessionQuery.js +3 -3
  49. package/dist/utils/getSessionQuery.js.map +1 -1
  50. package/lib/common.css +1 -1
  51. package/lib/components/ContentPage/ContentPage.js +2 -2
  52. package/lib/components/ContentPage/ContentPage.js.map +1 -1
  53. package/lib/components/Header/HeaderChatBotButton.d.ts +2 -4
  54. package/lib/components/Header/HeaderSecondaryMenuButton.d.ts +2 -4
  55. package/lib/components/Header/useChatBot.d.ts +2 -4
  56. package/lib/components/Header/useChatBot.js.map +1 -1
  57. package/lib/hooks/useAspects/applyAspects.d.ts +3 -0
  58. package/lib/hooks/useAspects/applyAspects.js +15 -0
  59. package/lib/hooks/useAspects/applyAspects.js.map +1 -0
  60. package/lib/hooks/useAspects/aspects/forwardQuery.d.ts +2 -0
  61. package/lib/hooks/useAspects/aspects/forwardQuery.js +27 -0
  62. package/lib/hooks/useAspects/aspects/forwardQuery.js.map +1 -0
  63. package/lib/hooks/useAspects/useAspects.d.ts +19 -0
  64. package/lib/hooks/useAspects/useAspects.js +11 -0
  65. package/lib/hooks/useAspects/useAspects.js.map +1 -0
  66. package/lib/hooks/useClickHandler.d.ts +1 -0
  67. package/lib/hooks/useClickHandler.js +14 -0
  68. package/lib/hooks/useClickHandler.js.map +1 -0
  69. package/lib/model/AspectsProps.d.ts +32 -0
  70. package/lib/model/AspectsProps.js +2 -0
  71. package/lib/model/AspectsProps.js.map +1 -0
  72. package/lib/model/LinkProps.d.ts +2 -8
  73. package/lib/ui-kit/LinkButton/LinkButton.js +2 -2
  74. package/lib/ui-kit/LinkButton/LinkButton.js.map +1 -1
  75. package/lib/ui-kit/LinkButton/LinkButtonContent.d.ts +1 -0
  76. package/lib/utils/adjustSessionQuery.js +2 -2
  77. package/lib/utils/adjustSessionQuery.js.map +1 -1
  78. package/lib/utils/dataAttributes.d.ts +6 -2
  79. package/lib/utils/dataAttributes.js +10 -1
  80. package/lib/utils/dataAttributes.js.map +1 -1
  81. package/lib/utils/getSessionQuery.d.ts +1 -1
  82. package/lib/utils/getSessionQuery.js +1 -1
  83. package/lib/utils/getSessionQuery.js.map +1 -1
  84. package/mobile/bundle/bundle.umd.js +53 -69
  85. package/mobile/bundle/bundle.umd.min.js +1 -1
  86. package/mobile/bundle/components/Header/HeaderChatBotButton.d.ts +2 -4
  87. package/mobile/bundle/components/Header/HeaderSecondaryMenuButton.d.ts +2 -4
  88. package/mobile/bundle/components/Header/useChatBot.d.ts +2 -4
  89. package/mobile/bundle/hooks/useAspects/applyAspects.d.ts +3 -0
  90. package/mobile/bundle/hooks/useAspects/aspects/forwardQuery.d.ts +2 -0
  91. package/mobile/bundle/hooks/useAspects/useAspects.d.ts +19 -0
  92. package/mobile/bundle/hooks/useClickHandler.d.ts +1 -0
  93. package/mobile/bundle/model/AspectsProps.d.ts +32 -0
  94. package/mobile/bundle/model/LinkProps.d.ts +2 -8
  95. package/mobile/bundle/ui-kit/LinkButton/LinkButtonContent.d.ts +1 -0
  96. package/mobile/bundle/utils/dataAttributes.d.ts +6 -2
  97. package/mobile/bundle/utils/getSessionQuery.d.ts +1 -1
  98. package/mobile/dist/components/ContentPage/ContentPage.js +2 -2
  99. package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
  100. package/mobile/dist/components/Header/HeaderChatBotButton.d.ts +2 -4
  101. package/mobile/dist/components/Header/HeaderSecondaryMenuButton.d.ts +2 -4
  102. package/mobile/dist/components/Header/useChatBot.d.ts +2 -4
  103. package/mobile/dist/components/Header/useChatBot.js.map +1 -1
  104. package/mobile/dist/hooks/useAspects/applyAspects.d.ts +3 -0
  105. package/mobile/dist/hooks/useAspects/applyAspects.js +18 -0
  106. package/mobile/dist/hooks/useAspects/applyAspects.js.map +1 -0
  107. package/mobile/dist/hooks/useAspects/aspects/forwardQuery.d.ts +2 -0
  108. package/mobile/dist/hooks/useAspects/aspects/forwardQuery.js +30 -0
  109. package/mobile/dist/hooks/useAspects/aspects/forwardQuery.js.map +1 -0
  110. package/mobile/dist/hooks/useAspects/useAspects.d.ts +19 -0
  111. package/mobile/dist/hooks/useAspects/useAspects.js +14 -0
  112. package/mobile/dist/hooks/useAspects/useAspects.js.map +1 -0
  113. package/mobile/dist/hooks/useClickHandler.d.ts +1 -0
  114. package/mobile/dist/hooks/useClickHandler.js +16 -0
  115. package/mobile/dist/hooks/useClickHandler.js.map +1 -0
  116. package/mobile/dist/model/AspectsProps.d.ts +32 -0
  117. package/mobile/dist/model/AspectsProps.js +2 -0
  118. package/mobile/dist/model/AspectsProps.js.map +1 -0
  119. package/mobile/dist/model/LinkProps.d.ts +2 -8
  120. package/mobile/dist/ui-kit/LinkButton/LinkButton.js +1 -1
  121. package/mobile/dist/ui-kit/LinkButton/LinkButton.js.map +1 -1
  122. package/mobile/dist/ui-kit/LinkButton/LinkButtonContent.d.ts +1 -0
  123. package/mobile/dist/utils/adjustSessionQuery.js +1 -1
  124. package/mobile/dist/utils/adjustSessionQuery.js.map +1 -1
  125. package/mobile/dist/utils/dataAttributes.d.ts +6 -2
  126. package/mobile/dist/utils/dataAttributes.js +12 -3
  127. package/mobile/dist/utils/dataAttributes.js.map +1 -1
  128. package/mobile/dist/utils/getSessionQuery.d.ts +1 -1
  129. package/mobile/dist/utils/getSessionQuery.js +3 -3
  130. package/mobile/dist/utils/getSessionQuery.js.map +1 -1
  131. package/mobile/lib/common.css +1 -1
  132. package/mobile/lib/components/ContentPage/ContentPage.js +2 -2
  133. package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
  134. package/mobile/lib/components/Header/HeaderChatBotButton.d.ts +2 -4
  135. package/mobile/lib/components/Header/HeaderSecondaryMenuButton.d.ts +2 -4
  136. package/mobile/lib/components/Header/useChatBot.d.ts +2 -4
  137. package/mobile/lib/components/Header/useChatBot.js.map +1 -1
  138. package/mobile/lib/hooks/useAspects/applyAspects.d.ts +3 -0
  139. package/mobile/lib/hooks/useAspects/applyAspects.js +15 -0
  140. package/mobile/lib/hooks/useAspects/applyAspects.js.map +1 -0
  141. package/mobile/lib/hooks/useAspects/aspects/forwardQuery.d.ts +2 -0
  142. package/mobile/lib/hooks/useAspects/aspects/forwardQuery.js +27 -0
  143. package/mobile/lib/hooks/useAspects/aspects/forwardQuery.js.map +1 -0
  144. package/mobile/lib/hooks/useAspects/useAspects.d.ts +19 -0
  145. package/mobile/lib/hooks/useAspects/useAspects.js +11 -0
  146. package/mobile/lib/hooks/useAspects/useAspects.js.map +1 -0
  147. package/mobile/lib/hooks/useClickHandler.d.ts +1 -0
  148. package/mobile/lib/hooks/useClickHandler.js +14 -0
  149. package/mobile/lib/hooks/useClickHandler.js.map +1 -0
  150. package/mobile/lib/model/AspectsProps.d.ts +32 -0
  151. package/mobile/lib/model/AspectsProps.js +2 -0
  152. package/mobile/lib/model/AspectsProps.js.map +1 -0
  153. package/mobile/lib/model/LinkProps.d.ts +2 -8
  154. package/mobile/lib/ui-kit/LinkButton/LinkButton.js +2 -2
  155. package/mobile/lib/ui-kit/LinkButton/LinkButton.js.map +1 -1
  156. package/mobile/lib/ui-kit/LinkButton/LinkButtonContent.d.ts +1 -0
  157. package/mobile/lib/utils/adjustSessionQuery.js +2 -2
  158. package/mobile/lib/utils/adjustSessionQuery.js.map +1 -1
  159. package/mobile/lib/utils/dataAttributes.d.ts +6 -2
  160. package/mobile/lib/utils/dataAttributes.js +10 -1
  161. package/mobile/lib/utils/dataAttributes.js.map +1 -1
  162. package/mobile/lib/utils/getSessionQuery.d.ts +1 -1
  163. package/mobile/lib/utils/getSessionQuery.js +1 -1
  164. package/mobile/lib/utils/getSessionQuery.js.map +1 -1
  165. package/mobile/src/components/ContentPage/ContentPage.tsx +2 -2
  166. package/mobile/src/components/Header/HeaderChatBotButton.tsx +2 -2
  167. package/mobile/src/components/Header/HeaderSecondaryMenuButton.tsx +2 -2
  168. package/mobile/src/components/Header/useChatBot.ts +2 -2
  169. package/mobile/src/hooks/useAspects/applyAspects.ts +19 -0
  170. package/mobile/src/hooks/useAspects/aspects/forwardQuery.ts +32 -0
  171. package/mobile/src/hooks/useAspects/useAspects.ts +30 -0
  172. package/mobile/src/hooks/useClickHandler.ts +16 -0
  173. package/mobile/src/model/AspectsProps.ts +37 -0
  174. package/mobile/src/model/LinkProps.ts +2 -9
  175. package/mobile/src/ui-kit/LinkButton/LinkButton.tsx +2 -2
  176. package/mobile/src/ui-kit/LinkButton/LinkButtonContent.ts +1 -0
  177. package/mobile/src/utils/adjustSessionQuery.ts +2 -2
  178. package/mobile/src/utils/dataAttributes.ts +10 -3
  179. package/mobile/src/utils/getSessionQuery.ts +1 -1
  180. package/package.json +1 -1
  181. package/src/components/ContentPage/ContentPage.tsx +2 -2
  182. package/src/components/Header/HeaderChatBotButton.tsx +2 -2
  183. package/src/components/Header/HeaderSecondaryMenuButton.tsx +2 -2
  184. package/src/components/Header/useChatBot.ts +2 -2
  185. package/src/hooks/useAspects/applyAspects.ts +19 -0
  186. package/src/hooks/useAspects/aspects/forwardQuery.ts +32 -0
  187. package/src/hooks/useAspects/useAspects.ts +30 -0
  188. package/src/hooks/useClickHandler.ts +16 -0
  189. package/src/model/AspectsProps.ts +37 -0
  190. package/src/model/LinkProps.ts +2 -9
  191. package/src/ui-kit/LinkButton/LinkButton.tsx +2 -2
  192. package/src/ui-kit/LinkButton/LinkButtonContent.ts +1 -0
  193. package/src/utils/adjustSessionQuery.ts +2 -2
  194. package/src/utils/dataAttributes.ts +10 -3
  195. package/src/utils/getSessionQuery.ts +1 -1
  196. package/bundle/hooks/useNavigateHandler.d.ts +0 -3
  197. package/dist/hooks/useNavigateHandler.d.ts +0 -3
  198. package/dist/hooks/useNavigateHandler.js +0 -62
  199. package/dist/hooks/useNavigateHandler.js.map +0 -1
  200. package/lib/hooks/useNavigateHandler.d.ts +0 -3
  201. package/lib/hooks/useNavigateHandler.js +0 -60
  202. package/lib/hooks/useNavigateHandler.js.map +0 -1
  203. package/mobile/bundle/hooks/useNavigateHandler.d.ts +0 -3
  204. package/mobile/dist/hooks/useNavigateHandler.d.ts +0 -3
  205. package/mobile/dist/hooks/useNavigateHandler.js +0 -62
  206. package/mobile/dist/hooks/useNavigateHandler.js.map +0 -1
  207. package/mobile/lib/hooks/useNavigateHandler.d.ts +0 -3
  208. package/mobile/lib/hooks/useNavigateHandler.js +0 -60
  209. package/mobile/lib/hooks/useNavigateHandler.js.map +0 -1
  210. package/mobile/src/hooks/useNavigateHandler.ts +0 -78
  211. package/src/hooks/useNavigateHandler.ts +0 -78
@@ -1 +1 @@
1
- export declare function getSessionQuery(): string;
1
+ export declare function saveSessionQuery(): string;
@@ -1,5 +1,5 @@
1
1
  const QUERY_STORAGE_KEY = 'rshb-query-params';
2
- export function getSessionQuery() {
2
+ export function saveSessionQuery() {
3
3
  const result = globalThis.location?.search || globalThis.sessionStorage?.getItem(QUERY_STORAGE_KEY) || '';
4
4
  if (result) {
5
5
  globalThis.sessionStorage?.setItem(QUERY_STORAGE_KEY, result);
@@ -1 +1 @@
1
- {"version":3,"file":"getSessionQuery.js","sourceRoot":"","sources":["../../src/utils/getSessionQuery.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GACV,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAE7F,IAAI,MAAM,EAAE;QACV,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;KAC/D;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"getSessionQuery.js","sourceRoot":"","sources":["../../src/utils/getSessionQuery.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GACV,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAE7F,IAAI,MAAM,EAAE;QACV,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;KAC/D;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -475,7 +475,16 @@
475
475
  }
476
476
  }
477
477
 
478
- const dataAttributes = (data = {}) => Object.entries(data).reduce((res, [k, v]) => ({ ...res, [`data-${k.toLowerCase()}`]: v }), {});
478
+ const getAspectsAttributes = (data) => {
479
+ try {
480
+ return {
481
+ 'data-aspects': JSON.stringify(data),
482
+ };
483
+ }
484
+ catch (_) {
485
+ return {};
486
+ }
487
+ };
479
488
 
480
489
  /** @deprecated */
481
490
  const ButtonInner = JSX((props) => {
@@ -532,7 +541,7 @@
532
541
  const buttonInner = children ?? jsx(ButtonInner, { ...adjustedProps });
533
542
  return disabled ? (jsx(DisabledButton, { ...adjustedProps, children: buttonInner })) : (jsx(RegularButton, { ...adjustedProps, children: buttonInner }));
534
543
  });
535
- const RegularButton = JSX(({ className = '', href, rel, target, ariaLabel, version, rounded, onClick, type, data, children, }) => (jsx("a", { className: getRegularButtonClasses({ className, version, rounded }), href: href, rel: rel, target: target, "aria-label": ariaLabel, role: href ? 'link' : 'button', onClick: onClick, type: type, ...dataAttributes(data), children: children })));
544
+ const RegularButton = JSX(({ className = '', href, rel, target, ariaLabel, version, rounded, onClick, type, data, children, }) => (jsx("a", { className: getRegularButtonClasses({ className, version, rounded }), href: href, rel: rel, target: target, "aria-label": ariaLabel, role: href ? 'link' : 'button', onClick: onClick, type: type, ...getAspectsAttributes(data), children: children })));
536
545
  const DisabledButton = JSX(({ className, ariaLabel, version, rounded, children }) => (jsx("button", { type: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex: -1, className: getDisabledButtonClasses({ className, rounded, version }), children: children })));
537
546
 
538
547
  function renderBackwardButton(version, handleClick, alwaysVisible = false) {
@@ -5413,39 +5422,8 @@
5413
5422
  VerticalLayout,
5414
5423
  };
5415
5424
 
5416
- const CHAT_NAMESPACE = 'chatbot';
5417
- const CHAT_BUTTON_EXTERNAL_NAME = 'text-page__btn-chat';
5418
- const CHAT_FRAME_ID = 'webchat-js-container:webchat_rshb';
5419
- const CHAT_STORAGE_NAME = 'webchat-keep-open';
5420
- const CHATBOT_URL = {
5421
- personal: '//chat.mes.rshb.ru/assets/js/webchat_rshb',
5422
- business: '', //TODO: add url business chat
5423
- };
5424
- const useChatBot = (chat) => {
5425
- useEffect(() => globalThis.localStorage?.setItem(CHAT_STORAGE_NAME, String(Date.now())), []);
5426
- const chatUrl = CHATBOT_URL[chat ?? ''];
5427
- return (ev) => {
5428
- if (!chatUrl) {
5429
- return;
5430
- }
5431
- if (chat !== 'personal') {
5432
- initializeExternalNS(CHAT_NAMESPACE, chatUrl);
5433
- }
5434
- else {
5435
- const target = ev.target;
5436
- if (!target?.classList.contains(CHAT_BUTTON_EXTERNAL_NAME)) {
5437
- target?.classList.add(CHAT_BUTTON_EXTERNAL_NAME);
5438
- }
5439
- const chatFrame = document.getElementById(CHAT_FRAME_ID);
5440
- if (!chatFrame) {
5441
- initializeExternalNS(CHAT_NAMESPACE, chatUrl);
5442
- }
5443
- }
5444
- };
5445
- };
5446
-
5447
5425
  const QUERY_STORAGE_KEY = 'rshb-query-params';
5448
- function getSessionQuery() {
5426
+ function saveSessionQuery() {
5449
5427
  const result = globalThis.location?.search || globalThis.sessionStorage?.getItem(QUERY_STORAGE_KEY) || '';
5450
5428
  if (result) {
5451
5429
  globalThis.sessionStorage?.setItem(QUERY_STORAGE_KEY, result);
@@ -5453,8 +5431,23 @@
5453
5431
  return result;
5454
5432
  }
5455
5433
 
5434
+ const applyAspects = (aspects) => (ev) => {
5435
+ const element = ev.target?.closest('[data-aspects]');
5436
+ try {
5437
+ const aspectsAttributes = JSON.parse(element?.dataset?.aspects ?? '[]');
5438
+ for (const { aspectName, params } of aspectsAttributes) {
5439
+ aspects[aspectName ?? '']?.(ev, params);
5440
+ }
5441
+ }
5442
+ catch (_) {
5443
+ // Do nothing
5444
+ }
5445
+ // legal aspect, use always
5446
+ aspects.forwardQuery?.(ev);
5447
+ };
5448
+
5456
5449
  const adjustSessionQuery = (href) => {
5457
- const sessionQuery = getSessionQuery();
5450
+ const sessionQuery = saveSessionQuery();
5458
5451
  if (!isURL(href) || !sessionQuery) {
5459
5452
  return href;
5460
5453
  }
@@ -5465,41 +5458,18 @@
5465
5458
  return url.toString();
5466
5459
  };
5467
5460
 
5468
- const useNavigateHandler = handlerDecorator(() => {
5469
- useEffect(() => {
5470
- getSessionQuery(); //? Call first time for save query in sessionStorage
5471
- }, []);
5472
- const loadBot = useChatBot(projectSettings.CHAT_BOT);
5473
- const reachGoalYM = (targetName) => {
5474
- const [ymID] = projectSettings.YANDEX_METRIKA_ID?.split(',').reverse() ?? [];
5475
- if ([ymID, targetName, globalThis.ym].every(Boolean)) {
5476
- globalThis.ym(ymID, 'reachGoal', targetName);
5477
- }
5478
- };
5479
- useEventListener(globalThis, 'click', navigationHandler({ loadBot, reachGoalYM }));
5480
- });
5481
- const navigationHandler = (methods) => (ev) => {
5482
- const element = getAnchorElement(ev.target);
5483
- for (const key in element?.dataset) {
5484
- getScenario(key)?.(element, methods);
5485
- }
5486
- if (isURL(element?.href) && !element?.href?.startsWith(globalThis.location?.origin)) {
5461
+ const forwardQuery = (ev) => {
5462
+ const anchor = ev.target?.closest('a');
5463
+ if (isURL(anchor?.href) && !anchor?.href?.startsWith(globalThis.location?.origin)) {
5487
5464
  ev.preventDefault();
5488
5465
  ev.stopPropagation();
5489
- const url = adjustSessionQuery(element?.href) || element?.href;
5466
+ const url = adjustSessionQuery(anchor?.href) || anchor?.href;
5490
5467
  if (url) {
5491
- const transition = getTransition(element?.target);
5468
+ const transition = getTransition(anchor?.target);
5492
5469
  transition?.(url);
5493
5470
  }
5494
5471
  }
5495
5472
  };
5496
- const getAnchorElement = (target) => {
5497
- let _target = target;
5498
- while (Boolean(_target) && _target.tagName !== 'A') {
5499
- _target = _target?.parentNode;
5500
- }
5501
- return _target;
5502
- };
5503
5473
  const getTransition = tableFunc([
5504
5474
  [(_) => _ === '_blank', (url) => globalThis.open(url, '_blank')],
5505
5475
  [(_) => _ === '_parent', (url) => globalThis.parent && (globalThis.parent.location.href = url)],
@@ -5511,10 +5481,24 @@
5511
5481
  ],
5512
5482
  [() => true, (url) => globalThis.location && (globalThis.location.href = url)],
5513
5483
  ]);
5514
- const getScenario = tableFunc([
5515
- [(_) => _ === 'ymtarget', (target, methods) => methods?.reachGoalYM(target?.dataset?.ymtarget)],
5516
- [(_) => _ === 'chatbot', (target, methods) => methods?.loadBot({ target })],
5517
- ]);
5484
+
5485
+ function useAspects() {
5486
+ return useAspects._impl();
5487
+ }
5488
+ useAspects._impl = () => ({
5489
+ forwardQuery,
5490
+ });
5491
+ useAspects.setup = (impl) => {
5492
+ useAspects._impl = impl;
5493
+ };
5494
+
5495
+ const useClickHandler = handlerDecorator(() => {
5496
+ useEffect(() => {
5497
+ saveSessionQuery(); //? Call first time for save query in sessionStorage
5498
+ }, []);
5499
+ const aspects = useAspects();
5500
+ useEventListener(globalThis, 'click', applyAspects(aspects));
5501
+ });
5518
5502
 
5519
5503
  const COOKIE_DIALOG_ID = 'cookie';
5520
5504
  const DIALOG_INITIAL_DELAY = 3 * 1000;
@@ -5601,7 +5585,7 @@
5601
5585
  const ContentPage = JSX(({ className, data = EMPTY_DATA, blocksRegistry, blockDecorator }) => {
5602
5586
  const { slots, blocks, fallback, ...pageContent } = data;
5603
5587
  const resolvedPageContent = useJSONRef(pageContent, fallback);
5604
- useNavigateHandler();
5588
+ useClickHandler();
5605
5589
  const options = {
5606
5590
  key: '',
5607
5591
  page: { slots, blocks, fallback, ...resolvedPageContent },
@@ -5623,7 +5607,7 @@
5623
5607
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
5624
5608
  });
5625
5609
 
5626
- const packageVersion = "0.14.268";
5610
+ const packageVersion = "0.14.269";
5627
5611
 
5628
5612
  exports.Blocks = Blocks;
5629
5613
  exports.ContentPage = ContentPage;