@dreamcommerce/aurora 2.9.0-9 → 2.9.0

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 (80) hide show
  1. package/build/cjs/packages/aurora/src/components/controls/hoc/control_xhr_image_picker/index.js +3 -2
  2. package/build/cjs/packages/aurora/src/components/controls/hoc/control_xhr_image_picker/index.js.map +1 -1
  3. package/build/cjs/packages/aurora/src/components/file_picker/use_file_picker.js +20 -4
  4. package/build/cjs/packages/aurora/src/components/file_picker/use_file_picker.js.map +1 -1
  5. package/build/cjs/packages/aurora/src/components/scroll_sync/components/scroll_sync_container.js +20 -0
  6. package/build/cjs/packages/aurora/src/components/scroll_sync/components/scroll_sync_container.js.map +1 -0
  7. package/build/cjs/packages/aurora/src/components/scroll_sync/context/scroll_sync_context.js +16 -0
  8. package/build/cjs/packages/aurora/src/components/scroll_sync/context/scroll_sync_context.js.map +1 -0
  9. package/build/cjs/packages/aurora/src/components/scroll_sync/context/scroll_sync_provider.js +31 -0
  10. package/build/cjs/packages/aurora/src/components/scroll_sync/context/scroll_sync_provider.js.map +1 -0
  11. package/build/cjs/packages/aurora/src/components/scroll_sync/context/scroll_syncer_service.js +77 -0
  12. package/build/cjs/packages/aurora/src/components/scroll_sync/context/scroll_syncer_service.js.map +1 -0
  13. package/build/cjs/packages/aurora/src/components/scroll_sync/context/setup_scroll_syncer.js +12 -0
  14. package/build/cjs/packages/aurora/src/components/scroll_sync/context/setup_scroll_syncer.js.map +1 -0
  15. package/build/cjs/packages/aurora/src/components/scroll_sync/hooks/scroll_sync_container_hook.js +20 -0
  16. package/build/cjs/packages/aurora/src/components/scroll_sync/hooks/scroll_sync_container_hook.js.map +1 -0
  17. package/build/cjs/packages/aurora/src/components/scroll_sync/hooks/scroll_sync_hook.js +21 -0
  18. package/build/cjs/packages/aurora/src/components/scroll_sync/hooks/scroll_sync_hook.js.map +1 -0
  19. package/build/cjs/packages/aurora/src/components/scroll_sync/index.js +18 -0
  20. package/build/cjs/packages/aurora/src/components/scroll_sync/index.js.map +1 -0
  21. package/build/cjs/packages/aurora/src/components/tree/components/tree_node.js +8 -7
  22. package/build/cjs/packages/aurora/src/components/tree/components/tree_node.js.map +1 -1
  23. package/build/cjs/packages/aurora/src/components/tree/css_classes.js +5 -4
  24. package/build/cjs/packages/aurora/src/components/tree/css_classes.js.map +1 -1
  25. package/build/cjs/packages/aurora/src/components/tree/index.js +4 -3
  26. package/build/cjs/packages/aurora/src/components/tree/index.js.map +1 -1
  27. package/build/cjs/packages/aurora/src/components/typography/index.js +1 -1
  28. package/build/cjs/packages/aurora/src/components/xhr_image_picker/index.js +3 -2
  29. package/build/cjs/packages/aurora/src/components/xhr_image_picker/index.js.map +1 -1
  30. package/build/cjs/packages/aurora/src/css/tree/main.module.less.js +2 -2
  31. package/build/cjs/packages/aurora/src/index.js +4 -0
  32. package/build/cjs/packages/aurora/src/index.js.map +1 -1
  33. package/build/esm/packages/aurora/src/components/controls/hoc/control_xhr_image_picker/index.js +3 -2
  34. package/build/esm/packages/aurora/src/components/controls/hoc/control_xhr_image_picker/index.js.map +1 -1
  35. package/build/esm/packages/aurora/src/components/controls/types.d.ts +4 -4
  36. package/build/esm/packages/aurora/src/components/controls/types.js +3 -3
  37. package/build/esm/packages/aurora/src/components/controls/types.js.map +1 -1
  38. package/build/esm/packages/aurora/src/components/file_picker/types.d.ts +6 -2
  39. package/build/esm/packages/aurora/src/components/file_picker/use_file_picker.js +21 -5
  40. package/build/esm/packages/aurora/src/components/file_picker/use_file_picker.js.map +1 -1
  41. package/build/esm/packages/aurora/src/components/scroll_sync/components/scroll_sync_container.d.ts +7 -0
  42. package/build/esm/packages/aurora/src/components/scroll_sync/components/scroll_sync_container.js +12 -0
  43. package/build/esm/packages/aurora/src/components/scroll_sync/components/scroll_sync_container.js.map +1 -0
  44. package/build/esm/packages/aurora/src/components/scroll_sync/context/scroll_sync_context.d.ts +12 -0
  45. package/build/esm/packages/aurora/src/components/scroll_sync/context/scroll_sync_context.js +11 -0
  46. package/build/esm/packages/aurora/src/components/scroll_sync/context/scroll_sync_context.js.map +1 -0
  47. package/build/esm/packages/aurora/src/components/scroll_sync/context/scroll_sync_provider.d.ts +2 -0
  48. package/build/esm/packages/aurora/src/components/scroll_sync/context/scroll_sync_provider.js +23 -0
  49. package/build/esm/packages/aurora/src/components/scroll_sync/context/scroll_sync_provider.js.map +1 -0
  50. package/build/esm/packages/aurora/src/components/scroll_sync/context/scroll_syncer_service.d.ts +18 -0
  51. package/build/esm/packages/aurora/src/components/scroll_sync/context/scroll_syncer_service.js +73 -0
  52. package/build/esm/packages/aurora/src/components/scroll_sync/context/scroll_syncer_service.js.map +1 -0
  53. package/build/esm/packages/aurora/src/components/scroll_sync/context/setup_scroll_syncer.d.ts +4 -0
  54. package/build/esm/packages/aurora/src/components/scroll_sync/context/setup_scroll_syncer.js +8 -0
  55. package/build/esm/packages/aurora/src/components/scroll_sync/context/setup_scroll_syncer.js.map +1 -0
  56. package/build/esm/packages/aurora/src/components/scroll_sync/hooks/scroll_sync_container_hook.d.ts +2 -0
  57. package/build/esm/packages/aurora/src/components/scroll_sync/hooks/scroll_sync_container_hook.js +16 -0
  58. package/build/esm/packages/aurora/src/components/scroll_sync/hooks/scroll_sync_container_hook.js.map +1 -0
  59. package/build/esm/packages/aurora/src/components/scroll_sync/hooks/scroll_sync_hook.d.ts +1 -0
  60. package/build/esm/packages/aurora/src/components/scroll_sync/hooks/scroll_sync_hook.js +13 -0
  61. package/build/esm/packages/aurora/src/components/scroll_sync/hooks/scroll_sync_hook.js.map +1 -0
  62. package/build/esm/packages/aurora/src/components/scroll_sync/index.d.ts +3 -0
  63. package/build/esm/packages/aurora/src/components/scroll_sync/index.js +10 -0
  64. package/build/esm/packages/aurora/src/components/scroll_sync/index.js.map +1 -0
  65. package/build/esm/packages/aurora/src/components/tree/components/tree_node.js +8 -7
  66. package/build/esm/packages/aurora/src/components/tree/components/tree_node.js.map +1 -1
  67. package/build/esm/packages/aurora/src/components/tree/css_classes.d.ts +5 -4
  68. package/build/esm/packages/aurora/src/components/tree/css_classes.js +5 -4
  69. package/build/esm/packages/aurora/src/components/tree/css_classes.js.map +1 -1
  70. package/build/esm/packages/aurora/src/components/tree/index.d.ts +7 -2
  71. package/build/esm/packages/aurora/src/components/tree/index.js +4 -3
  72. package/build/esm/packages/aurora/src/components/tree/index.js.map +1 -1
  73. package/build/esm/packages/aurora/src/components/typography/index.js +1 -1
  74. package/build/esm/packages/aurora/src/components/xhr_image_picker/index.js +3 -2
  75. package/build/esm/packages/aurora/src/components/xhr_image_picker/index.js.map +1 -1
  76. package/build/esm/packages/aurora/src/css/tree/main.module.less.js +2 -2
  77. package/build/esm/packages/aurora/src/index.d.ts +3 -1
  78. package/build/esm/packages/aurora/src/index.js +2 -0
  79. package/build/esm/packages/aurora/src/index.js.map +1 -1
  80. package/package.json +2 -2
@@ -1,18 +1,27 @@
1
- import { useState, useEffect } from 'react';
1
+ import { useState, useRef, useEffect } from 'react';
2
2
  import i18n from '../../i18n.js';
3
3
  import { MIME_TYPE_TO_FILE_EXTENSIONS, FILE_PICKER_ERROR } from './constants.js';
4
4
 
5
5
  const useFilePicker = ({ onChange, initialFile, allowedExtensions, inputRef, initialErrors, onError }) => {
6
+ const [fileList, setFileList] = useState(null);
6
7
  const [file, setFile] = useState(initialFile);
8
+ const [fileAsDataUrl, setFileAsDataUrl] = useState(null);
7
9
  const [errors, setErrors] = useState([]);
8
10
  const [isDragOver, setDragOver] = useState(false);
9
11
  const [isPreview, setPreview] = useState(true);
12
+ const reader = useRef(new FileReader());
10
13
  useEffect(() => {
11
- initialFile && setFile(initialFile);
14
+ setFile(initialFile);
15
+ reader.current && getDataUrlFromFile(reader.current.result);
16
+ reader.current.addEventListener('load', () => getDataUrlFromFile(reader.current.result), false);
17
+ return () => reader.current.removeEventListener('load', () => getDataUrlFromFile(reader.current.result));
12
18
  }, []);
13
19
  useEffect(() => {
14
20
  initialErrors && setErrors(initialErrors);
15
21
  }, [initialErrors]);
22
+ useEffect(() => {
23
+ fileAsDataUrl && (onChange === null || onChange === void 0 ? void 0 : onChange({ fileList, fileAsDataUrl }));
24
+ }, [fileAsDataUrl]);
16
25
  const onDropFile = (event) => {
17
26
  setErrors([]);
18
27
  event.stopPropagation();
@@ -44,20 +53,25 @@ const useFilePicker = ({ onChange, initialFile, allowedExtensions, inputRef, ini
44
53
  };
45
54
  const updateFile = (files) => {
46
55
  if (files === null || files === void 0 ? void 0 : files.length) {
56
+ setFileList(files);
57
+ reader.current.readAsDataURL(files[0]);
47
58
  setFile({
48
59
  fileName: files === null || files === void 0 ? void 0 : files[0].name,
49
60
  fileUrl: URL.createObjectURL(files === null || files === void 0 ? void 0 : files[0])
50
61
  });
51
62
  const isValid = validateFileExtension(allowedExtensions, files[0].type);
52
63
  if (isValid)
53
- onChange === null || onChange === void 0 ? void 0 : onChange(files);
64
+ onChange === null || onChange === void 0 ? void 0 : onChange({ fileList: files });
54
65
  }
55
66
  else {
56
67
  setFile(undefined);
57
- onChange === null || onChange === void 0 ? void 0 : onChange(files);
68
+ onChange === null || onChange === void 0 ? void 0 : onChange({ fileList: files });
58
69
  }
59
70
  setPreview(true);
60
71
  };
72
+ const getDataUrlFromFile = (fileReaderResult) => {
73
+ setFileAsDataUrl(fileReaderResult);
74
+ };
61
75
  const onDragOver = (event) => {
62
76
  event.stopPropagation();
63
77
  event.preventDefault();
@@ -71,10 +85,12 @@ const useFilePicker = ({ onChange, initialFile, allowedExtensions, inputRef, ini
71
85
  };
72
86
  const onFileDelete = () => {
73
87
  inputRef.current.value = '';
88
+ setFileList(null);
74
89
  setFile(undefined);
90
+ setFileAsDataUrl(null);
75
91
  setPreview(true);
76
92
  setErrors([]);
77
- onChange === null || onChange === void 0 ? void 0 : onChange(null);
93
+ onChange === null || onChange === void 0 ? void 0 : onChange({ fileList: null, fileAsDataUrl: null });
78
94
  };
79
95
  const onPreviewError = () => {
80
96
  setPreview(false);
@@ -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;"}
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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ declare type TScrollSyncContainerProps = {
3
+ id: string;
4
+ children: (elementRef: React.Ref<HTMLElement>) => React.ReactNode;
5
+ };
6
+ export declare const ScrollSyncContainer: ({ children, id }: TScrollSyncContainerProps) => JSX.Element;
7
+ export default ScrollSyncContainer;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { useScrollSyncContainer } from '../hooks/scroll_sync_container_hook.js';
3
+
4
+ const ScrollSyncContainer = ({ children, id }) => {
5
+ const elementRef = React.useRef(null);
6
+ useScrollSyncContainer(id, elementRef);
7
+ return React.createElement(React.Fragment, null, children(elementRef));
8
+ };
9
+
10
+ export default ScrollSyncContainer;
11
+ export { ScrollSyncContainer };
12
+ //# sourceMappingURL=scroll_sync_container.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;"}
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ export declare type TScrollSyncContainer = {
3
+ id: string;
4
+ $el: HTMLElement;
5
+ };
6
+ export interface IScrollSyncContext {
7
+ registerContainer: (container: TScrollSyncContainer) => void;
8
+ unregisterContainer: (id: string) => void;
9
+ hasContainer: (id: string) => boolean;
10
+ }
11
+ export declare const ScrollSyncContext: import("react").Context<IScrollSyncContext>;
12
+ export declare const ScrollSyncContextProvider: import("react").Provider<IScrollSyncContext>;
@@ -0,0 +1,11 @@
1
+ import { createContext } from 'react';
2
+
3
+ const ScrollSyncContext = createContext({
4
+ registerContainer: () => { },
5
+ unregisterContainer: () => { },
6
+ hasContainer: () => false
7
+ });
8
+ const ScrollSyncContextProvider = ScrollSyncContext.Provider;
9
+
10
+ export { ScrollSyncContext, ScrollSyncContextProvider };
11
+ //# sourceMappingURL=scroll_sync_context.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;"}
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare const ScrollSyncProvider: ({ children }: PropsWithChildren<{}>) => JSX.Element;
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { useLazyRef } from '../../../hooks/use_lazy_ref.js';
3
+ import { ScrollSyncContextProvider } from './scroll_sync_context.js';
4
+ import { setupScrollSyncer } from './setup_scroll_syncer.js';
5
+
6
+ const ScrollSyncProvider = ({ children }) => {
7
+ const scrollSyncerSetup = useLazyRef(() => setupScrollSyncer());
8
+ const value = {
9
+ registerContainer(container) {
10
+ scrollSyncerSetup.current.scrollSyncerApi.registerContainer(container);
11
+ },
12
+ unregisterContainer(id) {
13
+ scrollSyncerSetup.current.scrollSyncerApi.unregisterContainer(id);
14
+ },
15
+ hasContainer(id) {
16
+ return scrollSyncerSetup.current.scrollSyncerApi.hasContainer(id);
17
+ }
18
+ };
19
+ return React.createElement(ScrollSyncContextProvider, { value: value }, children);
20
+ };
21
+
22
+ export { ScrollSyncProvider };
23
+ //# sourceMappingURL=scroll_sync_provider.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;"}
@@ -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;"}
@@ -0,0 +1,4 @@
1
+ import { ScrollSyncerService } from "./scroll_syncer_service";
2
+ export declare const setupScrollSyncer: () => {
3
+ scrollSyncerApi: ScrollSyncerService;
4
+ };
@@ -0,0 +1,8 @@
1
+ import { ScrollSyncerService } from './scroll_syncer_service.js';
2
+
3
+ const setupScrollSyncer = () => {
4
+ return { scrollSyncerApi: new ScrollSyncerService() };
5
+ };
6
+
7
+ export { setupScrollSyncer };
8
+ //# sourceMappingURL=setup_scroll_syncer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const useScrollSyncContainer: (id: string, ref: React.RefObject<HTMLElement>) => void;
@@ -0,0 +1,16 @@
1
+ import { useEffect } from 'react';
2
+ import { useScrollSync } from './scroll_sync_hook.js';
3
+
4
+ const useScrollSyncContainer = (id, ref) => {
5
+ const scrollSyncApi = useScrollSync();
6
+ useEffect(() => {
7
+ if (!ref.current)
8
+ return;
9
+ if (!scrollSyncApi.hasContainer(id))
10
+ scrollSyncApi.registerContainer({ id, $el: ref.current });
11
+ return () => scrollSyncApi.unregisterContainer(id);
12
+ }, []);
13
+ };
14
+
15
+ export { useScrollSyncContainer };
16
+ //# sourceMappingURL=scroll_sync_container_hook.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;"}
@@ -0,0 +1 @@
1
+ export declare const useScrollSync: () => import("../context/scroll_sync_context").IScrollSyncContext;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { ScrollSyncContext } from '../context/scroll_sync_context.js';
3
+
4
+ const useScrollSync = () => {
5
+ const context = React.useContext(ScrollSyncContext);
6
+ if (!context) {
7
+ throw new Error('useScrollSync must be used within a ScrollSyncContextProvider');
8
+ }
9
+ return context;
10
+ };
11
+
12
+ export { useScrollSync };
13
+ //# sourceMappingURL=scroll_sync_hook.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;"}
@@ -0,0 +1,3 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare const ScrollSync: ({ children }: PropsWithChildren<{}>) => JSX.Element;
3
+ export default ScrollSync;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { ScrollSyncProvider } from './context/scroll_sync_provider.js';
3
+
4
+ const ScrollSync = ({ children }) => {
5
+ return React.createElement(ScrollSyncProvider, null, children);
6
+ };
7
+
8
+ export default ScrollSync;
9
+ export { ScrollSync };
10
+ //# sourceMappingURL=index.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;"}
@@ -16,13 +16,14 @@ const TreeNode = ({ children, id, cssClassNames, ContentComponent, LabelComponen
16
16
  const toggleNode = () => {
17
17
  treeApi.toggleNode(node.id);
18
18
  };
19
- const Label = LabelComponent ? (LabelComponent === null || LabelComponent === void 0 ? void 0 : LabelComponent({ node, isLeaf: !children })) : (React.createElement("span", { tabIndex: !children ? 0 : -1, className: classnames(cssClasses[TREE_NODE_CSS_CLASSES.treeNodeTogglerLabel], TREE_NODE_CSS_CLASSES.treeNodeTogglerLabel) }, node.label ? node.label : node.id));
20
- const Content = ContentComponent ? (ContentComponent === null || ContentComponent === void 0 ? void 0 : ContentComponent({ node, toggleNode, isLeaf: !children })) : (React.createElement("button", { onClick: toggleNode, className: classnames(TREE_NODE_CSS_CLASSES.treeNodeToggler, cssClasses[TREE_NODE_CSS_CLASSES.treeNodeToggler]) },
21
- React.createElement("span", { className: classnames(cssClasses[TREE_NODE_CSS_CLASSES.treeNodeTogglerIcon], TREE_NODE_CSS_CLASSES.treeNodeTogglerIcon, {
22
- [TREE_NODE_CSS_CLASSES.treeNodeTogglerIconExpanded]: node.expanded,
23
- [cssClasses[TREE_NODE_CSS_CLASSES.treeNodeTogglerIconExpanded]]: node.expanded
24
- }) },
25
- React.createElement(IconListArrowDown, null)),
19
+ const Label = LabelComponent ? (LabelComponent === null || LabelComponent === void 0 ? void 0 : LabelComponent({ node, isLeaf: !children })) : (React.createElement("span", { tabIndex: !children ? 0 : -1, className: classnames(cssClasses[TREE_NODE_CSS_CLASSES.treeNodeLabelContent], TREE_NODE_CSS_CLASSES.treeNodeLabelContent) }, node.label ? node.label : node.id));
20
+ const Content = ContentComponent ? (ContentComponent === null || ContentComponent === void 0 ? void 0 : ContentComponent({ node, toggleNode, isLeaf: !children })) : (React.createElement("div", { className: classnames(TREE_NODE_CSS_CLASSES.treeNodeLabel, cssClasses[TREE_NODE_CSS_CLASSES.treeNodeLabel]) },
21
+ React.createElement("button", { className: classnames(TREE_NODE_CSS_CLASSES.treeNodeTogglerBtn, cssClasses[TREE_NODE_CSS_CLASSES.treeNodeTogglerBtn], {
22
+ [TREE_NODE_CSS_CLASSES.treeNodeTogglerBtnExpanded]: node.expanded,
23
+ [cssClasses[TREE_NODE_CSS_CLASSES.treeNodeTogglerBtnExpanded]]: node.expanded
24
+ }), onClick: toggleNode },
25
+ React.createElement("span", { className: classnames(cssClasses[TREE_NODE_CSS_CLASSES.treeNodeTogglerBtnIcon], TREE_NODE_CSS_CLASSES.treeNodeTogglerBtnIcon) },
26
+ React.createElement(IconListArrowDown, null))),
26
27
  Label));
27
28
  return (React.createElement("li", { role: "treeitem", "aria-expanded": node.expanded, className: classnames(cssClasses[TREE_NODE_CSS_CLASSES.treeNode], TREE_NODE_CSS_CLASSES.treeNode, cssClassNames, {
28
29
  [TREE_NODE_CSS_CLASSES.treeNodeExpanded]: node.expanded
@@ -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;"}
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;"}
@@ -4,10 +4,11 @@ export declare const TREE_CSS_CLASSES: {
4
4
  };
5
5
  export declare const TREE_NODE_CSS_CLASSES: {
6
6
  readonly treeNode: "tree-node";
7
- readonly treeNodeToggler: "tree-node__toggler";
8
- readonly treeNodeTogglerIcon: "tree-node__toggler-icon";
9
- readonly treeNodeTogglerIconExpanded: "tree-node__toggler-icon_expanded";
10
- readonly treeNodeTogglerLabel: "tree-node__toggler-label";
7
+ readonly treeNodeTogglerBtn: "tree-node__toggler-btn";
8
+ readonly treeNodeTogglerBtnExpanded: "tree-node__toggler-btn_expanded";
9
+ readonly treeNodeTogglerBtnIcon: "tree-node__toggler-btn-icon";
10
+ readonly treeNodeLabelContent: "tree-node__label-content";
11
+ readonly treeNodeLabel: "tree-node__label";
11
12
  readonly treeNodeChildren: "tree-node__children";
12
13
  readonly treeNodeChildrenEnter: "tree-node__children-enter";
13
14
  readonly treeNodeChildrenEnterActive: "tree-node__children-enter-active";
@@ -6,10 +6,11 @@ const TREE_CSS_CLASSES = {
6
6
  const treeNodeBaseCssClass = `tree-node`;
7
7
  const TREE_NODE_CSS_CLASSES = {
8
8
  treeNode: treeNodeBaseCssClass,
9
- treeNodeToggler: `${treeNodeBaseCssClass}__toggler`,
10
- treeNodeTogglerIcon: `${treeNodeBaseCssClass}__toggler-icon`,
11
- treeNodeTogglerIconExpanded: `${treeNodeBaseCssClass}__toggler-icon_expanded`,
12
- treeNodeTogglerLabel: `${treeNodeBaseCssClass}__toggler-label`,
9
+ treeNodeTogglerBtn: `${treeNodeBaseCssClass}__toggler-btn`,
10
+ treeNodeTogglerBtnExpanded: `${treeNodeBaseCssClass}__toggler-btn_expanded`,
11
+ treeNodeTogglerBtnIcon: `${treeNodeBaseCssClass}__toggler-btn-icon`,
12
+ treeNodeLabelContent: `${treeNodeBaseCssClass}__label-content`,
13
+ treeNodeLabel: `${treeNodeBaseCssClass}__label`,
13
14
  treeNodeChildren: `${treeNodeBaseCssClass}__children`,
14
15
  treeNodeChildrenEnter: `${treeNodeBaseCssClass}__children-enter`,
15
16
  treeNodeChildrenEnterActive: `${treeNodeBaseCssClass}__children-enter-active`,
@@ -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;"}
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;"}
@@ -1,6 +1,11 @@
1
- import { TPropsWithChildren } from "../../typings/general";
1
+ import React from 'react';
2
2
  declare type TTreeProps = {
3
3
  cssClassNames?: string;
4
+ cssStyles?: React.CSSProperties;
5
+ onMouseEnter?: (event: React.MouseEvent<HTMLUListElement, MouseEvent>) => void;
6
+ onMouseLeave?: (event: React.MouseEvent<HTMLUListElement, MouseEvent>) => void;
4
7
  };
5
- export declare const Tree: ({ children, cssClassNames }: TPropsWithChildren<TTreeProps>) => JSX.Element;
8
+ export declare const Tree: React.ForwardRefExoticComponent<TTreeProps & {
9
+ children?: React.ReactNode;
10
+ } & React.RefAttributes<HTMLUListElement>>;
6
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 }) => {
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", { 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;"}
@@ -3,7 +3,7 @@ import classnames from 'classnames';
3
3
  import { TYPOGRAPHY_CSS_CLASSES, TYPOGRAPHY_COMPONENTS_TYPES_TO_CSS_CLASSES_MAP, TYPOGRAPHY_TRANSFORM_TO_CSS_CLASSES_MAP, TYPOGRAPHY_WEIGHT_TO_CSS_CLASSES_MAP, TYPOGRAPHY_COLORS_TO_CSS_CLASSES_MAP } from './typography_constants.js';
4
4
  import typographyCssClasses from '../../css/typography/main.module.less.js';
5
5
 
6
- const Typography = ({ as = 'p', children, variant = 'h1', weight, transform, cssClasses, color, style }) => {
6
+ const Typography = ({ as = 'p', children, variant, weight, transform, cssClasses, color, style }) => {
7
7
  const typographyClasses = classnames(typographyCssClasses[TYPOGRAPHY_CSS_CLASSES.typography], as ? typographyCssClasses[TYPOGRAPHY_COMPONENTS_TYPES_TO_CSS_CLASSES_MAP[as]] : '', variant ? typographyCssClasses[TYPOGRAPHY_COMPONENTS_TYPES_TO_CSS_CLASSES_MAP[variant]] : '', transform ? typographyCssClasses[TYPOGRAPHY_TRANSFORM_TO_CSS_CLASSES_MAP[transform]] : '', weight ? typographyCssClasses[TYPOGRAPHY_WEIGHT_TO_CSS_CLASSES_MAP[weight]] : '', color ? typographyCssClasses[TYPOGRAPHY_COLORS_TO_CSS_CLASSES_MAP[color]] : '', cssClasses);
8
8
  return React.createElement(as, {
9
9
  className: typographyClasses,
@@ -14,8 +14,9 @@ const XhrImagePicker = ({ id, url, name, onUploaded, initialFile, errors, onErro
14
14
  ] }) => {
15
15
  const httpApi = useHttpApi();
16
16
  const pendingRequestRef = React.useRef();
17
- const handleControlChange = async (fileList) => {
18
- onChange === null || onChange === void 0 ? void 0 : onChange(fileList);
17
+ const handleControlChange = async (file) => {
18
+ const { fileList, fileAsDataUrl } = file;
19
+ onChange === null || onChange === void 0 ? void 0 : onChange({ fileList, fileAsDataUrl });
19
20
  if (!fileList || !fileList.length)
20
21
  return;
21
22
  if (pendingRequestRef.current) {
@@ -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;"}
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;"}
@@ -1,7 +1,7 @@
1
1
  import styleInject from '../../../../../external/style-inject/dist/style-inject.es.js';
2
2
 
3
- var css_248z = "/* font colors */\n/* actions */\n/* background */\n/* errors */\n/* borders */\n/* grid */\n/* scrollBar */\n/* sizes */\n.main-module_tree__3D4e3 {\n list-style: none;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.main-module_tree-node__1pkPL > .main-module_tree-node__toggler-label__3tpIn:focus-within {\n box-shadow: 0 0 3px 0 #3c83ec;\n outline: 1px solid #3c83ec;\n}\n.main-module_tree-node__toggler__Bhwx9 {\n display: flex;\n align-items: center;\n background: none;\n gap: 8px;\n width: 100%;\n}\n.main-module_tree-node__toggler__Bhwx9:focus-within {\n box-shadow: 0 0 3px 0 #3c83ec;\n outline: 1px solid #3c83ec;\n}\n.main-module_tree-node__toggler-icon__3QR9X {\n display: flex;\n align-items: center;\n}\n.main-module_tree-node__toggler-icon__3QR9X svg {\n transition: rotate 250ms ease-out;\n rotate: -95deg;\n}\n.main-module_tree-node__toggler-icon_expanded__31THq svg {\n rotate: 0deg;\n}\n.main-module_tree-node__children__QyEOR {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 8px;\n transform-origin: top center;\n transition: opacity 250ms ease-out, scale 250ms ease-out;\n padding-left: 16px;\n list-style: none;\n will-change: true;\n}\n.main-module_tree-node__children-enter__vxFO- {\n opacity: 0;\n scale: 1 0;\n}\n.main-module_tree-node__children-enter-active__T6XIS {\n opacity: 1;\n scale: 1 1;\n}\n.main-module_tree-node__children-exit__1NXHe {\n opacity: 1;\n scale: 1 1;\n}\n.main-module_tree-node__children-exit-active__vdqAI {\n opacity: 0;\n scale: 1 0;\n}\n";
4
- var cssClasses = {"tree":"main-module_tree__3D4e3","tree-node":"main-module_tree-node__1pkPL","tree-node__toggler-label":"main-module_tree-node__toggler-label__3tpIn","tree-node__toggler":"main-module_tree-node__toggler__Bhwx9","tree-node__toggler-icon":"main-module_tree-node__toggler-icon__3QR9X","tree-node__toggler-icon_expanded":"main-module_tree-node__toggler-icon_expanded__31THq","tree-node__children":"main-module_tree-node__children__QyEOR","tree-node__children-enter":"main-module_tree-node__children-enter__vxFO-","tree-node__children-enter-active":"main-module_tree-node__children-enter-active__T6XIS","tree-node__children-exit":"main-module_tree-node__children-exit__1NXHe","tree-node__children-exit-active":"main-module_tree-node__children-exit-active__vdqAI"};
3
+ var css_248z = ".main-module_tree__3D4e3 {\n list-style: none;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.main-module_tree-node__toggler-btn__s9KoL {\n display: flex;\n align-items: center;\n padding: 8px 12px 8px 0;\n cursor: pointer;\n}\n.main-module_tree-node__toggler-btn__s9KoL svg {\n transition: rotate 250ms ease-out;\n rotate: -95deg;\n}\n.main-module_tree-node__toggler-btn_expanded__17Joe svg {\n rotate: 0deg;\n}\n.main-module_tree-node__toggler-btn-icon__OA4tk {\n display: flex;\n}\n.main-module_tree-node__label__DT728 {\n display: flex;\n align-items: center;\n background: none;\n}\n.main-module_tree-node__children__QyEOR {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 8px;\n transform-origin: top center;\n transition: opacity 250ms ease-out, scale 250ms ease-out;\n padding-left: 16px;\n list-style: none;\n will-change: true;\n}\n.main-module_tree-node__children-enter__vxFO- {\n opacity: 0;\n scale: 1 0;\n}\n.main-module_tree-node__children-enter-active__T6XIS {\n opacity: 1;\n scale: 1 1;\n}\n.main-module_tree-node__children-exit__1NXHe {\n opacity: 1;\n scale: 1 1;\n}\n.main-module_tree-node__children-exit-active__vdqAI {\n opacity: 0;\n scale: 1 0;\n}\n";
4
+ var cssClasses = {"tree":"main-module_tree__3D4e3","tree-node__toggler-btn":"main-module_tree-node__toggler-btn__s9KoL","tree-node__toggler-btn_expanded":"main-module_tree-node__toggler-btn_expanded__17Joe","tree-node__toggler-btn-icon":"main-module_tree-node__toggler-btn-icon__OA4tk","tree-node__label":"main-module_tree-node__label__DT728","tree-node__children":"main-module_tree-node__children__QyEOR","tree-node__children-enter":"main-module_tree-node__children-enter__vxFO-","tree-node__children-enter-active":"main-module_tree-node__children-enter-active__T6XIS","tree-node__children-exit":"main-module_tree-node__children-exit__1NXHe","tree-node__children-exit-active":"main-module_tree-node__children-exit-active__vdqAI"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export default cssClasses;
@@ -107,13 +107,15 @@ import XhrImagePicker from "./components/xhr_image_picker";
107
107
  import ValuesSyncer from "./components/controls/components/values_syncer";
108
108
  import { Tree } from "./components/tree";
109
109
  import { TreeNode } from "./components/tree/components/tree_node";
110
+ import { ScrollSyncContainer } from "./components/scroll_sync/components/scroll_sync_container";
111
+ import { ScrollSync } from "./components/scroll_sync";
110
112
  /**
111
113
  * export hooks
112
114
  */
113
115
  /**
114
116
  * export components
115
117
  */
116
- export { Accordion, Button, Tooltip, ButtonsGroup, Dropdown, Select, MultiSelect, Label, Stack, Control, ControlInput, ControlCheckbox, ControlCheckboxSwitch, ControlRadio, ControlSelect, ControlRange, ControlMultiSelect, ControlTextarea, Gallery, Datepicker, ColorPicker, ControlColorPicker, ControlDatepicker, ControlFilePicker, ControlXhrImagePicker, Heading, Typography, Modal, ModalProvider, AbsoluteModal, RelativeModal, TabsWrapper, Tabs, TabsItem, TabsItemList, TabsPanel, TabsPanelList, SearchList, SearchListInput, SearchListResults, Tag, TagsSelector, ControlTagsSelector, Table, DataTable, Grid, DropdownContext, ModalContext, IconCalendar, Spacing, IconArrow, IconTick, FilePicker, ImagePicker, ControlCellSelector, Hint, ControlRadioGroup, MessageBox, FlashMessenger, useFlashMessenger, Loader, WithLoader, useDropdownContext, FlashMessengerContext, FlashMessagesList, Link, IconTablet, IconMobile, IconLaptop, IconDesktop, IconWarning, useToggle, useSearchList, Slide, SlideWrapper, SlideHeader, SlideSubHeader, SlideContent, SlideFooter, XhrImagePicker, ValuesSyncer, Tree, TreeNode };
118
+ export { Accordion, Button, Tooltip, ButtonsGroup, Dropdown, Select, MultiSelect, Label, Stack, Control, ControlInput, ControlCheckbox, ControlCheckboxSwitch, ControlRadio, ControlSelect, ControlRange, ControlMultiSelect, ControlTextarea, Gallery, Datepicker, ColorPicker, ControlColorPicker, ControlDatepicker, ControlFilePicker, ControlXhrImagePicker, Heading, Typography, Modal, ModalProvider, AbsoluteModal, RelativeModal, TabsWrapper, Tabs, TabsItem, TabsItemList, TabsPanel, TabsPanelList, SearchList, SearchListInput, SearchListResults, Tag, TagsSelector, ControlTagsSelector, Table, DataTable, Grid, DropdownContext, ModalContext, IconCalendar, Spacing, IconArrow, IconTick, FilePicker, ImagePicker, ControlCellSelector, Hint, ControlRadioGroup, MessageBox, FlashMessenger, useFlashMessenger, Loader, WithLoader, useDropdownContext, FlashMessengerContext, FlashMessagesList, Link, IconTablet, IconMobile, IconLaptop, IconDesktop, IconWarning, useToggle, useSearchList, Slide, SlideWrapper, SlideHeader, SlideSubHeader, SlideContent, SlideFooter, XhrImagePicker, ValuesSyncer, Tree, TreeNode, ScrollSyncContainer, ScrollSync };
117
119
  /**
118
120
  * export types
119
121
  */
@@ -79,4 +79,6 @@ export { default as WithLoader } from './components/with_loader/index.js';
79
79
  export { default as ValuesSyncer } from './components/controls/components/values_syncer.js';
80
80
  export { Tree } from './components/tree/index.js';
81
81
  export { TreeNode } from './components/tree/components/tree_node.js';
82
+ export { ScrollSyncContainer } from './components/scroll_sync/components/scroll_sync_container.js';
83
+ export { ScrollSync } from './components/scroll_sync/index.js';
82
84
  //# sourceMappingURL=index.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;"}
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;"}
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-9",
5
+ "version": "2.9.0",
6
6
  "description": "aurora",
7
7
  "author": "k0ssak",
8
8
  "license": "MIT",
@@ -44,7 +44,7 @@
44
44
  "update-visuals": "jest -c .config/jest/jest.config.visual.js --updateSnapshot"
45
45
  },
46
46
  "devDependencies": {
47
- "@dreamcommerce/utilities": "^1.10.0",
47
+ "@dreamcommerce/utilities": "^1.11.0",
48
48
  "@shoper/jest_config": "^0.0.0",
49
49
  "@shoper/tsconfig": "^0.0.0",
50
50
  "@storybook/react": "6.5.7",