@redneckz/wildless-cms-uni-blocks 0.8.8 → 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 (197) 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 +31 -66
  5. package/bundle/bundle.umd.min.js +1 -1
  6. package/bundle/components/ButtonBlock/ButtonBlockContent.d.ts +5 -1
  7. package/bundle/hooks/useRouter.d.ts +6 -2
  8. package/bundle/services/BlockRouter/BlockRouter.d.ts +3 -22
  9. package/bundle/services/BlockRouter/blockRouterEventBus.d.ts +11 -0
  10. package/bundle/services/BlockRouter/useBlockIntersectionObserver.d.ts +1 -2
  11. package/bundle/services/BlockRouter/useBlockRouterProvider.d.ts +1 -2
  12. package/dist/EventBus/EventBus.d.ts +1 -4
  13. package/dist/EventBus/EventBus.js +0 -1
  14. package/dist/EventBus/EventBus.js.map +1 -1
  15. package/dist/EventBus/defaultEventBus.d.ts +7 -0
  16. package/dist/EventBus/defaultEventBus.js +5 -0
  17. package/dist/EventBus/defaultEventBus.js.map +1 -0
  18. package/dist/components/ButtonBlock/ButtonBlock.js +2 -1
  19. package/dist/components/ButtonBlock/ButtonBlock.js.map +1 -1
  20. package/dist/components/ButtonBlock/ButtonBlockContent.d.ts +5 -1
  21. package/dist/components/Tabs/Tabs.js +4 -4
  22. package/dist/components/Tabs/Tabs.js.map +1 -1
  23. package/dist/hooks/useLink.js +2 -3
  24. package/dist/hooks/useLink.js.map +1 -1
  25. package/dist/hooks/useRouter.d.ts +6 -2
  26. package/dist/hooks/useRouter.js.map +1 -1
  27. package/dist/services/BlockRouter/BlockRouter.d.ts +3 -22
  28. package/dist/services/BlockRouter/BlockRouter.js +11 -30
  29. package/dist/services/BlockRouter/BlockRouter.js.map +1 -1
  30. package/dist/services/BlockRouter/blockRouterEventBus.d.ts +11 -0
  31. package/dist/services/BlockRouter/blockRouterEventBus.js +5 -0
  32. package/dist/services/BlockRouter/blockRouterEventBus.js.map +1 -0
  33. package/dist/services/BlockRouter/useBlockIntersectionObserver.d.ts +1 -2
  34. package/dist/services/BlockRouter/useBlockIntersectionObserver.js +5 -16
  35. package/dist/services/BlockRouter/useBlockIntersectionObserver.js.map +1 -1
  36. package/dist/services/BlockRouter/useBlockRouterProvider.d.ts +1 -2
  37. package/dist/services/BlockRouter/useBlockRouterProvider.js +11 -12
  38. package/dist/services/BlockRouter/useBlockRouterProvider.js.map +1 -1
  39. package/dist/ui-kit/BlockWrapper.js +2 -2
  40. package/dist/ui-kit/BlockWrapper.js.map +1 -1
  41. package/lib/EventBus/EventBus.d.ts +1 -4
  42. package/lib/EventBus/EventBus.js +0 -1
  43. package/lib/EventBus/EventBus.js.map +1 -1
  44. package/lib/EventBus/defaultEventBus.d.ts +7 -0
  45. package/lib/EventBus/defaultEventBus.js +3 -0
  46. package/lib/EventBus/defaultEventBus.js.map +1 -0
  47. package/lib/common.css +1 -1
  48. package/lib/components/ButtonBlock/ButtonBlock.js +2 -1
  49. package/lib/components/ButtonBlock/ButtonBlock.js.map +1 -1
  50. package/lib/components/ButtonBlock/ButtonBlockContent.d.ts +5 -1
  51. package/lib/components/Tabs/Tabs.js +4 -4
  52. package/lib/components/Tabs/Tabs.js.map +1 -1
  53. package/lib/hooks/useLink.js +2 -3
  54. package/lib/hooks/useLink.js.map +1 -1
  55. package/lib/hooks/useRouter.d.ts +6 -2
  56. package/lib/hooks/useRouter.js.map +1 -1
  57. package/lib/services/BlockRouter/BlockRouter.d.ts +3 -22
  58. package/lib/services/BlockRouter/BlockRouter.js +8 -28
  59. package/lib/services/BlockRouter/BlockRouter.js.map +1 -1
  60. package/lib/services/BlockRouter/blockRouterEventBus.d.ts +11 -0
  61. package/lib/services/BlockRouter/blockRouterEventBus.js +3 -0
  62. package/lib/services/BlockRouter/blockRouterEventBus.js.map +1 -0
  63. package/lib/services/BlockRouter/useBlockIntersectionObserver.d.ts +1 -2
  64. package/lib/services/BlockRouter/useBlockIntersectionObserver.js +6 -17
  65. package/lib/services/BlockRouter/useBlockIntersectionObserver.js.map +1 -1
  66. package/lib/services/BlockRouter/useBlockRouterProvider.d.ts +1 -2
  67. package/lib/services/BlockRouter/useBlockRouterProvider.js +12 -13
  68. package/lib/services/BlockRouter/useBlockRouterProvider.js.map +1 -1
  69. package/lib/ui-kit/BlockWrapper.js +2 -2
  70. package/lib/ui-kit/BlockWrapper.js.map +1 -1
  71. package/mobile/bundle/EventBus/EventBus.d.ts +1 -4
  72. package/mobile/bundle/EventBus/defaultEventBus.d.ts +7 -0
  73. package/mobile/bundle/bundle.umd.js +27 -62
  74. package/mobile/bundle/bundle.umd.min.js +1 -1
  75. package/mobile/bundle/components/ButtonBlock/ButtonBlockContent.d.ts +5 -1
  76. package/mobile/bundle/hooks/useRouter.d.ts +6 -2
  77. package/mobile/bundle/services/BlockRouter/BlockRouter.d.ts +3 -22
  78. package/mobile/bundle/services/BlockRouter/blockRouterEventBus.d.ts +11 -0
  79. package/mobile/bundle/services/BlockRouter/useBlockIntersectionObserver.d.ts +1 -2
  80. package/mobile/bundle/services/BlockRouter/useBlockRouterProvider.d.ts +1 -2
  81. package/mobile/dist/EventBus/EventBus.d.ts +1 -4
  82. package/mobile/dist/EventBus/EventBus.js +0 -1
  83. package/mobile/dist/EventBus/EventBus.js.map +1 -1
  84. package/mobile/dist/EventBus/defaultEventBus.d.ts +7 -0
  85. package/mobile/dist/EventBus/defaultEventBus.js +5 -0
  86. package/mobile/dist/EventBus/defaultEventBus.js.map +1 -0
  87. package/mobile/dist/components/ButtonBlock/ButtonBlock.js +2 -1
  88. package/mobile/dist/components/ButtonBlock/ButtonBlock.js.map +1 -1
  89. package/mobile/dist/components/ButtonBlock/ButtonBlockContent.d.ts +5 -1
  90. package/mobile/dist/components/Tabs/Tabs.js +4 -4
  91. package/mobile/dist/components/Tabs/Tabs.js.map +1 -1
  92. package/mobile/dist/hooks/useLink.js +2 -3
  93. package/mobile/dist/hooks/useLink.js.map +1 -1
  94. package/mobile/dist/hooks/useRouter.d.ts +6 -2
  95. package/mobile/dist/hooks/useRouter.js.map +1 -1
  96. package/mobile/dist/services/BlockRouter/BlockRouter.d.ts +3 -22
  97. package/mobile/dist/services/BlockRouter/BlockRouter.js +11 -30
  98. package/mobile/dist/services/BlockRouter/BlockRouter.js.map +1 -1
  99. package/mobile/dist/services/BlockRouter/blockRouterEventBus.d.ts +11 -0
  100. package/mobile/dist/services/BlockRouter/blockRouterEventBus.js +5 -0
  101. package/mobile/dist/services/BlockRouter/blockRouterEventBus.js.map +1 -0
  102. package/mobile/dist/services/BlockRouter/useBlockIntersectionObserver.d.ts +1 -2
  103. package/mobile/dist/services/BlockRouter/useBlockIntersectionObserver.js +5 -16
  104. package/mobile/dist/services/BlockRouter/useBlockIntersectionObserver.js.map +1 -1
  105. package/mobile/dist/services/BlockRouter/useBlockRouterProvider.d.ts +1 -2
  106. package/mobile/dist/services/BlockRouter/useBlockRouterProvider.js +11 -12
  107. package/mobile/dist/services/BlockRouter/useBlockRouterProvider.js.map +1 -1
  108. package/mobile/dist/ui-kit/BlockWrapper.js +2 -2
  109. package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
  110. package/mobile/lib/EventBus/EventBus.d.ts +1 -4
  111. package/mobile/lib/EventBus/EventBus.js +0 -1
  112. package/mobile/lib/EventBus/EventBus.js.map +1 -1
  113. package/mobile/lib/EventBus/defaultEventBus.d.ts +7 -0
  114. package/mobile/lib/EventBus/defaultEventBus.js +3 -0
  115. package/mobile/lib/EventBus/defaultEventBus.js.map +1 -0
  116. package/mobile/lib/components/ButtonBlock/ButtonBlock.js +2 -1
  117. package/mobile/lib/components/ButtonBlock/ButtonBlock.js.map +1 -1
  118. package/mobile/lib/components/ButtonBlock/ButtonBlockContent.d.ts +5 -1
  119. package/mobile/lib/components/Tabs/Tabs.js +4 -4
  120. package/mobile/lib/components/Tabs/Tabs.js.map +1 -1
  121. package/mobile/lib/hooks/useLink.js +2 -3
  122. package/mobile/lib/hooks/useLink.js.map +1 -1
  123. package/mobile/lib/hooks/useRouter.d.ts +6 -2
  124. package/mobile/lib/hooks/useRouter.js.map +1 -1
  125. package/mobile/lib/services/BlockRouter/BlockRouter.d.ts +3 -22
  126. package/mobile/lib/services/BlockRouter/BlockRouter.js +8 -28
  127. package/mobile/lib/services/BlockRouter/BlockRouter.js.map +1 -1
  128. package/mobile/lib/services/BlockRouter/blockRouterEventBus.d.ts +11 -0
  129. package/mobile/lib/services/BlockRouter/blockRouterEventBus.js +3 -0
  130. package/mobile/lib/services/BlockRouter/blockRouterEventBus.js.map +1 -0
  131. package/mobile/lib/services/BlockRouter/useBlockIntersectionObserver.d.ts +1 -2
  132. package/mobile/lib/services/BlockRouter/useBlockIntersectionObserver.js +6 -17
  133. package/mobile/lib/services/BlockRouter/useBlockIntersectionObserver.js.map +1 -1
  134. package/mobile/lib/services/BlockRouter/useBlockRouterProvider.d.ts +1 -2
  135. package/mobile/lib/services/BlockRouter/useBlockRouterProvider.js +12 -13
  136. package/mobile/lib/services/BlockRouter/useBlockRouterProvider.js.map +1 -1
  137. package/mobile/lib/ui-kit/BlockWrapper.js +2 -2
  138. package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
  139. package/mobile/src/EventBus/EventBus.ts +1 -7
  140. package/mobile/src/EventBus/defaultEventBus.ts +8 -0
  141. package/mobile/src/components/ButtonBlock/ButtonBlock.example.json +2 -2
  142. package/mobile/src/components/ButtonBlock/ButtonBlock.tsx +5 -2
  143. package/mobile/src/components/ButtonBlock/ButtonBlockContent.ts +5 -1
  144. package/mobile/src/components/Tabs/Tabs.tsx +4 -4
  145. package/mobile/src/hooks/useLink.ts +2 -3
  146. package/mobile/src/hooks/useRouter.ts +6 -2
  147. package/mobile/src/services/BlockRouter/BlockRouter.ts +8 -47
  148. package/mobile/src/services/BlockRouter/blockRouterEventBus.ts +13 -0
  149. package/mobile/src/services/BlockRouter/useBlockIntersectionObserver.ts +6 -23
  150. package/mobile/src/services/BlockRouter/useBlockRouterProvider.ts +13 -19
  151. package/mobile/src/ui-kit/BlockWrapper.tsx +2 -2
  152. package/package.json +1 -1
  153. package/src/EventBus/EventBus.ts +1 -7
  154. package/src/EventBus/defaultEventBus.ts +8 -0
  155. package/src/components/ButtonBlock/ButtonBlock.example.json +2 -2
  156. package/src/components/ButtonBlock/ButtonBlock.tsx +5 -2
  157. package/src/components/ButtonBlock/ButtonBlockContent.ts +5 -1
  158. package/src/components/Tabs/Tabs.tsx +4 -4
  159. package/src/hooks/useLink.ts +2 -3
  160. package/src/hooks/useRouter.ts +6 -2
  161. package/src/services/BlockRouter/BlockRouter.ts +8 -47
  162. package/src/services/BlockRouter/blockRouterEventBus.ts +13 -0
  163. package/src/services/BlockRouter/useBlockIntersectionObserver.ts +6 -23
  164. package/src/services/BlockRouter/useBlockRouterProvider.ts +13 -19
  165. package/src/ui-kit/BlockWrapper.tsx +2 -2
  166. package/bundle/EventBus/EventMap.d.ts +0 -4
  167. package/bundle/services/BlockRouter/useBlockRouter.d.ts +0 -2
  168. package/dist/EventBus/EventMap.d.ts +0 -4
  169. package/dist/EventBus/EventMap.js +0 -2
  170. package/dist/EventBus/EventMap.js.map +0 -1
  171. package/dist/services/BlockRouter/useBlockRouter.d.ts +0 -2
  172. package/dist/services/BlockRouter/useBlockRouter.js +0 -8
  173. package/dist/services/BlockRouter/useBlockRouter.js.map +0 -1
  174. package/lib/EventBus/EventMap.d.ts +0 -4
  175. package/lib/EventBus/EventMap.js +0 -2
  176. package/lib/EventBus/EventMap.js.map +0 -1
  177. package/lib/services/BlockRouter/useBlockRouter.d.ts +0 -2
  178. package/lib/services/BlockRouter/useBlockRouter.js +0 -5
  179. package/lib/services/BlockRouter/useBlockRouter.js.map +0 -1
  180. package/mobile/bundle/EventBus/EventMap.d.ts +0 -4
  181. package/mobile/bundle/services/BlockRouter/useBlockRouter.d.ts +0 -2
  182. package/mobile/dist/EventBus/EventMap.d.ts +0 -4
  183. package/mobile/dist/EventBus/EventMap.js +0 -2
  184. package/mobile/dist/EventBus/EventMap.js.map +0 -1
  185. package/mobile/dist/services/BlockRouter/useBlockRouter.d.ts +0 -2
  186. package/mobile/dist/services/BlockRouter/useBlockRouter.js +0 -8
  187. package/mobile/dist/services/BlockRouter/useBlockRouter.js.map +0 -1
  188. package/mobile/lib/EventBus/EventMap.d.ts +0 -4
  189. package/mobile/lib/EventBus/EventMap.js +0 -2
  190. package/mobile/lib/EventBus/EventMap.js.map +0 -1
  191. package/mobile/lib/services/BlockRouter/useBlockRouter.d.ts +0 -2
  192. package/mobile/lib/services/BlockRouter/useBlockRouter.js +0 -5
  193. package/mobile/lib/services/BlockRouter/useBlockRouter.js.map +0 -1
  194. package/mobile/src/EventBus/EventMap.ts +0 -5
  195. package/mobile/src/services/BlockRouter/useBlockRouter.ts +0 -5
  196. package/src/EventBus/EventMap.ts +0 -5
  197. package/src/services/BlockRouter/useBlockRouter.ts +0 -5
@@ -3,6 +3,10 @@ import type { ButtonWithIconProps } from '../../ui-kit/Button/ButtonProps';
3
3
  * @title Блок Кнопка
4
4
  */
5
5
  export interface ButtonBlockContent {
6
- /** @title Кнопка */
6
+ /**
7
+ * @title Кнопка
8
+ * @default {"icon": {"format": "webp", "size": { "width": 24, "height": 24 }},
9
+ * "iconRight": {"format": "webp", "size": { "width": 24, "height": 24 }}}
10
+ */
7
11
  button?: ButtonWithIconProps;
8
12
  }
@@ -1,13 +1,17 @@
1
+ interface RouterOptions {
2
+ scroll?: boolean;
3
+ }
1
4
  export interface Router {
2
5
  pathname: string;
3
6
  query: Record<string, string | string[] | undefined>;
4
7
  href?: string;
5
8
  basePath?: string;
6
- push: (url: string) => void;
7
- replace: (url: string) => void;
9
+ push: (url: string, as?: string, options?: RouterOptions) => void;
10
+ replace: (url: string, as?: string, options?: RouterOptions) => void;
8
11
  }
9
12
  export declare function useRouter(): Router;
10
13
  export declare namespace useRouter {
11
14
  var _impl: () => Router;
12
15
  var setup: (impl: () => Router) => void;
13
16
  }
17
+ export {};
@@ -1,23 +1,4 @@
1
- import { EventBus } from '../../EventBus/EventBus';
1
+ import type { Router } from '../../hooks/useRouter';
2
2
  import type { BlockDef } from '../../model/ContentPageDef';
3
- export interface GotoAnchorEvent {
4
- anchor: string;
5
- }
6
- export interface BlockIntersectionEvent {
7
- block: BlockDef;
8
- intersection: IntersectionObserverEntry;
9
- }
10
- interface EventMap {
11
- goto: GotoAnchorEvent;
12
- intersection: BlockIntersectionEvent;
13
- }
14
- export declare class BlockRouter {
15
- static readonly inst: BlockRouter;
16
- readonly eventBus: EventBus<EventMap>;
17
- constructor();
18
- goto(rawAnchor?: string): void;
19
- push(rawAnchor: string): void;
20
- replace(rawAnchor: string): void;
21
- reset(): void;
22
- }
23
- export {};
3
+ export declare function gotoBlock(router: Router, anchor?: string): void;
4
+ export declare function trackBlock(router: Router, block?: BlockDef): void;
@@ -0,0 +1,11 @@
1
+ import { EventBus } from '../../EventBus/EventBus';
2
+ import type { BlockDef } from '../../model/ContentPageDef';
3
+ export interface BlockIntersectionEvent {
4
+ block: BlockDef;
5
+ intersection: IntersectionObserverEntry;
6
+ }
7
+ interface EventMap {
8
+ intersection: BlockIntersectionEvent;
9
+ }
10
+ export declare const blockRouterEventBus: EventBus<EventMap>;
11
+ export {};
@@ -1,5 +1,4 @@
1
1
  import type { BlockDef } from '../../model/ContentPageDef';
2
- import { BlockRouter } from './BlockRouter';
3
- export declare function useBlockIntersectionObserver(block?: BlockDef, router?: BlockRouter): {
2
+ export declare function useBlockIntersectionObserver(block?: BlockDef): {
4
3
  current: Element | null;
5
4
  };
@@ -1,2 +1 @@
1
- import { BlockRouter } from './BlockRouter';
2
- export declare function useBlockRouterProvider(router?: BlockRouter, scrollTarget?: EventTarget): void;
1
+ export declare function useBlockRouterProvider(scrollTarget?: EventTarget): void;
@@ -1,7 +1,4 @@
1
- import type { EventMap } from './EventMap';
2
- export declare type BaseEventMap = Record<string, any>;
3
- export declare class EventBus<EM extends BaseEventMap> {
4
- static readonly inst: EventBus<EventMap>;
1
+ export declare class EventBus<EM extends Record<string, any>> {
5
2
  private subscribers;
6
3
  private subjectsStateMap;
7
4
  subscribe<K extends keyof EM>(type: K, listener: (event: EM[K]) => void): () => void;
@@ -1,7 +1,6 @@
1
1
  Object.defineProperty(exports, "__esModule", { value: true });
2
2
  exports.EventBus = void 0;
3
3
  class EventBus {
4
- static inst = new EventBus();
5
4
  subscribers = {};
6
5
  subjectsStateMap = {};
7
6
  subscribe(type, listener) {
@@ -1 +1 @@
1
- {"version":3,"file":"EventBus.js","sourceRoot":"","sources":["../../src/EventBus/EventBus.ts"],"names":[],"mappings":";;AAIA,MAAa,QAAQ;IACZ,MAAM,CAAU,IAAI,GAAG,IAAI,QAAQ,EAAY,CAAC;IAE/C,WAAW,GAAiE,EAAE,CAAC;IAC/E,gBAAgB,GAAgB,EAAE,CAAC;IAE3C,SAAS,CAAqB,IAAO,EAAE,QAAgC;QACrE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAC5D,QAAsC,CACvC,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,WAAW,EAAE;YACf,QAAQ,CAAC,WAAoB,CAAC,CAAC;SAChC;QAED,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;IAEO,WAAW,CAAqB,IAAO,EAAE,QAAgC;QAC/E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAqB,IAAO,EAAE,KAAY;QAC5C,MAAM,iBAAiB,GAAG,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC;QACxD,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SACrC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAqB,IAAO,EAAE,KAAY;QAC/C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACtC,CAAC;;AApCH,4BAqCC"}
1
+ {"version":3,"file":"EventBus.js","sourceRoot":"","sources":["../../src/EventBus/EventBus.ts"],"names":[],"mappings":";;AAAA,MAAa,QAAQ;IACX,WAAW,GAAiE,EAAE,CAAC;IAC/E,gBAAgB,GAAgB,EAAE,CAAC;IAE3C,SAAS,CAAqB,IAAO,EAAE,QAAgC;QACrE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAC5D,QAAsC,CACvC,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,WAAW,EAAE;YACf,QAAQ,CAAC,WAAoB,CAAC,CAAC;SAChC;QAED,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;IAEO,WAAW,CAAqB,IAAO,EAAE,QAAgC;QAC/E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAqB,IAAO,EAAE,KAAY;QAC5C,MAAM,iBAAiB,GAAG,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC;QACxD,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SACrC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAqB,IAAO,EAAE,KAAY;QAC/C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACtC,CAAC;CACF;AAnCD,4BAmCC"}
@@ -0,0 +1,7 @@
1
+ import type { TabActivationEvent } from '../components/Tabs/Tabs';
2
+ import { EventBus } from './EventBus';
3
+ interface GlobalEventMap {
4
+ tab: TabActivationEvent;
5
+ }
6
+ export declare const defaultEventBus: EventBus<GlobalEventMap>;
7
+ export {};
@@ -0,0 +1,5 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.defaultEventBus = void 0;
3
+ const EventBus_1 = require("./EventBus");
4
+ exports.defaultEventBus = new EventBus_1.EventBus();
5
+ //# sourceMappingURL=defaultEventBus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultEventBus.js","sourceRoot":"","sources":["../../src/EventBus/defaultEventBus.ts"],"names":[],"mappings":";;AACA,yCAAsC;AAMzB,QAAA,eAAe,GAAG,IAAI,mBAAQ,EAAkB,CAAC"}
@@ -4,5 +4,6 @@ const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
4
  const uni_jsx_1 = require("@redneckz/uni-jsx");
5
5
  const BlockWrapper_1 = require("../../ui-kit/BlockWrapper");
6
6
  const renderButtonsSection_1 = require("../../ui-kit/Button/renderButtonsSection");
7
- exports.ButtonBlock = (0, uni_jsx_1.JSX)(({ button, ...rest }) => ((0, jsx_runtime_1.jsx)(BlockWrapper_1.BlockWrapper, { ...rest, children: (0, renderButtonsSection_1.renderButtonsSection)([button]) })));
7
+ const style_1 = require("../../utils/style");
8
+ exports.ButtonBlock = (0, uni_jsx_1.JSX)(({ button, className, ...rest }) => ((0, jsx_runtime_1.jsx)(BlockWrapper_1.BlockWrapper, { className: (0, style_1.style)('!bg-transparent', className), ...rest, children: (0, renderButtonsSection_1.renderButtonsSection)([button]) })));
8
9
  //# sourceMappingURL=ButtonBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonBlock.js","sourceRoot":"","sources":["../../../src/components/ButtonBlock/ButtonBlock.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,4DAAyD;AACzD,mFAAgF;AAKnE,QAAA,WAAW,GAAG,IAAA,aAAG,EAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CACxE,uBAAC,2BAAY,OAAK,IAAI,YAAG,IAAA,2CAAoB,EAAC,CAAC,MAAM,CAAC,CAAC,GAAgB,CACxE,CAAC,CAAC"}
1
+ {"version":3,"file":"ButtonBlock.js","sourceRoot":"","sources":["../../../src/components/ButtonBlock/ButtonBlock.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,4DAAyD;AACzD,mFAAgF;AAChF,6CAA0C;AAK7B,QAAA,WAAW,GAAG,IAAA,aAAG,EAAmB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CACnF,uBAAC,2BAAY,IAAC,SAAS,EAAE,IAAA,aAAK,EAAC,iBAAiB,EAAE,SAAS,CAAC,KAAM,IAAI,YACnE,IAAA,2CAAoB,EAAC,CAAC,MAAM,CAAC,CAAC,GAClB,CAChB,CAAC,CAAC"}
@@ -3,6 +3,10 @@ import type { ButtonWithIconProps } from '../../ui-kit/Button/ButtonProps';
3
3
  * @title Блок Кнопка
4
4
  */
5
5
  export interface ButtonBlockContent {
6
- /** @title Кнопка */
6
+ /**
7
+ * @title Кнопка
8
+ * @default {"icon": {"format": "webp", "size": { "width": 24, "height": 24 }},
9
+ * "iconRight": {"format": "webp", "size": { "width": 24, "height": 24 }}}
10
+ */
7
11
  button?: ButtonWithIconProps;
8
12
  }
@@ -3,14 +3,14 @@ exports.Tabs = void 0;
3
3
  const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
4
  const uni_jsx_1 = require("@redneckz/uni-jsx");
5
5
  const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
6
- const EventBus_1 = require("../../EventBus/EventBus");
6
+ const defaultEventBus_1 = require("../../EventBus/defaultEventBus");
7
7
  const BlockWrapper_1 = require("../../ui-kit/BlockWrapper");
8
8
  const renderTab_1 = require("./renderTab");
9
9
  const ScrollableTabs_1 = require("./ScrollableTabs");
10
10
  exports.Tabs = (0, uni_jsx_1.JSX)((props) => {
11
11
  const { className = '', tabs, showCounter, isSticky, tabsMode, ...rest } = props;
12
12
  const [currentTab, setCurrentTab] = (0, hooks_1.useState)(tabs ? tabs[0] : undefined);
13
- (0, hooks_1.useEffect)(() => EventBus_1.EventBus.inst.subscribe('tab', (event) => {
13
+ (0, hooks_1.useEffect)(() => defaultEventBus_1.defaultEventBus.subscribe('tab', (event) => {
14
14
  const tab = tabs?.find(checkTab(event));
15
15
  if (event.type === 'link' && tab) {
16
16
  setCurrentTab(tab);
@@ -18,11 +18,11 @@ exports.Tabs = (0, uni_jsx_1.JSX)((props) => {
18
18
  return [];
19
19
  }), [tabs]);
20
20
  (0, hooks_1.useEffect)(() => currentTab?.type === 'group'
21
- ? EventBus_1.EventBus.inst.subject('tab', { type: currentTab.type, label: currentTab.ref })
21
+ ? defaultEventBus_1.defaultEventBus.subject('tab', { type: currentTab.type, label: currentTab.ref })
22
22
  : undefined, [currentTab]);
23
23
  const handleClick = (0, hooks_1.useCallback)((selectedTab) => {
24
24
  if (selectedTab?.type === 'group') {
25
- EventBus_1.EventBus.inst.fire('tab', { type: selectedTab.type, label: selectedTab.ref });
25
+ defaultEventBus_1.defaultEventBus.fire('tab', { type: selectedTab.type, label: selectedTab.ref });
26
26
  }
27
27
  setCurrentTab(selectedTab);
28
28
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../src/components/Tabs/Tabs.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAA+E;AAC/E,sDAAmD;AAEnD,4DAAyD;AACzD,2CAAwC;AACxC,qDAAkD;AAUrC,QAAA,IAAI,GAAG,IAAA,aAAG,EAAiB,CAAC,KAAK,EAAE,EAAE;IAChD,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAEjF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEzE,IAAA,iBAAS,EACP,GAAG,EAAE,CACH,mBAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,EAAE;YAChC,aAAa,CAAC,GAAG,CAAC,CAAC;SACpB;QAED,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,EACJ,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,IAAA,iBAAS,EACP,GAAG,EAAE,CACH,UAAU,EAAE,IAAI,KAAK,OAAO;QAC1B,CAAC,CAAC,mBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC;QAChF,CAAC,CAAC,SAAS,EACf,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,CAAC,WAAoB,EAAE,EAAE;QACvD,IAAI,WAAW,EAAE,IAAI,KAAK,OAAO,EAAE;YACjC,mBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;SAC/E;QACD,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,uBAAC,2BAAY,IACX,SAAS,EAAE,2CACT,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EACpC,IAAI,SAAS,EAAE,EACf,IAAI,EAAC,SAAS,KACV,IAAI,YAEP,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,CAC3B,uBAAC,+BAAc,IACb,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,KACpB,IAAI,GACR,CACH,CAAC,CAAC,CAAC,CACF,IAAI,EAAE,GAAG,CACP,IAAA,qBAAS,EAAC;YACR,OAAO,EAAE,WAAW;YACpB,UAAU;YACV,WAAW;YACX,GAAG,IAAI;SACR,CAAC,CACH,CACF,GACY,CAChB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,CAAC,KAAyB,EAAE,EAAE,CAAC,CAAC,CAAU,EAAE,EAAE,CAC7D,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../src/components/Tabs/Tabs.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAA+E;AAC/E,oEAAiE;AAEjE,4DAAyD;AACzD,2CAAwC;AACxC,qDAAkD;AAUrC,QAAA,IAAI,GAAG,IAAA,aAAG,EAAiB,CAAC,KAAK,EAAE,EAAE;IAChD,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAEjF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEzE,IAAA,iBAAS,EACP,GAAG,EAAE,CACH,iCAAe,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,MAAM,GAAG,GAAG,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,EAAE;YAChC,aAAa,CAAC,GAAG,CAAC,CAAC;SACpB;QAED,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,EACJ,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,IAAA,iBAAS,EACP,GAAG,EAAE,CACH,UAAU,EAAE,IAAI,KAAK,OAAO;QAC1B,CAAC,CAAC,iCAAe,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC;QAClF,CAAC,CAAC,SAAS,EACf,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,CAAC,WAAoB,EAAE,EAAE;QACvD,IAAI,WAAW,EAAE,IAAI,KAAK,OAAO,EAAE;YACjC,iCAAe,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;SACjF;QACD,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,uBAAC,2BAAY,IACX,SAAS,EAAE,2CACT,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EACpC,IAAI,SAAS,EAAE,EACf,IAAI,EAAC,SAAS,KACV,IAAI,YAEP,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,CAC3B,uBAAC,+BAAc,IACb,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,KACpB,IAAI,GACR,CACH,CAAC,CAAC,CAAC,CACF,IAAI,EAAE,GAAG,CACP,IAAA,qBAAS,EAAC;YACR,OAAO,EAAE,WAAW;YACpB,UAAU;YACV,WAAW;YACX,GAAG,IAAI;SACR,CAAC,CACH,CACF,GACY,CAChB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,CAAC,KAAyB,EAAE,EAAE,CAAC,CAAC,CAAU,EAAE,EAAE,CAC7D,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC"}
@@ -1,13 +1,12 @@
1
1
  Object.defineProperty(exports, "__esModule", { value: true });
2
2
  exports.useLink = void 0;
3
3
  const ProjectSettings_1 = require("../ProjectSettings");
4
- const useBlockRouter_1 = require("../services/BlockRouter/useBlockRouter");
4
+ const BlockRouter_1 = require("../services/BlockRouter/BlockRouter");
5
5
  const url_1 = require("../utils/url");
6
6
  const handlerDecorator_1 = require("./handlerDecorator");
7
7
  const useRouter_1 = require("./useRouter");
8
8
  function useLink(isRemote) {
9
9
  const router = (0, useRouter_1.useRouter)();
10
- const blockRouter = (0, useBlockRouter_1.useBlockRouter)();
11
10
  return (props) => ({
12
11
  ...props,
13
12
  href: adjustHref(props.href),
@@ -30,7 +29,7 @@ function useLink(isRemote) {
30
29
  // Client routing
31
30
  ev?.preventDefault();
32
31
  if ((0, url_1.isHash)(href)) {
33
- blockRouter.goto(href);
32
+ (0, BlockRouter_1.gotoBlock)(router, href);
34
33
  }
35
34
  else if (href) {
36
35
  router.push(href);
@@ -1 +1 @@
1
- {"version":3,"file":"useLink.js","sourceRoot":"","sources":["../../src/hooks/useLink.ts"],"names":[],"mappings":";;AACA,wDAAqD;AACrD,2EAAwE;AACxE,sCAA4D;AAC5D,yDAAsD;AACtD,2CAAwC;AAUxC,SAAgB,OAAO,CAAC,QAAkB;IACxC,MAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAC;IAC3B,MAAM,WAAW,GAAG,IAAA,+BAAc,GAAE,CAAC;IAErC,OAAO,CAA2C,KAAQ,EAAiB,EAAE,CAAC,CAAC;QAC7E,GAAG,KAAK;QACR,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QAC5B,YAAY,EAAE,KAAK,CAAC,IAAI;QACxB,OAAO,EAAE,IAAA,mCAAgB,EAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;KACpD,CAAC,CAAC;IAEH,SAAS,UAAU,CAAC,IAAwB;QAC1C,MAAM,gBAAgB,GAAG,CAAC,QAAQ,IAAI,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;QAE5D,OAAO,iCAAe,CAAC,SAAS,IAAI,IAAI,IAAI,gBAAgB;YAC1D,CAAC,CAAC,IAAA,cAAQ,EAAC,iCAAe,CAAC,SAAS,EAAE,IAAI,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,SAAS,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAkC;QAC3E,OAAO,CAAC,EAAqB,EAAE,EAAE;YAC/B,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;YAEvB,IAAI,QAAQ,IAAI,CAAC,IAAA,gBAAU,EAAC,IAAI,EAAE,MAAM,CAAC,EAAE;gBACzC,kBAAkB;gBAClB,OAAO;aACR;YAED,iBAAiB;YACjB,EAAE,EAAE,cAAc,EAAE,CAAC;YACrB,IAAI,IAAA,YAAM,EAAC,IAAI,CAAC,EAAE;gBAChB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;iBAAM,IAAI,IAAI,EAAE;gBACf,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnB;QACH,CAAC,CAAC;IACJ,CAAC;AACH,CAAC;AArCD,0BAqCC"}
1
+ {"version":3,"file":"useLink.js","sourceRoot":"","sources":["../../src/hooks/useLink.ts"],"names":[],"mappings":";;AACA,wDAAqD;AACrD,qEAAgE;AAChE,sCAA4D;AAC5D,yDAAsD;AACtD,2CAAwC;AAUxC,SAAgB,OAAO,CAAC,QAAkB;IACxC,MAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAC;IAE3B,OAAO,CAA2C,KAAQ,EAAiB,EAAE,CAAC,CAAC;QAC7E,GAAG,KAAK;QACR,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QAC5B,YAAY,EAAE,KAAK,CAAC,IAAI;QACxB,OAAO,EAAE,IAAA,mCAAgB,EAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;KACpD,CAAC,CAAC;IAEH,SAAS,UAAU,CAAC,IAAwB;QAC1C,MAAM,gBAAgB,GAAG,CAAC,QAAQ,IAAI,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;QAE5D,OAAO,iCAAe,CAAC,SAAS,IAAI,IAAI,IAAI,gBAAgB;YAC1D,CAAC,CAAC,IAAA,cAAQ,EAAC,iCAAe,CAAC,SAAS,EAAE,IAAI,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,SAAS,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAkC;QAC3E,OAAO,CAAC,EAAqB,EAAE,EAAE;YAC/B,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;YAEvB,IAAI,QAAQ,IAAI,CAAC,IAAA,gBAAU,EAAC,IAAI,EAAE,MAAM,CAAC,EAAE;gBACzC,kBAAkB;gBAClB,OAAO;aACR;YAED,iBAAiB;YACjB,EAAE,EAAE,cAAc,EAAE,CAAC;YACrB,IAAI,IAAA,YAAM,EAAC,IAAI,CAAC,EAAE;gBAChB,IAAA,uBAAS,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aACzB;iBAAM,IAAI,IAAI,EAAE;gBACf,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnB;QACH,CAAC,CAAC;IACJ,CAAC;AACH,CAAC;AApCD,0BAoCC"}
@@ -1,13 +1,17 @@
1
+ interface RouterOptions {
2
+ scroll?: boolean;
3
+ }
1
4
  export interface Router {
2
5
  pathname: string;
3
6
  query: Record<string, string | string[] | undefined>;
4
7
  href?: string;
5
8
  basePath?: string;
6
- push: (url: string) => void;
7
- replace: (url: string) => void;
9
+ push: (url: string, as?: string, options?: RouterOptions) => void;
10
+ replace: (url: string, as?: string, options?: RouterOptions) => void;
8
11
  }
9
12
  export declare function useRouter(): Router;
10
13
  export declare namespace useRouter {
11
14
  var _impl: () => Router;
12
15
  var setup: (impl: () => Router) => void;
13
16
  }
17
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"useRouter.js","sourceRoot":"","sources":["../../src/hooks/useRouter.ts"],"names":[],"mappings":";;AASA,SAAgB,SAAS;IACvB,OAAO,SAAS,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAFD,8BAEC;AAED,SAAS,CAAC,KAAK,GAAG,GAAW,EAAE,CAAC,CAAC;IAC/B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,IAAI,GAAG;IACtC,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,IAAI,GAAG;IAC9C,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,GAAG,EAAE;QACT,aAAa;IACf,CAAC;IACD,OAAO,EAAE,GAAG,EAAE;QACZ,aAAa;IACf,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,CAAC,KAAK,GAAG,CAAC,IAAkB,EAAE,EAAE;IACvC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;AACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"useRouter.js","sourceRoot":"","sources":["../../src/hooks/useRouter.ts"],"names":[],"mappings":";;AAaA,SAAgB,SAAS;IACvB,OAAO,SAAS,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAFD,8BAEC;AAED,SAAS,CAAC,KAAK,GAAG,GAAW,EAAE,CAAC,CAAC;IAC/B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,IAAI,GAAG;IACtC,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,IAAI,GAAG;IAC9C,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,GAAG,EAAE;QACT,aAAa;IACf,CAAC;IACD,OAAO,EAAE,GAAG,EAAE;QACZ,aAAa;IACf,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,CAAC,KAAK,GAAG,CAAC,IAAkB,EAAE,EAAE;IACvC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;AACzB,CAAC,CAAC"}
@@ -1,23 +1,4 @@
1
- import { EventBus } from '../../EventBus/EventBus';
1
+ import type { Router } from '../../hooks/useRouter';
2
2
  import type { BlockDef } from '../../model/ContentPageDef';
3
- export interface GotoAnchorEvent {
4
- anchor: string;
5
- }
6
- export interface BlockIntersectionEvent {
7
- block: BlockDef;
8
- intersection: IntersectionObserverEntry;
9
- }
10
- interface EventMap {
11
- goto: GotoAnchorEvent;
12
- intersection: BlockIntersectionEvent;
13
- }
14
- export declare class BlockRouter {
15
- static readonly inst: BlockRouter;
16
- readonly eventBus: EventBus<EventMap>;
17
- constructor();
18
- goto(rawAnchor?: string): void;
19
- push(rawAnchor: string): void;
20
- replace(rawAnchor: string): void;
21
- reset(): void;
22
- }
23
- export {};
3
+ export declare function gotoBlock(router: Router, anchor?: string): void;
4
+ export declare function trackBlock(router: Router, block?: BlockDef): void;
@@ -1,33 +1,14 @@
1
1
  Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.BlockRouter = void 0;
3
- const EventBus_1 = require("../../EventBus/EventBus");
4
- const normalizeAnchor = (rawAnchor) => rawAnchor?.replace('#', '') || '';
5
- const getURLWithAnchor = (rawAnchor) => `${globalThis.location?.pathname}#${normalizeAnchor(rawAnchor)}`;
6
- class BlockRouter {
7
- static inst = new BlockRouter();
8
- eventBus = new EventBus_1.EventBus();
9
- constructor() {
10
- const anchor = normalizeAnchor(globalThis.location?.hash);
11
- if (anchor) {
12
- this.eventBus.subject('goto', { anchor });
13
- }
14
- }
15
- goto(rawAnchor) {
16
- const anchor = normalizeAnchor(rawAnchor);
17
- if (anchor) {
18
- this.push(anchor);
19
- this.eventBus.fire('goto', { anchor });
20
- }
21
- }
22
- push(rawAnchor) {
23
- globalThis.history?.pushState(null, '', getURLWithAnchor(rawAnchor));
24
- }
25
- replace(rawAnchor) {
26
- globalThis.history?.replaceState(null, '', getURLWithAnchor(rawAnchor));
27
- }
28
- reset() {
29
- globalThis.history?.replaceState(null, '', getURLWithAnchor());
30
- }
2
+ exports.trackBlock = exports.gotoBlock = void 0;
3
+ const normalizeAnchor = (anchor) => anchor?.replace('#', '') || '';
4
+ function gotoBlock(router, anchor) {
5
+ router.replace(`#${normalizeAnchor(anchor)}`);
31
6
  }
32
- exports.BlockRouter = BlockRouter;
7
+ exports.gotoBlock = gotoBlock;
8
+ function trackBlock(router, block) {
9
+ router.replace(`#${normalizeAnchor(block?.anchor)}`, undefined, {
10
+ scroll: false,
11
+ });
12
+ }
13
+ exports.trackBlock = trackBlock;
33
14
  //# sourceMappingURL=BlockRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockRouter.js","sourceRoot":"","sources":["../../../src/services/BlockRouter/BlockRouter.ts"],"names":[],"mappings":";;AAAA,sDAAmD;AAiBnD,MAAM,eAAe,GAAG,CAAC,SAAkB,EAAE,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AAClF,MAAM,gBAAgB,GAAG,CAAC,SAAkB,EAAE,EAAE,CAC9C,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;AAEnE,MAAa,WAAW;IACf,MAAM,CAAU,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;IAEvC,QAAQ,GAAG,IAAI,mBAAQ,EAAY,CAAC;IAE7C;QACE,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1D,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,IAAI,CAAC,SAAkB;QACrB,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SACxC;IACH,CAAC;IAED,IAAI,CAAC,SAAiB;QACpB,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,CAAC,SAAiB;QACvB,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK;QACH,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACjE,CAAC;;AA9BH,kCA+BC"}
1
+ {"version":3,"file":"BlockRouter.js","sourceRoot":"","sources":["../../../src/services/BlockRouter/BlockRouter.ts"],"names":[],"mappings":";;AAGA,MAAM,eAAe,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AAE5E,SAAgB,SAAS,CAAC,MAAc,EAAE,MAAe;IACvD,MAAM,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC;AAFD,8BAEC;AAED,SAAgB,UAAU,CAAC,MAAc,EAAE,KAAgB;IACzD,MAAM,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE;QAC9D,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;AACL,CAAC;AAJD,gCAIC"}
@@ -0,0 +1,11 @@
1
+ import { EventBus } from '../../EventBus/EventBus';
2
+ import type { BlockDef } from '../../model/ContentPageDef';
3
+ export interface BlockIntersectionEvent {
4
+ block: BlockDef;
5
+ intersection: IntersectionObserverEntry;
6
+ }
7
+ interface EventMap {
8
+ intersection: BlockIntersectionEvent;
9
+ }
10
+ export declare const blockRouterEventBus: EventBus<EventMap>;
11
+ export {};
@@ -0,0 +1,5 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.blockRouterEventBus = void 0;
3
+ const EventBus_1 = require("../../EventBus/EventBus");
4
+ exports.blockRouterEventBus = new EventBus_1.EventBus();
5
+ //# sourceMappingURL=blockRouterEventBus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockRouterEventBus.js","sourceRoot":"","sources":["../../../src/services/BlockRouter/blockRouterEventBus.ts"],"names":[],"mappings":";;AAAA,sDAAmD;AAYtC,QAAA,mBAAmB,GAAG,IAAI,mBAAQ,EAAY,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import type { BlockDef } from '../../model/ContentPageDef';
2
- import { BlockRouter } from './BlockRouter';
3
- export declare function useBlockIntersectionObserver(block?: BlockDef, router?: BlockRouter): {
2
+ export declare function useBlockIntersectionObserver(block?: BlockDef): {
4
3
  current: Element | null;
5
4
  };
@@ -2,27 +2,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
2
2
  exports.useBlockIntersectionObserver = void 0;
3
3
  const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
4
4
  const useIntersectionObserver_1 = require("../../hooks/useIntersectionObserver");
5
- const BlockRouter_1 = require("./BlockRouter");
6
- function useBlockIntersectionObserver(block, router = BlockRouter_1.BlockRouter.inst) {
5
+ const blockRouterEventBus_1 = require("./blockRouterEventBus");
6
+ function useBlockIntersectionObserver(block) {
7
7
  const observerCallback = (0, hooks_1.useCallback)((entries) => {
8
8
  if (!block || !entries?.length) {
9
9
  return;
10
10
  }
11
11
  const intersection = entries[entries.length - 1];
12
- router.eventBus.fire('intersection', { block, intersection });
13
- }, [block, router]);
14
- const ref = (0, useIntersectionObserver_1.useIntersectionObserver)(observerCallback, { sensitivity: 1 });
15
- (0, hooks_1.useEffect)(() => {
16
- if (!ref.current) {
17
- return undefined;
18
- }
19
- return router.eventBus.subscribe('goto', ({ anchor }) => {
20
- if (ref.current && block?.anchor === anchor) {
21
- ref.current.scrollIntoView({ behavior: 'smooth', block: 'start' });
22
- }
23
- });
24
- }, [block, router]);
25
- return ref;
12
+ blockRouterEventBus_1.blockRouterEventBus.fire('intersection', { block, intersection });
13
+ }, [block]);
14
+ return (0, useIntersectionObserver_1.useIntersectionObserver)(observerCallback, { sensitivity: 1 });
26
15
  }
27
16
  exports.useBlockIntersectionObserver = useBlockIntersectionObserver;
28
17
  //# sourceMappingURL=useBlockIntersectionObserver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBlockIntersectionObserver.js","sourceRoot":"","sources":["../../../src/services/BlockRouter/useBlockIntersectionObserver.ts"],"names":[],"mappings":";;AAAA,uDAAqE;AACrE,iFAA8E;AAE9E,+CAA4C;AAE5C,SAAgB,4BAA4B,CAC1C,KAAgB,EAChB,SAAsB,yBAAW,CAAC,IAAI;IAEtC,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAClC,CAAC,OAAoC,EAAE,EAAE;QACvC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;YAC9B,OAAO;SACR;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IAChE,CAAC,EACD,CAAC,KAAK,EAAE,MAAM,CAAC,CAChB,CAAC;IAEF,MAAM,GAAG,GAAG,IAAA,iDAAuB,EAAC,gBAAgB,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;IAE1E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAChB,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACtD,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE;gBAC3C,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;aACpE;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpB,OAAO,GAAG,CAAC;AACb,CAAC;AA/BD,oEA+BC"}
1
+ {"version":3,"file":"useBlockIntersectionObserver.js","sourceRoot":"","sources":["../../../src/services/BlockRouter/useBlockIntersectionObserver.ts"],"names":[],"mappings":";;AAAA,uDAA0D;AAC1D,iFAA8E;AAE9E,+DAA4D;AAE5D,SAAgB,4BAA4B,CAAC,KAAgB;IAC3D,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAClC,CAAC,OAAoC,EAAE,EAAE;QACvC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;YAC9B,OAAO;SACR;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjD,yCAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IACpE,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,OAAO,IAAA,iDAAuB,EAAC,gBAAgB,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC;AAdD,oEAcC"}
@@ -1,2 +1 @@
1
- import { BlockRouter } from './BlockRouter';
2
- export declare function useBlockRouterProvider(router?: BlockRouter, scrollTarget?: EventTarget): void;
1
+ export declare function useBlockRouterProvider(scrollTarget?: EventTarget): void;
@@ -1,29 +1,28 @@
1
1
  Object.defineProperty(exports, "__esModule", { value: true });
2
2
  exports.useBlockRouterProvider = void 0;
3
3
  const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
4
+ const useRouter_1 = require("../../hooks/useRouter");
4
5
  const debounce_1 = require("../../utils/debounce");
5
6
  const BlockRouter_1 = require("./BlockRouter");
7
+ const blockRouterEventBus_1 = require("./blockRouterEventBus");
6
8
  const findActiveBlock_1 = require("./findActiveBlock");
7
9
  const isScrolledEnough = () => globalThis.scrollY > (globalThis.innerHeight * 3) / 4;
8
- function useBlockRouterProvider(router = BlockRouter_1.BlockRouter.inst, scrollTarget = globalThis) {
10
+ function useBlockRouterProvider(scrollTarget = globalThis) {
11
+ const router = (0, useRouter_1.useRouter)();
9
12
  const intersectionsMapRef = (0, hooks_1.useRef)(new Map());
10
- (0, hooks_1.useEffect)(() => router.eventBus.subscribe('intersection', ({ block, intersection }) => {
13
+ (0, hooks_1.useEffect)(() => blockRouterEventBus_1.blockRouterEventBus.subscribe('intersection', ({ block, intersection }) => {
11
14
  if (intersectionsMapRef.current) {
12
15
  intersectionsMapRef.current.set(block, intersection);
13
16
  }
14
- }), [router]);
17
+ }), []);
15
18
  (0, hooks_1.useEffect)(() => {
16
19
  const handleScroll = (0, debounce_1.debounce)(() => {
17
- if (!isScrolledEnough()) {
18
- router.reset();
19
- return;
20
+ if (isScrolledEnough()) {
21
+ const activeBlock = (0, findActiveBlock_1.findActiveBlock)([...(intersectionsMapRef.current || [])]);
22
+ (0, BlockRouter_1.trackBlock)(router, activeBlock);
20
23
  }
21
- const activeBlock = (0, findActiveBlock_1.findActiveBlock)([...(intersectionsMapRef.current || [])]);
22
- if (activeBlock?.anchor) {
23
- router.replace(activeBlock.anchor);
24
- }
25
- else if (!activeBlock) {
26
- router.reset();
24
+ else {
25
+ (0, BlockRouter_1.trackBlock)(router);
27
26
  }
28
27
  }, 100);
29
28
  scrollTarget.addEventListener('scroll', handleScroll);
@@ -1 +1 @@
1
- {"version":3,"file":"useBlockRouterProvider.js","sourceRoot":"","sources":["../../../src/services/BlockRouter/useBlockRouterProvider.ts"],"names":[],"mappings":";;AAAA,uDAAgE;AAEhE,mDAAgD;AAChD,+CAA4C;AAC5C,uDAAoD;AAEpD,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAErF,SAAgB,sBAAsB,CACpC,SAAsB,yBAAW,CAAC,IAAI,EACtC,eAA4B,UAAU;IAEtC,MAAM,mBAAmB,GAAG,IAAA,cAAM,EAA2C,IAAI,GAAG,EAAE,CAAC,CAAC;IAExF,IAAA,iBAAS,EACP,GAAG,EAAE,CACH,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE;QACpE,IAAI,mBAAmB,CAAC,OAAO,EAAE;YAC/B,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;SACtD;IACH,CAAC,CAAC,EACJ,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE;YACjC,IAAI,CAAC,gBAAgB,EAAE,EAAE;gBACvB,MAAM,CAAC,KAAK,EAAE,CAAC;gBAEf,OAAO;aACR;YAED,MAAM,WAAW,GAAG,IAAA,iCAAe,EAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAE9E,IAAI,WAAW,EAAE,MAAM,EAAE;gBACvB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aACpC;iBAAM,IAAI,CAAC,WAAW,EAAE;gBACvB,MAAM,CAAC,KAAK,EAAE,CAAC;aAChB;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEtD,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,OAAO,EAAE,CAAC;YACvB,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC3D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;AAC7B,CAAC;AAxCD,wDAwCC"}
1
+ {"version":3,"file":"useBlockRouterProvider.js","sourceRoot":"","sources":["../../../src/services/BlockRouter/useBlockRouterProvider.ts"],"names":[],"mappings":";;AAAA,uDAAgE;AAChE,qDAAkD;AAElD,mDAAgD;AAChD,+CAA2C;AAC3C,+DAA4D;AAC5D,uDAAoD;AAEpD,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAErF,SAAgB,sBAAsB,CAAC,eAA4B,UAAU;IAC3E,MAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAC;IAE3B,MAAM,mBAAmB,GAAG,IAAA,cAAM,EAA2C,IAAI,GAAG,EAAE,CAAC,CAAC;IAExF,IAAA,iBAAS,EACP,GAAG,EAAE,CACH,yCAAmB,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE;QACxE,IAAI,mBAAmB,CAAC,OAAO,EAAE;YAC/B,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;SACtD;IACH,CAAC,CAAC,EACJ,EAAE,CACH,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE;YACjC,IAAI,gBAAgB,EAAE,EAAE;gBACtB,MAAM,WAAW,GAAG,IAAA,iCAAe,EAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC9E,IAAA,wBAAU,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;aACjC;iBAAM;gBACL,IAAA,wBAAU,EAAC,MAAM,CAAC,CAAC;aACpB;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEtD,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,OAAO,EAAE,CAAC;YACvB,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC3D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;AAC7B,CAAC;AAhCD,wDAgCC"}
@@ -3,7 +3,7 @@ exports.BlockWrapper = exports.blockStyles = void 0;
3
3
  const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
4
  const uni_jsx_1 = require("@redneckz/uni-jsx");
5
5
  const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
6
- const EventBus_1 = require("../EventBus/EventBus");
6
+ const defaultEventBus_1 = require("../EventBus/defaultEventBus");
7
7
  const useBlockIntersectionObserver_1 = require("../services/BlockRouter/useBlockIntersectionObserver");
8
8
  const style_1 = require("../utils/style");
9
9
  exports.blockStyles = {
@@ -17,7 +17,7 @@ exports.BlockWrapper = (0, uni_jsx_1.JSX)(({ className = '', version = 'primary'
17
17
  const Tag = tag;
18
18
  const ref = (0, useBlockIntersectionObserver_1.useBlockIntersectionObserver)(block);
19
19
  const [isVisible, setVisible] = (0, hooks_1.useState)(true);
20
- (0, hooks_1.useEffect)(() => EventBus_1.EventBus.inst.subscribe('tab', (event) => {
20
+ (0, hooks_1.useEffect)(() => defaultEventBus_1.defaultEventBus.subscribe('tab', (event) => {
21
21
  if (event.type === 'group') {
22
22
  const hasSettings = block?.labels?.length || block?.anchor;
23
23
  setVisible(event.label ? !hasSettings || Boolean(block?.labels?.includes(event.label)) : true);
@@ -1 +1 @@
1
- {"version":3,"file":"BlockWrapper.js","sourceRoot":"","sources":["../../src/ui-kit/BlockWrapper.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAkE;AAClE,mDAAgD;AAGhD,uGAAoG;AACpG,0CAAuC;AAO1B,QAAA,WAAW,GAAiC;IACvD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;IACvC,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,kCAAkC;IAC/C,EAAE,EAAE,EAAE;CACP,CAAC;AAEW,QAAA,YAAY,GAAG,IAAA,aAAG,EAC7B,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,GAAG,SAAS,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;IAClF,MAAM,GAAG,GAAQ,GAAG,CAAC;IAErB,MAAM,GAAG,GAAG,IAAA,2DAA4B,EAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAC/C,IAAA,iBAAS,EACP,GAAG,EAAE,CACH,mBAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;QACvC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1B,MAAM,WAAW,GAAG,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,CAAC;YAC3D,UAAU,CACR,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACnF,CAAC;SACH;aAAM;YACL,UAAU,CAAC,IAAI,CAAC,CAAC;SAClB;IACH,CAAC,CAAC,EACJ,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,OAAO,SAAS,CAAC,CAAC,CAAC,CACjB,uBAAC,GAAG,IACF,SAAS,EAAE,IAAA,aAAK,EAAC,OAAO,EAAE,mBAAW,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,KACtD,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACxC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACpD,IAAI,EAAE,IAAI,YAET,QAAQ,GACL,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"BlockWrapper.js","sourceRoot":"","sources":["../../src/ui-kit/BlockWrapper.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAkE;AAClE,iEAA8D;AAG9D,uGAAoG;AACpG,0CAAuC;AAO1B,QAAA,WAAW,GAAiC;IACvD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;IACvC,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,kCAAkC;IAC/C,EAAE,EAAE,EAAE;CACP,CAAC;AAEW,QAAA,YAAY,GAAG,IAAA,aAAG,EAC7B,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,GAAG,SAAS,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;IAClF,MAAM,GAAG,GAAQ,GAAG,CAAC;IAErB,MAAM,GAAG,GAAG,IAAA,2DAA4B,EAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAC/C,IAAA,iBAAS,EACP,GAAG,EAAE,CACH,iCAAe,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1B,MAAM,WAAW,GAAG,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,CAAC;YAC3D,UAAU,CACR,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACnF,CAAC;SACH;aAAM;YACL,UAAU,CAAC,IAAI,CAAC,CAAC;SAClB;IACH,CAAC,CAAC,EACJ,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,OAAO,SAAS,CAAC,CAAC,CAAC,CACjB,uBAAC,GAAG,IACF,SAAS,EAAE,IAAA,aAAK,EAAC,OAAO,EAAE,mBAAW,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,KACtD,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACxC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACpD,IAAI,EAAE,IAAI,YAET,QAAQ,GACL,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CACF,CAAC"}
@@ -1,7 +1,4 @@
1
- import type { EventMap } from './EventMap';
2
- export declare type BaseEventMap = Record<string, any>;
3
- export declare class EventBus<EM extends BaseEventMap> {
4
- static readonly inst: EventBus<EventMap>;
1
+ export declare class EventBus<EM extends Record<string, any>> {
5
2
  private subscribers;
6
3
  private subjectsStateMap;
7
4
  subscribe<K extends keyof EM>(type: K, listener: (event: EM[K]) => void): () => void;
@@ -1,5 +1,4 @@
1
1
  export class EventBus {
2
- static inst = new EventBus();
3
2
  subscribers = {};
4
3
  subjectsStateMap = {};
5
4
  subscribe(type, listener) {
@@ -1 +1 @@
1
- {"version":3,"file":"EventBus.js","sourceRoot":"","sources":["../../src/EventBus/EventBus.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,QAAQ;IACZ,MAAM,CAAU,IAAI,GAAG,IAAI,QAAQ,EAAY,CAAC;IAE/C,WAAW,GAAiE,EAAE,CAAC;IAC/E,gBAAgB,GAAgB,EAAE,CAAC;IAE3C,SAAS,CAAqB,IAAO,EAAE,QAAgC;QACrE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAC5D,QAAsC,CACvC,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,WAAW,EAAE;YACf,QAAQ,CAAC,WAAoB,CAAC,CAAC;SAChC;QAED,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;IAEO,WAAW,CAAqB,IAAO,EAAE,QAAgC;QAC/E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAqB,IAAO,EAAE,KAAY;QAC5C,MAAM,iBAAiB,GAAG,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC;QACxD,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SACrC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAqB,IAAO,EAAE,KAAY;QAC/C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACtC,CAAC"}
1
+ {"version":3,"file":"EventBus.js","sourceRoot":"","sources":["../../src/EventBus/EventBus.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAQ;IACX,WAAW,GAAiE,EAAE,CAAC;IAC/E,gBAAgB,GAAgB,EAAE,CAAC;IAE3C,SAAS,CAAqB,IAAO,EAAE,QAAgC;QACrE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAC5D,QAAsC,CACvC,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,WAAW,EAAE;YACf,QAAQ,CAAC,WAAoB,CAAC,CAAC;SAChC;QAED,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;IAEO,WAAW,CAAqB,IAAO,EAAE,QAAgC;QAC/E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAqB,IAAO,EAAE,KAAY;QAC5C,MAAM,iBAAiB,GAAG,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC;QACxD,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SACrC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAqB,IAAO,EAAE,KAAY;QAC/C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ import type { TabActivationEvent } from '../components/Tabs/Tabs';
2
+ import { EventBus } from './EventBus';
3
+ interface GlobalEventMap {
4
+ tab: TabActivationEvent;
5
+ }
6
+ export declare const defaultEventBus: EventBus<GlobalEventMap>;
7
+ export {};
@@ -0,0 +1,3 @@
1
+ import { EventBus } from './EventBus.js';
2
+ export const defaultEventBus = new EventBus();
3
+ //# sourceMappingURL=defaultEventBus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultEventBus.js","sourceRoot":"","sources":["../../src/EventBus/defaultEventBus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMtC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,QAAQ,EAAkB,CAAC"}