@redneckz/wildless-cms-uni-blocks 0.8.7 → 0.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/bundle/EventBus/EventBus.d.ts +1 -4
  2. package/bundle/EventBus/defaultEventBus.d.ts +7 -0
  3. package/bundle/blocks.schema.json +1 -1
  4. package/bundle/bundle.umd.js +34 -70
  5. package/bundle/bundle.umd.min.js +1 -1
  6. package/bundle/components/ButtonBlock/ButtonBlockContent.d.ts +5 -1
  7. package/bundle/components/ProductTile/ProductTileContent.d.ts +4 -13
  8. package/bundle/components/StepsBlock/StepsBlockContent.d.ts +6 -4
  9. package/bundle/components/TextBlock/TextBlockContent.d.ts +3 -2
  10. package/bundle/hooks/useRouter.d.ts +6 -2
  11. package/bundle/model/DefaultListItemType.d.ts +4 -0
  12. package/bundle/model/RichTextItem.d.ts +8 -0
  13. package/bundle/services/BlockRouter/BlockRouter.d.ts +3 -22
  14. package/bundle/services/BlockRouter/blockRouterEventBus.d.ts +11 -0
  15. package/bundle/services/BlockRouter/useBlockIntersectionObserver.d.ts +1 -2
  16. package/bundle/services/BlockRouter/useBlockRouterProvider.d.ts +1 -2
  17. package/bundle/ui-kit/BenefitItem/BenefitItemProps.d.ts +4 -13
  18. package/dist/EventBus/EventBus.d.ts +1 -4
  19. package/dist/EventBus/EventBus.js +0 -1
  20. package/dist/EventBus/EventBus.js.map +1 -1
  21. package/dist/EventBus/defaultEventBus.d.ts +7 -0
  22. package/dist/EventBus/defaultEventBus.js +5 -0
  23. package/dist/EventBus/defaultEventBus.js.map +1 -0
  24. package/dist/components/ButtonBlock/ButtonBlock.js +2 -1
  25. package/dist/components/ButtonBlock/ButtonBlock.js.map +1 -1
  26. package/dist/components/ButtonBlock/ButtonBlockContent.d.ts +5 -1
  27. package/dist/components/ProductTile/ProductTile.js +1 -2
  28. package/dist/components/ProductTile/ProductTile.js.map +1 -1
  29. package/dist/components/ProductTile/ProductTileContent.d.ts +4 -13
  30. package/dist/components/StepsBlock/StepsBlockContent.d.ts +6 -4
  31. package/dist/components/Tabs/Tabs.js +4 -4
  32. package/dist/components/Tabs/Tabs.js.map +1 -1
  33. package/dist/components/TextBlock/TextBlock.js +3 -2
  34. package/dist/components/TextBlock/TextBlock.js.map +1 -1
  35. package/dist/components/TextBlock/TextBlockContent.d.ts +3 -2
  36. package/dist/hooks/useLink.js +2 -3
  37. package/dist/hooks/useLink.js.map +1 -1
  38. package/dist/hooks/useRouter.d.ts +6 -2
  39. package/dist/hooks/useRouter.js.map +1 -1
  40. package/dist/model/DefaultListItemType.d.ts +4 -0
  41. package/dist/model/DefaultListItemType.js +2 -0
  42. package/dist/model/DefaultListItemType.js.map +1 -0
  43. package/dist/model/RichTextItem.d.ts +8 -0
  44. package/{mobile/dist/EventBus/EventMap.js → dist/model/RichTextItem.js} +1 -1
  45. package/dist/model/RichTextItem.js.map +1 -0
  46. package/dist/services/BlockRouter/BlockRouter.d.ts +3 -22
  47. package/dist/services/BlockRouter/BlockRouter.js +11 -30
  48. package/dist/services/BlockRouter/BlockRouter.js.map +1 -1
  49. package/dist/services/BlockRouter/blockRouterEventBus.d.ts +11 -0
  50. package/dist/services/BlockRouter/blockRouterEventBus.js +5 -0
  51. package/dist/services/BlockRouter/blockRouterEventBus.js.map +1 -0
  52. package/dist/services/BlockRouter/useBlockIntersectionObserver.d.ts +1 -2
  53. package/dist/services/BlockRouter/useBlockIntersectionObserver.js +5 -16
  54. package/dist/services/BlockRouter/useBlockIntersectionObserver.js.map +1 -1
  55. package/dist/services/BlockRouter/useBlockRouterProvider.d.ts +1 -2
  56. package/dist/services/BlockRouter/useBlockRouterProvider.js +11 -12
  57. package/dist/services/BlockRouter/useBlockRouterProvider.js.map +1 -1
  58. package/dist/ui-kit/BenefitItem/BenefitItemProps.d.ts +4 -13
  59. package/dist/ui-kit/BlockWrapper.js +2 -2
  60. package/dist/ui-kit/BlockWrapper.js.map +1 -1
  61. package/lib/EventBus/EventBus.d.ts +1 -4
  62. package/lib/EventBus/EventBus.js +0 -1
  63. package/lib/EventBus/EventBus.js.map +1 -1
  64. package/lib/EventBus/defaultEventBus.d.ts +7 -0
  65. package/lib/EventBus/defaultEventBus.js +3 -0
  66. package/lib/EventBus/defaultEventBus.js.map +1 -0
  67. package/lib/common.css +1 -1
  68. package/lib/components/ButtonBlock/ButtonBlock.js +2 -1
  69. package/lib/components/ButtonBlock/ButtonBlock.js.map +1 -1
  70. package/lib/components/ButtonBlock/ButtonBlockContent.d.ts +5 -1
  71. package/lib/components/ProductTile/ProductTile.js +1 -2
  72. package/lib/components/ProductTile/ProductTile.js.map +1 -1
  73. package/lib/components/ProductTile/ProductTileContent.d.ts +4 -13
  74. package/lib/components/StepsBlock/StepsBlockContent.d.ts +6 -4
  75. package/lib/components/Tabs/Tabs.js +4 -4
  76. package/lib/components/Tabs/Tabs.js.map +1 -1
  77. package/lib/components/TextBlock/TextBlock.js +3 -2
  78. package/lib/components/TextBlock/TextBlock.js.map +1 -1
  79. package/lib/components/TextBlock/TextBlockContent.d.ts +3 -2
  80. package/lib/hooks/useLink.js +2 -3
  81. package/lib/hooks/useLink.js.map +1 -1
  82. package/lib/hooks/useRouter.d.ts +6 -2
  83. package/lib/hooks/useRouter.js.map +1 -1
  84. package/lib/model/DefaultListItemType.d.ts +4 -0
  85. package/lib/model/DefaultListItemType.js +2 -0
  86. package/lib/model/DefaultListItemType.js.map +1 -0
  87. package/lib/model/RichTextItem.d.ts +8 -0
  88. package/lib/model/RichTextItem.js +2 -0
  89. package/lib/model/RichTextItem.js.map +1 -0
  90. package/lib/services/BlockRouter/BlockRouter.d.ts +3 -22
  91. package/lib/services/BlockRouter/BlockRouter.js +8 -28
  92. package/lib/services/BlockRouter/BlockRouter.js.map +1 -1
  93. package/lib/services/BlockRouter/blockRouterEventBus.d.ts +11 -0
  94. package/lib/services/BlockRouter/blockRouterEventBus.js +3 -0
  95. package/lib/services/BlockRouter/blockRouterEventBus.js.map +1 -0
  96. package/lib/services/BlockRouter/useBlockIntersectionObserver.d.ts +1 -2
  97. package/lib/services/BlockRouter/useBlockIntersectionObserver.js +6 -17
  98. package/lib/services/BlockRouter/useBlockIntersectionObserver.js.map +1 -1
  99. package/lib/services/BlockRouter/useBlockRouterProvider.d.ts +1 -2
  100. package/lib/services/BlockRouter/useBlockRouterProvider.js +12 -13
  101. package/lib/services/BlockRouter/useBlockRouterProvider.js.map +1 -1
  102. package/lib/ui-kit/BenefitItem/BenefitItemProps.d.ts +4 -13
  103. package/lib/ui-kit/BlockWrapper.js +2 -2
  104. package/lib/ui-kit/BlockWrapper.js.map +1 -1
  105. package/mobile/bundle/EventBus/EventBus.d.ts +1 -4
  106. package/mobile/bundle/EventBus/defaultEventBus.d.ts +7 -0
  107. package/mobile/bundle/bundle.umd.js +27 -62
  108. package/mobile/bundle/bundle.umd.min.js +1 -1
  109. package/mobile/bundle/components/ButtonBlock/ButtonBlockContent.d.ts +5 -1
  110. package/mobile/bundle/components/ProductTile/ProductTileContent.d.ts +4 -13
  111. package/mobile/bundle/components/StepsBlock/StepsBlockContent.d.ts +6 -4
  112. package/mobile/bundle/components/TextBlock/TextBlockContent.d.ts +3 -2
  113. package/mobile/bundle/hooks/useRouter.d.ts +6 -2
  114. package/mobile/bundle/model/DefaultListItemType.d.ts +4 -0
  115. package/mobile/bundle/model/RichTextItem.d.ts +8 -0
  116. package/mobile/bundle/services/BlockRouter/BlockRouter.d.ts +3 -22
  117. package/mobile/bundle/services/BlockRouter/blockRouterEventBus.d.ts +11 -0
  118. package/mobile/bundle/services/BlockRouter/useBlockIntersectionObserver.d.ts +1 -2
  119. package/mobile/bundle/services/BlockRouter/useBlockRouterProvider.d.ts +1 -2
  120. package/mobile/bundle/ui-kit/BenefitItem/BenefitItemProps.d.ts +4 -13
  121. package/mobile/dist/EventBus/EventBus.d.ts +1 -4
  122. package/mobile/dist/EventBus/EventBus.js +0 -1
  123. package/mobile/dist/EventBus/EventBus.js.map +1 -1
  124. package/mobile/dist/EventBus/defaultEventBus.d.ts +7 -0
  125. package/mobile/dist/EventBus/defaultEventBus.js +5 -0
  126. package/mobile/dist/EventBus/defaultEventBus.js.map +1 -0
  127. package/mobile/dist/components/ButtonBlock/ButtonBlock.js +2 -1
  128. package/mobile/dist/components/ButtonBlock/ButtonBlock.js.map +1 -1
  129. package/mobile/dist/components/ButtonBlock/ButtonBlockContent.d.ts +5 -1
  130. package/mobile/dist/components/ProductTile/ProductTile.js +1 -2
  131. package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
  132. package/mobile/dist/components/ProductTile/ProductTileContent.d.ts +4 -13
  133. package/mobile/dist/components/StepsBlock/StepsBlockContent.d.ts +6 -4
  134. package/mobile/dist/components/Tabs/Tabs.js +4 -4
  135. package/mobile/dist/components/Tabs/Tabs.js.map +1 -1
  136. package/mobile/dist/components/TextBlock/TextBlockContent.d.ts +3 -2
  137. package/mobile/dist/hooks/useLink.js +2 -3
  138. package/mobile/dist/hooks/useLink.js.map +1 -1
  139. package/mobile/dist/hooks/useRouter.d.ts +6 -2
  140. package/mobile/dist/hooks/useRouter.js.map +1 -1
  141. package/mobile/dist/model/DefaultListItemType.d.ts +4 -0
  142. package/mobile/dist/model/DefaultListItemType.js +2 -0
  143. package/mobile/dist/model/DefaultListItemType.js.map +1 -0
  144. package/mobile/dist/model/RichTextItem.d.ts +8 -0
  145. package/{dist/EventBus/EventMap.js → mobile/dist/model/RichTextItem.js} +1 -1
  146. package/mobile/dist/model/RichTextItem.js.map +1 -0
  147. package/mobile/dist/services/BlockRouter/BlockRouter.d.ts +3 -22
  148. package/mobile/dist/services/BlockRouter/BlockRouter.js +11 -30
  149. package/mobile/dist/services/BlockRouter/BlockRouter.js.map +1 -1
  150. package/mobile/dist/services/BlockRouter/blockRouterEventBus.d.ts +11 -0
  151. package/mobile/dist/services/BlockRouter/blockRouterEventBus.js +5 -0
  152. package/mobile/dist/services/BlockRouter/blockRouterEventBus.js.map +1 -0
  153. package/mobile/dist/services/BlockRouter/useBlockIntersectionObserver.d.ts +1 -2
  154. package/mobile/dist/services/BlockRouter/useBlockIntersectionObserver.js +5 -16
  155. package/mobile/dist/services/BlockRouter/useBlockIntersectionObserver.js.map +1 -1
  156. package/mobile/dist/services/BlockRouter/useBlockRouterProvider.d.ts +1 -2
  157. package/mobile/dist/services/BlockRouter/useBlockRouterProvider.js +11 -12
  158. package/mobile/dist/services/BlockRouter/useBlockRouterProvider.js.map +1 -1
  159. package/mobile/dist/ui-kit/BenefitItem/BenefitItemProps.d.ts +4 -13
  160. package/mobile/dist/ui-kit/BlockWrapper.js +2 -2
  161. package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
  162. package/mobile/lib/EventBus/EventBus.d.ts +1 -4
  163. package/mobile/lib/EventBus/EventBus.js +0 -1
  164. package/mobile/lib/EventBus/EventBus.js.map +1 -1
  165. package/mobile/lib/EventBus/defaultEventBus.d.ts +7 -0
  166. package/mobile/lib/EventBus/defaultEventBus.js +3 -0
  167. package/mobile/lib/EventBus/defaultEventBus.js.map +1 -0
  168. package/mobile/lib/components/ButtonBlock/ButtonBlock.js +2 -1
  169. package/mobile/lib/components/ButtonBlock/ButtonBlock.js.map +1 -1
  170. package/mobile/lib/components/ButtonBlock/ButtonBlockContent.d.ts +5 -1
  171. package/mobile/lib/components/ProductTile/ProductTile.js +1 -2
  172. package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
  173. package/mobile/lib/components/ProductTile/ProductTileContent.d.ts +4 -13
  174. package/mobile/lib/components/StepsBlock/StepsBlockContent.d.ts +6 -4
  175. package/mobile/lib/components/Tabs/Tabs.js +4 -4
  176. package/mobile/lib/components/Tabs/Tabs.js.map +1 -1
  177. package/mobile/lib/components/TextBlock/TextBlockContent.d.ts +3 -2
  178. package/mobile/lib/hooks/useLink.js +2 -3
  179. package/mobile/lib/hooks/useLink.js.map +1 -1
  180. package/mobile/lib/hooks/useRouter.d.ts +6 -2
  181. package/mobile/lib/hooks/useRouter.js.map +1 -1
  182. package/mobile/lib/model/DefaultListItemType.d.ts +4 -0
  183. package/mobile/lib/model/DefaultListItemType.js +2 -0
  184. package/mobile/lib/model/DefaultListItemType.js.map +1 -0
  185. package/mobile/lib/model/RichTextItem.d.ts +8 -0
  186. package/mobile/lib/model/RichTextItem.js +2 -0
  187. package/mobile/lib/model/RichTextItem.js.map +1 -0
  188. package/mobile/lib/services/BlockRouter/BlockRouter.d.ts +3 -22
  189. package/mobile/lib/services/BlockRouter/BlockRouter.js +8 -28
  190. package/mobile/lib/services/BlockRouter/BlockRouter.js.map +1 -1
  191. package/mobile/lib/services/BlockRouter/blockRouterEventBus.d.ts +11 -0
  192. package/mobile/lib/services/BlockRouter/blockRouterEventBus.js +3 -0
  193. package/mobile/lib/services/BlockRouter/blockRouterEventBus.js.map +1 -0
  194. package/mobile/lib/services/BlockRouter/useBlockIntersectionObserver.d.ts +1 -2
  195. package/mobile/lib/services/BlockRouter/useBlockIntersectionObserver.js +6 -17
  196. package/mobile/lib/services/BlockRouter/useBlockIntersectionObserver.js.map +1 -1
  197. package/mobile/lib/services/BlockRouter/useBlockRouterProvider.d.ts +1 -2
  198. package/mobile/lib/services/BlockRouter/useBlockRouterProvider.js +12 -13
  199. package/mobile/lib/services/BlockRouter/useBlockRouterProvider.js.map +1 -1
  200. package/mobile/lib/ui-kit/BenefitItem/BenefitItemProps.d.ts +4 -13
  201. package/mobile/lib/ui-kit/BlockWrapper.js +2 -2
  202. package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
  203. package/mobile/src/EventBus/EventBus.ts +1 -7
  204. package/mobile/src/EventBus/defaultEventBus.ts +8 -0
  205. package/mobile/src/components/ButtonBlock/ButtonBlock.example.json +2 -2
  206. package/mobile/src/components/ButtonBlock/ButtonBlock.tsx +5 -2
  207. package/mobile/src/components/ButtonBlock/ButtonBlockContent.ts +5 -1
  208. package/mobile/src/components/ProductTile/ProductTile.tsx +1 -2
  209. package/mobile/src/components/ProductTile/ProductTileContent.ts +4 -15
  210. package/mobile/src/components/StepsBlock/StepsBlockContent.ts +13 -13
  211. package/mobile/src/components/Tabs/Tabs.tsx +4 -4
  212. package/mobile/src/components/TextBlock/TextBlock.ui.json +7 -1
  213. package/mobile/src/components/TextBlock/TextBlockContent.ts +12 -10
  214. package/mobile/src/hooks/useLink.ts +2 -3
  215. package/mobile/src/hooks/useRouter.ts +6 -2
  216. package/mobile/src/model/DefaultListItemType.ts +4 -0
  217. package/mobile/src/model/RichTextItem.ts +9 -0
  218. package/mobile/src/services/BlockRouter/BlockRouter.ts +8 -47
  219. package/mobile/src/services/BlockRouter/blockRouterEventBus.ts +13 -0
  220. package/mobile/src/services/BlockRouter/useBlockIntersectionObserver.ts +6 -23
  221. package/mobile/src/services/BlockRouter/useBlockRouterProvider.ts +13 -19
  222. package/mobile/src/ui-kit/BenefitItem/BenefitItemProps.ts +4 -14
  223. package/mobile/src/ui-kit/BlockWrapper.tsx +2 -2
  224. package/package.json +1 -1
  225. package/src/EventBus/EventBus.ts +1 -7
  226. package/src/EventBus/defaultEventBus.ts +8 -0
  227. package/src/components/ButtonBlock/ButtonBlock.example.json +2 -2
  228. package/src/components/ButtonBlock/ButtonBlock.tsx +5 -2
  229. package/src/components/ButtonBlock/ButtonBlockContent.ts +5 -1
  230. package/src/components/ProductTile/ProductTile.tsx +1 -2
  231. package/src/components/ProductTile/ProductTileContent.ts +4 -15
  232. package/src/components/StepsBlock/StepsBlockContent.ts +13 -13
  233. package/src/components/Tabs/Tabs.tsx +4 -4
  234. package/src/components/TextBlock/TextBlock.tsx +3 -0
  235. package/src/components/TextBlock/TextBlock.ui.json +7 -1
  236. package/src/components/TextBlock/TextBlockContent.ts +12 -10
  237. package/src/hooks/useLink.ts +2 -3
  238. package/src/hooks/useRouter.ts +6 -2
  239. package/src/model/DefaultListItemType.ts +4 -0
  240. package/src/model/RichTextItem.ts +9 -0
  241. package/src/services/BlockRouter/BlockRouter.ts +8 -47
  242. package/src/services/BlockRouter/blockRouterEventBus.ts +13 -0
  243. package/src/services/BlockRouter/useBlockIntersectionObserver.ts +6 -23
  244. package/src/services/BlockRouter/useBlockRouterProvider.ts +13 -19
  245. package/src/ui-kit/BenefitItem/BenefitItemProps.ts +4 -14
  246. package/src/ui-kit/BlockWrapper.tsx +2 -2
  247. package/bundle/EventBus/EventMap.d.ts +0 -4
  248. package/bundle/services/BlockRouter/useBlockRouter.d.ts +0 -2
  249. package/dist/EventBus/EventMap.d.ts +0 -4
  250. package/dist/EventBus/EventMap.js.map +0 -1
  251. package/dist/model/BlurVersion.d.ts +0 -0
  252. package/dist/model/BlurVersion.js +0 -1
  253. package/dist/model/BlurVersion.js.map +0 -1
  254. package/dist/services/BlockRouter/useBlockRouter.d.ts +0 -2
  255. package/dist/services/BlockRouter/useBlockRouter.js +0 -8
  256. package/dist/services/BlockRouter/useBlockRouter.js.map +0 -1
  257. package/lib/EventBus/EventMap.d.ts +0 -4
  258. package/lib/EventBus/EventMap.js +0 -2
  259. package/lib/EventBus/EventMap.js.map +0 -1
  260. package/lib/model/BlurVersion.d.ts +0 -0
  261. package/lib/model/BlurVersion.js +0 -1
  262. package/lib/model/BlurVersion.js.map +0 -1
  263. package/lib/services/BlockRouter/useBlockRouter.d.ts +0 -2
  264. package/lib/services/BlockRouter/useBlockRouter.js +0 -5
  265. package/lib/services/BlockRouter/useBlockRouter.js.map +0 -1
  266. package/mobile/bundle/EventBus/EventMap.d.ts +0 -4
  267. package/mobile/bundle/services/BlockRouter/useBlockRouter.d.ts +0 -2
  268. package/mobile/dist/EventBus/EventMap.d.ts +0 -4
  269. package/mobile/dist/EventBus/EventMap.js.map +0 -1
  270. package/mobile/dist/model/BlurVersion.d.ts +0 -0
  271. package/mobile/dist/model/BlurVersion.js +0 -1
  272. package/mobile/dist/model/BlurVersion.js.map +0 -1
  273. package/mobile/dist/services/BlockRouter/useBlockRouter.d.ts +0 -2
  274. package/mobile/dist/services/BlockRouter/useBlockRouter.js +0 -8
  275. package/mobile/dist/services/BlockRouter/useBlockRouter.js.map +0 -1
  276. package/mobile/lib/EventBus/EventMap.d.ts +0 -4
  277. package/mobile/lib/EventBus/EventMap.js +0 -2
  278. package/mobile/lib/EventBus/EventMap.js.map +0 -1
  279. package/mobile/lib/model/BlurVersion.d.ts +0 -0
  280. package/mobile/lib/model/BlurVersion.js +0 -1
  281. package/mobile/lib/model/BlurVersion.js.map +0 -1
  282. package/mobile/lib/services/BlockRouter/useBlockRouter.d.ts +0 -2
  283. package/mobile/lib/services/BlockRouter/useBlockRouter.js +0 -5
  284. package/mobile/lib/services/BlockRouter/useBlockRouter.js.map +0 -1
  285. package/mobile/src/EventBus/EventMap.ts +0 -5
  286. package/mobile/src/model/BlurVersion.ts +0 -0
  287. package/mobile/src/services/BlockRouter/useBlockRouter.ts +0 -5
  288. package/src/EventBus/EventMap.ts +0 -5
  289. package/src/model/BlurVersion.ts +0 -0
  290. package/src/services/BlockRouter/useBlockRouter.ts +0 -5
@@ -290,7 +290,6 @@
290
290
  };
291
291
 
292
292
  class EventBus {
293
- static inst = new EventBus();
294
293
  subscribers = {};
295
294
  subjectsStateMap = {};
296
295
  subscribe(type, listener) {
@@ -318,6 +317,8 @@
318
317
  }
319
318
  }
320
319
 
320
+ const defaultEventBus = new EventBus();
321
+
321
322
  const SENSITIVITY_SCALE = 10;
322
323
  function useIntersectionObserver(observerCallback, { sensitivity, rootRef } = {}) {
323
324
  const ref = useRef(null);
@@ -342,55 +343,17 @@
342
343
  .concat(1);
343
344
  }
344
345
 
345
- const normalizeAnchor = (rawAnchor) => rawAnchor?.replace('#', '') || '';
346
- const getURLWithAnchor = (rawAnchor) => `${globalThis.location?.pathname}#${normalizeAnchor(rawAnchor)}`;
347
- class BlockRouter {
348
- static inst = new BlockRouter();
349
- eventBus = new EventBus();
350
- constructor() {
351
- const anchor = normalizeAnchor(globalThis.location?.hash);
352
- if (anchor) {
353
- this.eventBus.subject('goto', { anchor });
354
- }
355
- }
356
- goto(rawAnchor) {
357
- const anchor = normalizeAnchor(rawAnchor);
358
- if (anchor) {
359
- this.push(anchor);
360
- this.eventBus.fire('goto', { anchor });
361
- }
362
- }
363
- push(rawAnchor) {
364
- globalThis.history?.pushState(null, '', getURLWithAnchor(rawAnchor));
365
- }
366
- replace(rawAnchor) {
367
- globalThis.history?.replaceState(null, '', getURLWithAnchor(rawAnchor));
368
- }
369
- reset() {
370
- globalThis.history?.replaceState(null, '', getURLWithAnchor());
371
- }
372
- }
346
+ const blockRouterEventBus = new EventBus();
373
347
 
374
- function useBlockIntersectionObserver(block, router = BlockRouter.inst) {
348
+ function useBlockIntersectionObserver(block) {
375
349
  const observerCallback = useCallback((entries) => {
376
350
  if (!block || !entries?.length) {
377
351
  return;
378
352
  }
379
353
  const intersection = entries[entries.length - 1];
380
- router.eventBus.fire('intersection', { block, intersection });
381
- }, [block, router]);
382
- const ref = useIntersectionObserver(observerCallback, { sensitivity: 1 });
383
- useEffect(() => {
384
- if (!ref.current) {
385
- return undefined;
386
- }
387
- return router.eventBus.subscribe('goto', ({ anchor }) => {
388
- if (ref.current && block?.anchor === anchor) {
389
- ref.current.scrollIntoView({ behavior: 'smooth', block: 'start' });
390
- }
391
- });
392
- }, [block, router]);
393
- return ref;
354
+ blockRouterEventBus.fire('intersection', { block, intersection });
355
+ }, [block]);
356
+ return useIntersectionObserver(observerCallback, { sensitivity: 1 });
394
357
  }
395
358
 
396
359
  const blockStyles = {
@@ -404,7 +367,7 @@
404
367
  const Tag = tag;
405
368
  const ref = useBlockIntersectionObserver(block);
406
369
  const [isVisible, setVisible] = useState(true);
407
- useEffect(() => EventBus.inst.subscribe('tab', (event) => {
370
+ useEffect(() => defaultEventBus.subscribe('tab', (event) => {
408
371
  if (event.type === 'group') {
409
372
  const hasSettings = block?.labels?.length || block?.anchor;
410
373
  setVisible(event.label ? !hasSettings || Boolean(block?.labels?.includes(event.label)) : true);
@@ -651,8 +614,14 @@
651
614
  },
652
615
  ];
653
616
 
654
- function useBlockRouter() {
655
- return BlockRouter.inst;
617
+ const normalizeAnchor = (anchor) => anchor?.replace('#', '') || '';
618
+ function gotoBlock(router, anchor) {
619
+ router.replace(`#${normalizeAnchor(anchor)}`);
620
+ }
621
+ function trackBlock(router, block) {
622
+ router.replace(`#${normalizeAnchor(block?.anchor)}`, undefined, {
623
+ scroll: false,
624
+ });
656
625
  }
657
626
 
658
627
  const isURL = (href) => Boolean(href?.includes('//'));
@@ -699,7 +668,6 @@
699
668
 
700
669
  function useLink(isRemote) {
701
670
  const router = useRouter();
702
- const blockRouter = useBlockRouter();
703
671
  return (props) => ({
704
672
  ...props,
705
673
  href: adjustHref(props.href),
@@ -722,7 +690,7 @@
722
690
  // Client routing
723
691
  ev?.preventDefault();
724
692
  if (isHash(href)) {
725
- blockRouter.goto(href);
693
+ gotoBlock(router, href);
726
694
  }
727
695
  else if (href) {
728
696
  router.push(href);
@@ -1260,7 +1228,7 @@
1260
1228
 
1261
1229
  const BusinessBlock = JSX(({ className = '', title, cards, ...rest }) => (jsxs(BlockWrapper, { className: `p-12 pb-9 ${className}`, ...rest, children: [jsx(Heading, { headingType: "h3", title: title, className: "text-center mb-8" }), jsx("div", { className: "flex gap-5", children: cards?.length ? cards.map((_, i) => jsx(BusinessCard, { ..._ }, String(i))) : null })] })));
1262
1230
 
1263
- const ButtonBlock = JSX(({ button, ...rest }) => (jsx(BlockWrapper, { ...rest, children: renderButtonsSection([button]) })));
1231
+ const ButtonBlock = JSX(({ button, className, ...rest }) => (jsx(BlockWrapper, { className: style('!bg-transparent', className), ...rest, children: renderButtonsSection([button]) })));
1264
1232
 
1265
1233
  const useCarouselControls = (props) => {
1266
1234
  const { itemCount, visibleItemCount, isCyclic } = props;
@@ -3707,8 +3675,7 @@
3707
3675
  }
3708
3676
  // picture width = 242px. Text can overlay picture 20px deep. Outer paddings_x = 36px. 242-36-20 = 186px
3709
3677
  const benefitsWidth = image?.src ? 'max-w-[calc(100%-186px)]' : '100%';
3710
- return (jsx("div", { className: `z-10 grid grid-cols-[max-content_1fr] auto-rows-auto gap-x-6 gap-y-2.5 items-baseline
3711
- ${benefitsWidth}`, children: benefits.length ? benefits.map(renderBenefit) : null }));
3678
+ return (jsx("div", { className: `z-10 grid grid-cols-[max-content_1fr] auto-rows-auto gap-x-6 gap-y-2.5 items-baseline ${benefitsWidth}`, children: benefits.length ? benefits.map(renderBenefit) : null }));
3712
3679
  }
3713
3680
 
3714
3681
  const PromoTile = JSX(({ className = '', title = 'Акции и спецпредложения', date, description, as, buttons = [], ...rest }) => (jsx(BlockWrapper, { className: style('p-9 box-border', className, getTileRightPadding(className), getTileMinHeight(className)), ...rest, children: jsx(BaseTile, { title: title ? (jsx(Headline, { className: "!p-0 max-w-[600px]", title: title, headlineVersion: getTileHeadingType(className), align: "text-left", as: as || 'h2' })) : null, buttons: renderButtonsSection(buttons), children: jsxs("div", { className: "mt-1.5", children: [date ? jsx("div", { className: "text-s mb-2", children: formatDate(date) }) : null, jsx("div", { className: "text-l", children: description })] }) }) })));
@@ -4122,7 +4089,7 @@
4122
4089
  const Tabs = JSX((props) => {
4123
4090
  const { className = '', tabs, showCounter, isSticky, tabsMode, ...rest } = props;
4124
4091
  const [currentTab, setCurrentTab] = useState(tabs ? tabs[0] : undefined);
4125
- useEffect(() => EventBus.inst.subscribe('tab', (event) => {
4092
+ useEffect(() => defaultEventBus.subscribe('tab', (event) => {
4126
4093
  const tab = tabs?.find(checkTab(event));
4127
4094
  if (event.type === 'link' && tab) {
4128
4095
  setCurrentTab(tab);
@@ -4130,11 +4097,11 @@
4130
4097
  return [];
4131
4098
  }), [tabs]);
4132
4099
  useEffect(() => currentTab?.type === 'group'
4133
- ? EventBus.inst.subject('tab', { type: currentTab.type, label: currentTab.ref })
4100
+ ? defaultEventBus.subject('tab', { type: currentTab.type, label: currentTab.ref })
4134
4101
  : undefined, [currentTab]);
4135
4102
  const handleClick = useCallback((selectedTab) => {
4136
4103
  if (selectedTab?.type === 'group') {
4137
- EventBus.inst.fire('tab', { type: selectedTab.type, label: selectedTab.ref });
4104
+ defaultEventBus.fire('tab', { type: selectedTab.type, label: selectedTab.ref });
4138
4105
  }
4139
4106
  setCurrentTab(selectedTab);
4140
4107
  }, []);
@@ -4333,9 +4300,9 @@
4333
4300
  secondary: 'bg-primary-main',
4334
4301
  'secondary-light': 'bg-primary-main/10',
4335
4302
  };
4336
- const TextBlock = JSX(({ className = '', title, description, blockVersion = 'primary', iconVersion, image, ...rest }) => {
4303
+ const TextBlock = JSX(({ className = '', title, description, blockVersion = 'primary', iconVersion, image, __html, ...rest }) => {
4337
4304
  const isSecondaryBlock = blockVersion === 'secondary';
4338
- return (jsxs(BlockWrapper, { className: `px-9 py-4 flex gap-3 ${textBlockBack[blockVersion]} ${className}`, ...rest, children: [iconVersion === 'small' ? (jsx("div", { className: "mt-1", children: renderIcon(isSecondaryBlock) })) : null, iconVersion === 'big' ? renderImage(image) : null, jsxs("div", { children: [title ? renderTitle(title, isSecondaryBlock) : null, description ? (jsx("div", { className: "mt-1", children: renderDescription(description, isSecondaryBlock) })) : null] })] }));
4305
+ return (jsxs(BlockWrapper, { className: `px-9 py-4 flex gap-3 ${textBlockBack[blockVersion]} ${className}`, ...rest, children: [iconVersion === 'small' ? (jsx("div", { className: "mt-1", children: renderIcon(isSecondaryBlock) })) : null, iconVersion === 'big' ? renderImage(image) : null, jsxs("div", { children: [title ? renderTitle(title, isSecondaryBlock) : null, description ? (jsx("div", { className: "mt-1", children: renderDescription(description, isSecondaryBlock) })) : null, __html ? jsx(RichText, { __html: __html }) : null] })] }));
4339
4306
  });
4340
4307
  const renderIcon = (isSecondaryBlock) => (jsx("div", { className: `rounded-full h-4 w-4 text-center text-xs-light ${isSecondaryBlock ? 'bg-white text-primary-main' : 'bg-primary-main text-white'}`, children: "i" }));
4341
4308
  const renderImage = (image) => (image?.src ? jsx(ImgInner, { image: image }) : null);
@@ -4460,25 +4427,22 @@
4460
4427
  }
4461
4428
 
4462
4429
  const isScrolledEnough = () => globalThis.scrollY > (globalThis.innerHeight * 3) / 4;
4463
- function useBlockRouterProvider(router = BlockRouter.inst, scrollTarget = globalThis) {
4430
+ function useBlockRouterProvider(scrollTarget = globalThis) {
4431
+ const router = useRouter();
4464
4432
  const intersectionsMapRef = useRef(new Map());
4465
- useEffect(() => router.eventBus.subscribe('intersection', ({ block, intersection }) => {
4433
+ useEffect(() => blockRouterEventBus.subscribe('intersection', ({ block, intersection }) => {
4466
4434
  if (intersectionsMapRef.current) {
4467
4435
  intersectionsMapRef.current.set(block, intersection);
4468
4436
  }
4469
- }), [router]);
4437
+ }), []);
4470
4438
  useEffect(() => {
4471
4439
  const handleScroll = debounce(() => {
4472
- if (!isScrolledEnough()) {
4473
- router.reset();
4474
- return;
4440
+ if (isScrolledEnough()) {
4441
+ const activeBlock = findActiveBlock([...(intersectionsMapRef.current || [])]);
4442
+ trackBlock(router, activeBlock);
4475
4443
  }
4476
- const activeBlock = findActiveBlock([...(intersectionsMapRef.current || [])]);
4477
- if (activeBlock?.anchor) {
4478
- router.replace(activeBlock.anchor);
4479
- }
4480
- else if (!activeBlock) {
4481
- router.reset();
4444
+ else {
4445
+ trackBlock(router);
4482
4446
  }
4483
4447
  }, 100);
4484
4448
  scrollTarget.addEventListener('scroll', handleScroll);
@@ -4557,7 +4521,7 @@
4557
4521
  return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-lg sticky bottom-0 pointer-events-auto" }) }));
4558
4522
  }
4559
4523
 
4560
- const packageVersion = "0.8.7";
4524
+ const packageVersion = "0.8.9";
4561
4525
 
4562
4526
  exports.Blocks = Blocks;
4563
4527
  exports.ContentPage = ContentPage;