@dreamcommerce/aurora 2.9.0-14 → 2.9.0-16

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 (19) hide show
  1. package/build/cjs/packages/aurora/src/components/scroll_sync/context/scroll_sync_provider.js +0 -70
  2. package/build/cjs/packages/aurora/src/components/scroll_sync/context/scroll_sync_provider.js.map +1 -1
  3. package/build/cjs/packages/aurora/src/components/scroll_sync/context/scroll_syncer_service.js +77 -0
  4. package/build/cjs/packages/aurora/src/components/scroll_sync/context/scroll_syncer_service.js.map +1 -0
  5. package/build/cjs/packages/aurora/src/components/scroll_sync/context/setup_scroll_syncer.js +2 -2
  6. package/build/cjs/packages/aurora/src/components/tree/index.js +4 -3
  7. package/build/cjs/packages/aurora/src/components/tree/index.js.map +1 -1
  8. package/build/esm/packages/aurora/src/components/scroll_sync/context/scroll_sync_provider.d.ts +0 -19
  9. package/build/esm/packages/aurora/src/components/scroll_sync/context/scroll_sync_provider.js +1 -70
  10. package/build/esm/packages/aurora/src/components/scroll_sync/context/scroll_sync_provider.js.map +1 -1
  11. package/build/esm/packages/aurora/src/components/scroll_sync/context/scroll_syncer_service.d.ts +18 -0
  12. package/build/esm/packages/aurora/src/components/scroll_sync/context/scroll_syncer_service.js +73 -0
  13. package/build/esm/packages/aurora/src/components/scroll_sync/context/scroll_syncer_service.js.map +1 -0
  14. package/build/esm/packages/aurora/src/components/scroll_sync/context/setup_scroll_syncer.d.ts +2 -2
  15. package/build/esm/packages/aurora/src/components/scroll_sync/context/setup_scroll_syncer.js +2 -2
  16. package/build/esm/packages/aurora/src/components/tree/index.d.ts +6 -3
  17. package/build/esm/packages/aurora/src/components/tree/index.js +4 -3
  18. package/build/esm/packages/aurora/src/components/tree/index.js.map +1 -1
  19. package/package.json +1 -1
@@ -11,75 +11,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
 
12
12
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
13
 
14
- const SCROLL_CONTAINER_ID_ATTRIBUTE = 'data-scroll-sync-id';
15
- class ScrollSyncer {
16
- constructor() {
17
- this.scrollContainers = [];
18
- this.proportional = true;
19
- this.vertical = true;
20
- this.horizontal = true;
21
- this.enabled = true;
22
- this._addScrollEvent = (container) => {
23
- container.$el.addEventListener('scroll', this._handleScrollEvent);
24
- };
25
- this._handleScrollEvent = (ev) => {
26
- const $container = ev.target;
27
- const containerId = $container.getAttribute(SCROLL_CONTAINER_ID_ATTRIBUTE);
28
- if (!containerId)
29
- return;
30
- const container = this._getContentContainer(containerId);
31
- if (!container)
32
- return;
33
- window.requestAnimationFrame(() => this._syncScrollPositions(container));
34
- };
35
- this._removeScrollEvent = (container) => {
36
- container.$el.removeEventListener('scroll', this._handleScrollEvent);
37
- };
38
- this._syncScrollPosition = (containerToSync, scrolledContainer) => {
39
- const $scrolledContainerEl = scrolledContainer.$el;
40
- const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth } = $scrolledContainerEl;
41
- const scrollTopOffset = scrollHeight - clientHeight;
42
- const scrollLeftOffset = scrollWidth - clientWidth;
43
- const paneHeight = containerToSync.$el.scrollHeight - clientHeight;
44
- const paneWidth = containerToSync.$el.scrollWidth - clientWidth;
45
- if (this.vertical && scrollTopOffset > 0) {
46
- containerToSync.$el.scrollTop = this.proportional ? (paneHeight * scrollTop) / scrollTopOffset : scrollTop;
47
- }
48
- if (this.horizontal && scrollLeftOffset > 0) {
49
- containerToSync.$el.scrollLeft = this.proportional ? (paneWidth * scrollLeft) / scrollLeftOffset : scrollLeft;
50
- }
51
- };
52
- this._syncScrollPositions = (scrolledContainer) => {
53
- this.scrollContainers.forEach((containerToSync) => {
54
- if (containerToSync.id !== scrolledContainer.id) {
55
- this._syncScrollPosition(containerToSync, scrolledContainer);
56
- }
57
- });
58
- };
59
- this._getContentContainer = (id) => {
60
- return this.scrollContainers.find((currContainer) => currContainer.id === id);
61
- };
62
- }
63
- registerContainer(container) {
64
- container.$el.setAttribute(SCROLL_CONTAINER_ID_ATTRIBUTE, container.id);
65
- this.scrollContainers.push(container);
66
- this._addScrollEvent(container);
67
- }
68
- unregisterContainer(id) {
69
- const container = this._getContentContainer(id);
70
- if (!container)
71
- return;
72
- this.scrollContainers = this.scrollContainers.filter((currContainer) => container.id !== currContainer.id);
73
- container.$el.removeAttribute(SCROLL_CONTAINER_ID_ATTRIBUTE);
74
- this._removeScrollEvent(container);
75
- }
76
- hasContainer(id) {
77
- return !!this.scrollContainers.find((container) => container.id === id);
78
- }
79
- dispose() {
80
- // unregister all events
81
- }
82
- }
83
14
  const ScrollSyncProvider = ({ children }) => {
84
15
  const scrollSyncerSetup = use_lazy_ref.useLazyRef(() => setup_scroll_syncer.setupScrollSyncer());
85
16
  const value = {
@@ -97,5 +28,4 @@ const ScrollSyncProvider = ({ children }) => {
97
28
  };
98
29
 
99
30
  exports.ScrollSyncProvider = ScrollSyncProvider;
100
- exports.ScrollSyncer = ScrollSyncer;
101
31
  //# sourceMappingURL=scroll_sync_provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,77 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const SCROLL_CONTAINER_ID_ATTRIBUTE = 'data-scroll-sync-id';
6
+ class ScrollSyncerService {
7
+ constructor() {
8
+ this.scrollContainers = [];
9
+ this.proportional = true;
10
+ this.vertical = true;
11
+ this.horizontal = true;
12
+ this.enabled = true;
13
+ this._addScrollEvent = (container) => {
14
+ container.$el.addEventListener('scroll', this._handleScrollEvent);
15
+ };
16
+ this._handleScrollEvent = (ev) => {
17
+ const $container = ev.target;
18
+ const containerId = $container.getAttribute(SCROLL_CONTAINER_ID_ATTRIBUTE);
19
+ if (!containerId)
20
+ return;
21
+ const container = this._getContentContainer(containerId);
22
+ if (!container)
23
+ return;
24
+ window.requestAnimationFrame(() => this._syncScrollPositions(container));
25
+ };
26
+ this._removeScrollEvent = (container) => {
27
+ container.$el.removeEventListener('scroll', this._handleScrollEvent);
28
+ };
29
+ this._syncScrollPosition = (containerToSync, scrolledContainer) => {
30
+ const $scrolledContainerEl = scrolledContainer.$el;
31
+ const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth } = $scrolledContainerEl;
32
+ const scrollTopOffset = scrollHeight - clientHeight;
33
+ const scrollLeftOffset = scrollWidth - clientWidth;
34
+ const paneHeight = containerToSync.$el.scrollHeight - clientHeight;
35
+ const paneWidth = containerToSync.$el.scrollWidth - clientWidth;
36
+ if (this.vertical && scrollTopOffset > 0) {
37
+ containerToSync.$el.scrollTop = this.proportional ? (paneHeight * scrollTop) / scrollTopOffset : scrollTop;
38
+ }
39
+ if (this.horizontal && scrollLeftOffset > 0) {
40
+ containerToSync.$el.scrollLeft = this.proportional ? (paneWidth * scrollLeft) / scrollLeftOffset : scrollLeft;
41
+ }
42
+ };
43
+ this._syncScrollPositions = (scrolledContainer) => {
44
+ this.scrollContainers.forEach((containerToSync) => {
45
+ if (containerToSync.id !== scrolledContainer.id) {
46
+ this._syncScrollPosition(containerToSync, scrolledContainer);
47
+ }
48
+ });
49
+ };
50
+ this._getContentContainer = (id) => {
51
+ return this.scrollContainers.find((currContainer) => currContainer.id === id);
52
+ };
53
+ }
54
+ registerContainer(container) {
55
+ container.$el.setAttribute(SCROLL_CONTAINER_ID_ATTRIBUTE, container.id);
56
+ this.scrollContainers.push(container);
57
+ this._addScrollEvent(container);
58
+ }
59
+ unregisterContainer(id) {
60
+ const container = this._getContentContainer(id);
61
+ if (!container)
62
+ return;
63
+ //TODO dokonczyc scroll na iframe
64
+ // if (container.$el instanceof HTMLIFrameElement) {
65
+ // container.$el = container.$el.contentWindow;
66
+ // }
67
+ this.scrollContainers = this.scrollContainers.filter((currContainer) => container.id !== currContainer.id);
68
+ container.$el.removeAttribute(SCROLL_CONTAINER_ID_ATTRIBUTE);
69
+ this._removeScrollEvent(container);
70
+ }
71
+ hasContainer(id) {
72
+ return !!this.scrollContainers.find((container) => container.id === id);
73
+ }
74
+ }
75
+
76
+ exports.ScrollSyncerService = ScrollSyncerService;
77
+ //# sourceMappingURL=scroll_syncer_service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var scroll_sync_provider = require('./scroll_sync_provider.js');
5
+ var scroll_syncer_service = require('./scroll_syncer_service.js');
6
6
 
7
7
  const setupScrollSyncer = () => {
8
- return { scrollSyncerApi: new scroll_sync_provider.ScrollSyncer() };
8
+ return { scrollSyncerApi: new scroll_syncer_service.ScrollSyncerService() };
9
9
  };
10
10
 
11
11
  exports.setupScrollSyncer = setupScrollSyncer;
@@ -13,10 +13,11 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
13
13
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
14
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
15
15
 
16
- const Tree = ({ children, cssClassNames, ref }) => {
16
+ // eslint-disable-next-line react/display-name
17
+ const Tree = React__default['default'].forwardRef(({ children, cssClassNames, cssStyles, onMouseEnter, onMouseLeave }, ref) => {
17
18
  return (React__default['default'].createElement(tree_provider.TreeProvider, null,
18
- React__default['default'].createElement("ul", { ref: ref, className: classnames__default['default'](main_module['default'][css_classes.TREE_CSS_CLASSES.tree], css_classes.TREE_CSS_CLASSES.tree, cssClassNames) }, children)));
19
- };
19
+ React__default['default'].createElement("ul", { onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, ref: ref, style: cssStyles, className: classnames__default['default'](main_module['default'][css_classes.TREE_CSS_CLASSES.tree], css_classes.TREE_CSS_CLASSES.tree, cssClassNames) }, children)));
20
+ });
20
21
 
21
22
  exports.Tree = Tree;
22
23
  exports.default = Tree;
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -1,21 +1,2 @@
1
1
  import { PropsWithChildren } from 'react';
2
- import { TScrollSyncContainer } from "./scroll_sync_context";
3
- export declare class ScrollSyncer {
4
- private scrollContainers;
5
- proportional: boolean;
6
- vertical: boolean;
7
- horizontal: boolean;
8
- enabled: boolean;
9
- constructor();
10
- registerContainer(container: TScrollSyncContainer): void;
11
- unregisterContainer(id: string): void;
12
- private _addScrollEvent;
13
- private _handleScrollEvent;
14
- private _removeScrollEvent;
15
- private _syncScrollPosition;
16
- private _syncScrollPositions;
17
- private _getContentContainer;
18
- hasContainer(id: string): boolean;
19
- dispose(): void;
20
- }
21
2
  export declare const ScrollSyncProvider: ({ children }: PropsWithChildren<{}>) => JSX.Element;
@@ -3,75 +3,6 @@ import { useLazyRef } from '../../../hooks/use_lazy_ref.js';
3
3
  import { ScrollSyncContextProvider } from './scroll_sync_context.js';
4
4
  import { setupScrollSyncer } from './setup_scroll_syncer.js';
5
5
 
6
- const SCROLL_CONTAINER_ID_ATTRIBUTE = 'data-scroll-sync-id';
7
- class ScrollSyncer {
8
- constructor() {
9
- this.scrollContainers = [];
10
- this.proportional = true;
11
- this.vertical = true;
12
- this.horizontal = true;
13
- this.enabled = true;
14
- this._addScrollEvent = (container) => {
15
- container.$el.addEventListener('scroll', this._handleScrollEvent);
16
- };
17
- this._handleScrollEvent = (ev) => {
18
- const $container = ev.target;
19
- const containerId = $container.getAttribute(SCROLL_CONTAINER_ID_ATTRIBUTE);
20
- if (!containerId)
21
- return;
22
- const container = this._getContentContainer(containerId);
23
- if (!container)
24
- return;
25
- window.requestAnimationFrame(() => this._syncScrollPositions(container));
26
- };
27
- this._removeScrollEvent = (container) => {
28
- container.$el.removeEventListener('scroll', this._handleScrollEvent);
29
- };
30
- this._syncScrollPosition = (containerToSync, scrolledContainer) => {
31
- const $scrolledContainerEl = scrolledContainer.$el;
32
- const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth } = $scrolledContainerEl;
33
- const scrollTopOffset = scrollHeight - clientHeight;
34
- const scrollLeftOffset = scrollWidth - clientWidth;
35
- const paneHeight = containerToSync.$el.scrollHeight - clientHeight;
36
- const paneWidth = containerToSync.$el.scrollWidth - clientWidth;
37
- if (this.vertical && scrollTopOffset > 0) {
38
- containerToSync.$el.scrollTop = this.proportional ? (paneHeight * scrollTop) / scrollTopOffset : scrollTop;
39
- }
40
- if (this.horizontal && scrollLeftOffset > 0) {
41
- containerToSync.$el.scrollLeft = this.proportional ? (paneWidth * scrollLeft) / scrollLeftOffset : scrollLeft;
42
- }
43
- };
44
- this._syncScrollPositions = (scrolledContainer) => {
45
- this.scrollContainers.forEach((containerToSync) => {
46
- if (containerToSync.id !== scrolledContainer.id) {
47
- this._syncScrollPosition(containerToSync, scrolledContainer);
48
- }
49
- });
50
- };
51
- this._getContentContainer = (id) => {
52
- return this.scrollContainers.find((currContainer) => currContainer.id === id);
53
- };
54
- }
55
- registerContainer(container) {
56
- container.$el.setAttribute(SCROLL_CONTAINER_ID_ATTRIBUTE, container.id);
57
- this.scrollContainers.push(container);
58
- this._addScrollEvent(container);
59
- }
60
- unregisterContainer(id) {
61
- const container = this._getContentContainer(id);
62
- if (!container)
63
- return;
64
- this.scrollContainers = this.scrollContainers.filter((currContainer) => container.id !== currContainer.id);
65
- container.$el.removeAttribute(SCROLL_CONTAINER_ID_ATTRIBUTE);
66
- this._removeScrollEvent(container);
67
- }
68
- hasContainer(id) {
69
- return !!this.scrollContainers.find((container) => container.id === id);
70
- }
71
- dispose() {
72
- // unregister all events
73
- }
74
- }
75
6
  const ScrollSyncProvider = ({ children }) => {
76
7
  const scrollSyncerSetup = useLazyRef(() => setupScrollSyncer());
77
8
  const value = {
@@ -88,5 +19,5 @@ const ScrollSyncProvider = ({ children }) => {
88
19
  return React.createElement(ScrollSyncContextProvider, { value: value }, children);
89
20
  };
90
21
 
91
- export { ScrollSyncProvider, ScrollSyncer };
22
+ export { ScrollSyncProvider };
92
23
  //# sourceMappingURL=scroll_sync_provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,18 @@
1
+ import { TScrollSyncContainer } from "./scroll_sync_context";
2
+ export declare class ScrollSyncerService {
3
+ private scrollContainers;
4
+ proportional: boolean;
5
+ vertical: boolean;
6
+ horizontal: boolean;
7
+ enabled: boolean;
8
+ constructor();
9
+ registerContainer(container: TScrollSyncContainer): void;
10
+ unregisterContainer(id: string): void;
11
+ private _addScrollEvent;
12
+ private _handleScrollEvent;
13
+ private _removeScrollEvent;
14
+ private _syncScrollPosition;
15
+ private _syncScrollPositions;
16
+ private _getContentContainer;
17
+ hasContainer(id: string): boolean;
18
+ }
@@ -0,0 +1,73 @@
1
+ const SCROLL_CONTAINER_ID_ATTRIBUTE = 'data-scroll-sync-id';
2
+ class ScrollSyncerService {
3
+ constructor() {
4
+ this.scrollContainers = [];
5
+ this.proportional = true;
6
+ this.vertical = true;
7
+ this.horizontal = true;
8
+ this.enabled = true;
9
+ this._addScrollEvent = (container) => {
10
+ container.$el.addEventListener('scroll', this._handleScrollEvent);
11
+ };
12
+ this._handleScrollEvent = (ev) => {
13
+ const $container = ev.target;
14
+ const containerId = $container.getAttribute(SCROLL_CONTAINER_ID_ATTRIBUTE);
15
+ if (!containerId)
16
+ return;
17
+ const container = this._getContentContainer(containerId);
18
+ if (!container)
19
+ return;
20
+ window.requestAnimationFrame(() => this._syncScrollPositions(container));
21
+ };
22
+ this._removeScrollEvent = (container) => {
23
+ container.$el.removeEventListener('scroll', this._handleScrollEvent);
24
+ };
25
+ this._syncScrollPosition = (containerToSync, scrolledContainer) => {
26
+ const $scrolledContainerEl = scrolledContainer.$el;
27
+ const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth } = $scrolledContainerEl;
28
+ const scrollTopOffset = scrollHeight - clientHeight;
29
+ const scrollLeftOffset = scrollWidth - clientWidth;
30
+ const paneHeight = containerToSync.$el.scrollHeight - clientHeight;
31
+ const paneWidth = containerToSync.$el.scrollWidth - clientWidth;
32
+ if (this.vertical && scrollTopOffset > 0) {
33
+ containerToSync.$el.scrollTop = this.proportional ? (paneHeight * scrollTop) / scrollTopOffset : scrollTop;
34
+ }
35
+ if (this.horizontal && scrollLeftOffset > 0) {
36
+ containerToSync.$el.scrollLeft = this.proportional ? (paneWidth * scrollLeft) / scrollLeftOffset : scrollLeft;
37
+ }
38
+ };
39
+ this._syncScrollPositions = (scrolledContainer) => {
40
+ this.scrollContainers.forEach((containerToSync) => {
41
+ if (containerToSync.id !== scrolledContainer.id) {
42
+ this._syncScrollPosition(containerToSync, scrolledContainer);
43
+ }
44
+ });
45
+ };
46
+ this._getContentContainer = (id) => {
47
+ return this.scrollContainers.find((currContainer) => currContainer.id === id);
48
+ };
49
+ }
50
+ registerContainer(container) {
51
+ container.$el.setAttribute(SCROLL_CONTAINER_ID_ATTRIBUTE, container.id);
52
+ this.scrollContainers.push(container);
53
+ this._addScrollEvent(container);
54
+ }
55
+ unregisterContainer(id) {
56
+ const container = this._getContentContainer(id);
57
+ if (!container)
58
+ return;
59
+ //TODO dokonczyc scroll na iframe
60
+ // if (container.$el instanceof HTMLIFrameElement) {
61
+ // container.$el = container.$el.contentWindow;
62
+ // }
63
+ this.scrollContainers = this.scrollContainers.filter((currContainer) => container.id !== currContainer.id);
64
+ container.$el.removeAttribute(SCROLL_CONTAINER_ID_ATTRIBUTE);
65
+ this._removeScrollEvent(container);
66
+ }
67
+ hasContainer(id) {
68
+ return !!this.scrollContainers.find((container) => container.id === id);
69
+ }
70
+ }
71
+
72
+ export { ScrollSyncerService };
73
+ //# sourceMappingURL=scroll_syncer_service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -1,4 +1,4 @@
1
- import { ScrollSyncer } from "./scroll_sync_provider";
1
+ import { ScrollSyncerService } from "./scroll_syncer_service";
2
2
  export declare const setupScrollSyncer: () => {
3
- scrollSyncerApi: ScrollSyncer;
3
+ scrollSyncerApi: ScrollSyncerService;
4
4
  };
@@ -1,7 +1,7 @@
1
- import { ScrollSyncer } from './scroll_sync_provider.js';
1
+ import { ScrollSyncerService } from './scroll_syncer_service.js';
2
2
 
3
3
  const setupScrollSyncer = () => {
4
- return { scrollSyncerApi: new ScrollSyncer() };
4
+ return { scrollSyncerApi: new ScrollSyncerService() };
5
5
  };
6
6
 
7
7
  export { setupScrollSyncer };
@@ -1,8 +1,11 @@
1
1
  import React from 'react';
2
- import { TPropsWithChildren } from "../../typings/general";
3
2
  declare type TTreeProps = {
4
3
  cssClassNames?: string;
5
- ref: React.Ref<HTMLUListElement>;
4
+ cssStyles?: React.CSSProperties;
5
+ onMouseEnter?: (event: React.MouseEvent<HTMLUListElement, MouseEvent>) => void;
6
+ onMouseLeave?: (event: React.MouseEvent<HTMLUListElement, MouseEvent>) => void;
6
7
  };
7
- export declare const Tree: ({ children, cssClassNames, ref }: TPropsWithChildren<TTreeProps>) => JSX.Element;
8
+ export declare const Tree: React.ForwardRefExoticComponent<TTreeProps & {
9
+ children?: React.ReactNode;
10
+ } & React.RefAttributes<HTMLUListElement>>;
8
11
  export default Tree;
@@ -4,10 +4,11 @@ import { TreeProvider } from './context/tree_provider.js';
4
4
  import { TREE_CSS_CLASSES } from './css_classes.js';
5
5
  import cssClasses from '../../css/tree/main.module.less.js';
6
6
 
7
- const Tree = ({ children, cssClassNames, ref }) => {
7
+ // eslint-disable-next-line react/display-name
8
+ const Tree = React.forwardRef(({ children, cssClassNames, cssStyles, onMouseEnter, onMouseLeave }, ref) => {
8
9
  return (React.createElement(TreeProvider, null,
9
- React.createElement("ul", { ref: ref, className: classnames(cssClasses[TREE_CSS_CLASSES.tree], TREE_CSS_CLASSES.tree, cssClassNames) }, children)));
10
- };
10
+ React.createElement("ul", { onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, ref: ref, style: cssStyles, className: classnames(cssClasses[TREE_CSS_CLASSES.tree], TREE_CSS_CLASSES.tree, cssClassNames) }, children)));
11
+ });
11
12
 
12
13
  export default Tree;
13
14
  export { Tree };
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@dreamcommerce/aurora",
3
3
  "packageManager": "yarn@3.2.0",
4
4
  "sideEffects": false,
5
- "version": "2.9.0-14",
5
+ "version": "2.9.0-16",
6
6
  "description": "aurora",
7
7
  "author": "k0ssak",
8
8
  "license": "MIT",