@addev-be/ui 0.10.9 → 0.10.11

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 (177) hide show
  1. package/assets/icons/arrow-down-1-9.svg +1 -1
  2. package/assets/icons/arrow-down-a-z.svg +1 -1
  3. package/assets/icons/arrow-up-z-a.svg +1 -1
  4. package/assets/icons/check.svg +1 -1
  5. package/assets/icons/circle-check.svg +1 -1
  6. package/assets/icons/down.svg +1 -1
  7. package/assets/icons/filter-full.svg +1 -1
  8. package/assets/icons/filter.svg +1 -1
  9. package/assets/icons/hashtag.svg +1 -1
  10. package/assets/icons/image-slash.svg +1 -1
  11. package/assets/icons/left.svg +1 -1
  12. package/assets/icons/magnifier.svg +1 -1
  13. package/assets/icons/phone.svg +1 -1
  14. package/assets/icons/right.svg +1 -1
  15. package/assets/icons/sort-calendar-ascending.svg +5 -5
  16. package/assets/icons/spinner-third.svg +1 -1
  17. package/assets/icons/table-columns.svg +1 -1
  18. package/assets/icons/table-footer-slash.svg +4 -4
  19. package/assets/icons/table-footer.svg +3 -3
  20. package/assets/icons/up.svg +1 -1
  21. package/assets/icons/user-tie.svg +1 -1
  22. package/assets/icons/x-bar.svg +3 -3
  23. package/dist/components/auth/LoginForm.js +0 -1
  24. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +10 -0
  25. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +173 -0
  26. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +13 -0
  27. package/dist/components/data/DataGrid/FilterValuesScroller.js +73 -0
  28. package/dist/components/data/DataGrid/VirtualScroller.d.ts +11 -0
  29. package/dist/components/data/DataGrid/VirtualScroller.js +41 -0
  30. package/dist/components/data/DataGrid/helpers/advancedRequests.d.ts +12 -0
  31. package/dist/components/data/DataGrid/helpers/advancedRequests.js +53 -0
  32. package/dist/components/data/DataGrid/helpers.d.ts +28 -0
  33. package/dist/components/data/DataGrid/helpers.js +436 -0
  34. package/dist/config/types.d.ts +11 -0
  35. package/dist/config/types.js +2 -0
  36. package/dist/providers/AuthenticationProvider/index.d.ts +0 -1
  37. package/dist/providers/AuthenticationProvider/index.js +14 -28
  38. package/dist/services/advancedRequests.d.ts +1 -1
  39. package/dist/services/requests/userPermissions.d.ts +4 -0
  40. package/dist/services/requests/userPermissions.js +20 -0
  41. package/dist/services/sqlRequests.d.ts +1 -1
  42. package/package.json +1 -1
  43. package/src/Icons.tsx +128 -128
  44. package/src/components/auth/LoginForm.tsx +84 -84
  45. package/src/components/auth/LoginPage.tsx +32 -32
  46. package/src/components/auth/PasswordRecoveryForm.tsx +52 -52
  47. package/src/components/auth/PasswordResetForm.tsx +112 -112
  48. package/src/components/auth/index.ts +4 -4
  49. package/src/components/auth/styles.ts +14 -14
  50. package/src/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.ts +93 -93
  51. package/src/components/data/AdvancedRequestDataGrid/helpers/columns.tsx +262 -262
  52. package/src/components/data/AdvancedRequestDataGrid/helpers/index.ts +2 -2
  53. package/src/components/data/AdvancedRequestDataGrid/index.tsx +267 -267
  54. package/src/components/data/AdvancedRequestDataGrid/types.ts +47 -47
  55. package/src/components/data/DataGrid/DataGridCell.tsx +73 -73
  56. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +14 -14
  57. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -59
  58. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +181 -181
  59. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  60. package/src/components/data/DataGrid/DataGridEditableCell.tsx +43 -43
  61. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +120 -120
  62. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +75 -75
  63. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +378 -378
  64. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +97 -97
  65. package/src/components/data/DataGrid/DataGridFooter.tsx +42 -42
  66. package/src/components/data/DataGrid/DataGridHeader.tsx +126 -126
  67. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +132 -132
  68. package/src/components/data/DataGrid/DataGridRowTemplate.tsx +70 -70
  69. package/src/components/data/DataGrid/FilterModalContent/index.tsx +136 -136
  70. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  71. package/src/components/data/DataGrid/helpers/columns.tsx +319 -319
  72. package/src/components/data/DataGrid/helpers/filters.ts +287 -287
  73. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  74. package/src/components/data/DataGrid/hooks/index.ts +30 -30
  75. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +287 -287
  76. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +175 -175
  77. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  78. package/src/components/data/DataGrid/index.tsx +83 -83
  79. package/src/components/data/DataGrid/styles.ts +285 -285
  80. package/src/components/data/DataGrid/types.ts +276 -276
  81. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +306 -306
  82. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  83. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  84. package/src/components/data/SqlRequestDataGrid/index.tsx +385 -385
  85. package/src/components/data/SqlRequestDataGrid/types.ts +48 -48
  86. package/src/components/data/SqlRequestGrid/filters/FiltersSidebar.tsx +106 -106
  87. package/src/components/data/SqlRequestGrid/filters/styles.ts +88 -88
  88. package/src/components/data/SqlRequestGrid/helpers/index.ts +1 -1
  89. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +16 -16
  90. package/src/components/data/SqlRequestGrid/index.tsx +308 -308
  91. package/src/components/data/SqlRequestGrid/styles.ts +20 -20
  92. package/src/components/data/SqlRequestGrid/types.ts +53 -53
  93. package/src/components/data/VirtualScroller/hooks.ts +71 -71
  94. package/src/components/data/VirtualScroller/index.tsx +85 -85
  95. package/src/components/data/VirtualScroller/styles.ts +60 -60
  96. package/src/components/data/VirtualScroller/types.ts +12 -12
  97. package/src/components/data/index.ts +17 -17
  98. package/src/components/forms/AutoTextArea.tsx +41 -41
  99. package/src/components/forms/Button.tsx +133 -133
  100. package/src/components/forms/IconButton.tsx +57 -57
  101. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  102. package/src/components/forms/Select.tsx +40 -40
  103. package/src/components/forms/VerticalLabel.tsx +20 -20
  104. package/src/components/forms/index.ts +6 -6
  105. package/src/components/forms/styles.ts +31 -31
  106. package/src/components/index.ts +6 -6
  107. package/src/components/layout/Dropdown/index.tsx +112 -112
  108. package/src/components/layout/Dropdown/styles.ts +45 -45
  109. package/src/components/layout/Loading/index.tsx +29 -29
  110. package/src/components/layout/Loading/styles.ts +29 -29
  111. package/src/components/layout/Modal/index.tsx +51 -51
  112. package/src/components/layout/Modal/styles.ts +121 -121
  113. package/src/components/layout/index.ts +3 -3
  114. package/src/components/search/HighlightedText.tsx +37 -37
  115. package/src/components/search/QuickSearchBar.tsx +86 -86
  116. package/src/components/search/QuickSearchResults.tsx +86 -86
  117. package/src/components/search/index.ts +9 -9
  118. package/src/components/search/styles.ts +96 -96
  119. package/src/components/search/types.ts +26 -26
  120. package/src/components/ui/Avatar/index.tsx +54 -54
  121. package/src/components/ui/Card/index.tsx +14 -14
  122. package/src/components/ui/Card/styles.ts +37 -37
  123. package/src/components/ui/ContextMenu/index.tsx +79 -79
  124. package/src/components/ui/ContextMenu/styles.ts +119 -119
  125. package/src/components/ui/Label.tsx +90 -90
  126. package/src/components/ui/Message/index.tsx +57 -57
  127. package/src/components/ui/Message/styles.ts +40 -40
  128. package/src/components/ui/index.ts +5 -5
  129. package/src/config/index.ts +14 -14
  130. package/src/helpers/dates.ts +17 -17
  131. package/src/helpers/getScrollbarSize.ts +14 -14
  132. package/src/helpers/index.ts +3 -3
  133. package/src/helpers/numbers.ts +26 -26
  134. package/src/helpers/text.ts +13 -13
  135. package/src/hooks/index.ts +3 -3
  136. package/src/hooks/useElementSize.ts +24 -24
  137. package/src/hooks/useShowArchived.ts +11 -12
  138. package/src/hooks/useWindowSize.ts +20 -20
  139. package/src/index.ts +9 -9
  140. package/src/providers/AuthenticationProvider/helpers.ts +3 -3
  141. package/src/providers/AuthenticationProvider/index.tsx +240 -240
  142. package/src/providers/LoadingProvider/index.tsx +47 -47
  143. package/src/providers/PortalsProvider/index.tsx +54 -54
  144. package/src/providers/PortalsProvider/styles.ts +27 -27
  145. package/src/providers/SettingsProvider/index.tsx +70 -70
  146. package/src/providers/ThemeProvider/ThemeProvider.ts +63 -63
  147. package/src/providers/ThemeProvider/defaultTheme.ts +457 -457
  148. package/src/providers/ThemeProvider/index.ts +4 -4
  149. package/src/providers/ThemeProvider/types.ts +131 -131
  150. package/src/providers/TrackingProvider/index.tsx +71 -71
  151. package/src/providers/UiProviders/index.tsx +68 -68
  152. package/src/providers/UiProviders/styles.ts +10 -10
  153. package/src/providers/hooks.ts +12 -12
  154. package/src/providers/index.ts +8 -8
  155. package/src/services/HttpService.ts +92 -92
  156. package/src/services/WebSocketService.ts +137 -137
  157. package/src/services/advancedRequests.ts +102 -102
  158. package/src/services/base.ts +23 -23
  159. package/src/services/globalSearch.ts +29 -29
  160. package/src/services/hooks.ts +44 -44
  161. package/src/services/index.ts +17 -17
  162. package/src/services/requests/auth.ts +44 -44
  163. package/src/services/requests/generic.ts +62 -62
  164. package/src/services/requests/tracking.ts +12 -12
  165. package/src/services/requests/userProfiles.ts +35 -35
  166. package/src/services/requests/users.ts +28 -28
  167. package/src/services/sqlRequests.ts +111 -111
  168. package/src/services/types/auth.ts +131 -131
  169. package/src/services/types/base.ts +10 -10
  170. package/src/services/types/generic.ts +92 -92
  171. package/src/services/types/tracking.ts +39 -39
  172. package/src/services/types/userProfiles.ts +107 -107
  173. package/src/services/types/users.ts +106 -106
  174. package/src/styles/animations.scss +30 -30
  175. package/src/styles/index.scss +42 -42
  176. package/src/typings.d.ts +13 -13
  177. package/tsconfig.json +18 -18
@@ -1,4 +1,4 @@
1
- export { ThemeProvider } from './ThemeProvider';
2
-
3
- export * from './types';
4
- export { defaultTheme } from './defaultTheme';
1
+ export { ThemeProvider } from './ThemeProvider';
2
+
3
+ export * from './types';
4
+ export { defaultTheme } from './defaultTheme';
@@ -1,131 +1,131 @@
1
- import { DeepPartial } from '../../typings';
2
-
3
- export type ThemeColorIntensity =
4
- | 0
5
- | 50
6
- | 100
7
- | 200
8
- | 300
9
- | 400
10
- | 500
11
- | 600
12
- | 700
13
- | 800
14
- | 900
15
- | 950
16
- | 1000;
17
- export type ThemeColorDefinition = Record<ThemeColorIntensity, string>;
18
- export type ThemeRawColor =
19
- | 'slate'
20
- | 'gray'
21
- | 'zinc'
22
- | 'neutral'
23
- | 'stone'
24
- | 'red'
25
- | 'orange'
26
- | 'amber'
27
- | 'yellow'
28
- | 'lime'
29
- | 'green'
30
- | 'emerald'
31
- | 'teal'
32
- | 'cyan'
33
- | 'sky'
34
- | 'blue'
35
- | 'indigo'
36
- | 'violet'
37
- | 'purple'
38
- | 'fuchsia'
39
- | 'pink'
40
- | 'rose';
41
- export type ThemePredefinedColor =
42
- | 'primary'
43
- | 'secondary'
44
- | 'neutral'
45
- | 'success'
46
- | 'warning'
47
- | 'danger'
48
- | 'info';
49
- export type ThemeColor = ThemeRawColor | ThemePredefinedColor;
50
- export type ThemeColorReference = ThemeColor | ThemeColorDefinition;
51
- export type ThemeColorWithIntensity = `${ThemeColor}-${ThemeColorIntensity}`;
52
-
53
- export type ThemeTextSize =
54
- | 'xs'
55
- | 'sm'
56
- | 'base'
57
- | 'lg'
58
- | 'xl'
59
- | '2xl'
60
- | '3xl'
61
- | '4xl'
62
- | '5xl'
63
- | '6xl';
64
- export type ThemeFontFamily = 'sans' | 'serif' | 'mono';
65
- export type ThemeFontWeight = 'light' | 'normal' | 'bold';
66
- export type ThemeSpace =
67
- | '0'
68
- | '0_5'
69
- | '1'
70
- | '1_5'
71
- | '2'
72
- | '3'
73
- | '4'
74
- | '5'
75
- | '6'
76
- | '8'
77
- | '10'
78
- | '12'
79
- | '14'
80
- | '16'
81
- | '20'
82
- | '24'
83
- | '32'
84
- | '40'
85
- | '48'
86
- | '56'
87
- | '64'
88
- | '72'
89
- | '80'
90
- | '96'
91
- | '128';
92
- export type ThemeSize =
93
- | '0'
94
- | '0_5'
95
- | '1'
96
- | '1_5'
97
- | '2'
98
- | '3'
99
- | '4'
100
- | '5'
101
- | '6'
102
- | '8'
103
- | '10'
104
- | '12'
105
- | '16'
106
- | '20'
107
- | '24'
108
- | '32'
109
- | '40'
110
- | '48';
111
- export type ThemeRounded =
112
- | 'none'
113
- | 'sm'
114
- | 'md'
115
- | 'lg'
116
- | 'xl'
117
- | '2xl'
118
- | '3xl'
119
- | 'full';
120
- export type ThemeShadow = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
121
-
122
- export type Theme = DeepPartial<{
123
- colors: Record<ThemeColor, ThemeColorReference>;
124
- texts: Record<ThemeTextSize, string>;
125
- fonts: Record<ThemeFontFamily, string>;
126
- weights: Record<ThemeFontWeight, string>;
127
- spaces: Record<ThemeSpace, string>;
128
- sizes: Record<ThemeSpace, string>;
129
- rounded: Record<ThemeRounded, string>;
130
- shadows: Record<ThemeShadow, string>;
131
- }>;
1
+ import { DeepPartial } from '../../typings';
2
+
3
+ export type ThemeColorIntensity =
4
+ | 0
5
+ | 50
6
+ | 100
7
+ | 200
8
+ | 300
9
+ | 400
10
+ | 500
11
+ | 600
12
+ | 700
13
+ | 800
14
+ | 900
15
+ | 950
16
+ | 1000;
17
+ export type ThemeColorDefinition = Record<ThemeColorIntensity, string>;
18
+ export type ThemeRawColor =
19
+ | 'slate'
20
+ | 'gray'
21
+ | 'zinc'
22
+ | 'neutral'
23
+ | 'stone'
24
+ | 'red'
25
+ | 'orange'
26
+ | 'amber'
27
+ | 'yellow'
28
+ | 'lime'
29
+ | 'green'
30
+ | 'emerald'
31
+ | 'teal'
32
+ | 'cyan'
33
+ | 'sky'
34
+ | 'blue'
35
+ | 'indigo'
36
+ | 'violet'
37
+ | 'purple'
38
+ | 'fuchsia'
39
+ | 'pink'
40
+ | 'rose';
41
+ export type ThemePredefinedColor =
42
+ | 'primary'
43
+ | 'secondary'
44
+ | 'neutral'
45
+ | 'success'
46
+ | 'warning'
47
+ | 'danger'
48
+ | 'info';
49
+ export type ThemeColor = ThemeRawColor | ThemePredefinedColor;
50
+ export type ThemeColorReference = ThemeColor | ThemeColorDefinition;
51
+ export type ThemeColorWithIntensity = `${ThemeColor}-${ThemeColorIntensity}`;
52
+
53
+ export type ThemeTextSize =
54
+ | 'xs'
55
+ | 'sm'
56
+ | 'base'
57
+ | 'lg'
58
+ | 'xl'
59
+ | '2xl'
60
+ | '3xl'
61
+ | '4xl'
62
+ | '5xl'
63
+ | '6xl';
64
+ export type ThemeFontFamily = 'sans' | 'serif' | 'mono';
65
+ export type ThemeFontWeight = 'light' | 'normal' | 'bold';
66
+ export type ThemeSpace =
67
+ | '0'
68
+ | '0_5'
69
+ | '1'
70
+ | '1_5'
71
+ | '2'
72
+ | '3'
73
+ | '4'
74
+ | '5'
75
+ | '6'
76
+ | '8'
77
+ | '10'
78
+ | '12'
79
+ | '14'
80
+ | '16'
81
+ | '20'
82
+ | '24'
83
+ | '32'
84
+ | '40'
85
+ | '48'
86
+ | '56'
87
+ | '64'
88
+ | '72'
89
+ | '80'
90
+ | '96'
91
+ | '128';
92
+ export type ThemeSize =
93
+ | '0'
94
+ | '0_5'
95
+ | '1'
96
+ | '1_5'
97
+ | '2'
98
+ | '3'
99
+ | '4'
100
+ | '5'
101
+ | '6'
102
+ | '8'
103
+ | '10'
104
+ | '12'
105
+ | '16'
106
+ | '20'
107
+ | '24'
108
+ | '32'
109
+ | '40'
110
+ | '48';
111
+ export type ThemeRounded =
112
+ | 'none'
113
+ | 'sm'
114
+ | 'md'
115
+ | 'lg'
116
+ | 'xl'
117
+ | '2xl'
118
+ | '3xl'
119
+ | 'full';
120
+ export type ThemeShadow = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
121
+
122
+ export type Theme = DeepPartial<{
123
+ colors: Record<ThemeColor, ThemeColorReference>;
124
+ texts: Record<ThemeTextSize, string>;
125
+ fonts: Record<ThemeFontFamily, string>;
126
+ weights: Record<ThemeFontWeight, string>;
127
+ spaces: Record<ThemeSpace, string>;
128
+ sizes: Record<ThemeSpace, string>;
129
+ rounded: Record<ThemeRounded, string>;
130
+ shadows: Record<ThemeShadow, string>;
131
+ }>;
@@ -1,71 +1,71 @@
1
- import {
2
- FC,
3
- PropsWithChildren,
4
- createContext,
5
- useCallback,
6
- useMemo,
7
- useState,
8
- } from 'react';
9
-
10
- import { useSendTrackingEventRequestHandler } from '../../services';
11
-
12
- export type TrackingContextType = {
13
- sendEvent: (
14
- name: string,
15
- details?: Record<string, string | number | boolean | null>
16
- ) => void;
17
- enableTracking: () => void;
18
- disableTracking: () => void;
19
- };
20
-
21
- export const TrackingContext = createContext<TrackingContextType>({
22
- sendEvent: () => {},
23
- enableTracking: () => {},
24
- disableTracking: () => {},
25
- });
26
-
27
- export const TrackingProvider: FC<PropsWithChildren> = ({ children }) => {
28
- const [trackingEnabled, setTrackingEnabled] = useState(true);
29
- const sendTrackingEvent = useSendTrackingEventRequestHandler();
30
-
31
- const sendEvent = useCallback(
32
- (
33
- name: string,
34
- details: Record<string, string | number | boolean | null> = {}
35
- ) => {
36
- if (trackingEnabled) {
37
- sendTrackingEvent({
38
- data: {
39
- id: '',
40
- name,
41
- details,
42
- },
43
- });
44
- }
45
- },
46
- [sendTrackingEvent, trackingEnabled]
47
- );
48
-
49
- const enableTracking = useCallback(() => {
50
- setTrackingEnabled(true);
51
- }, []);
52
-
53
- const disableTracking = useCallback(() => {
54
- setTrackingEnabled(false);
55
- }, []);
56
-
57
- const value = useMemo(
58
- () => ({
59
- sendEvent,
60
- enableTracking,
61
- disableTracking,
62
- }),
63
- [disableTracking, enableTracking, sendEvent]
64
- );
65
-
66
- return (
67
- <TrackingContext.Provider value={value}>
68
- {children}
69
- </TrackingContext.Provider>
70
- );
71
- };
1
+ import {
2
+ FC,
3
+ PropsWithChildren,
4
+ createContext,
5
+ useCallback,
6
+ useMemo,
7
+ useState,
8
+ } from 'react';
9
+
10
+ import { useSendTrackingEventRequestHandler } from '../../services';
11
+
12
+ export type TrackingContextType = {
13
+ sendEvent: (
14
+ name: string,
15
+ details?: Record<string, string | number | boolean | null>
16
+ ) => void;
17
+ enableTracking: () => void;
18
+ disableTracking: () => void;
19
+ };
20
+
21
+ export const TrackingContext = createContext<TrackingContextType>({
22
+ sendEvent: () => {},
23
+ enableTracking: () => {},
24
+ disableTracking: () => {},
25
+ });
26
+
27
+ export const TrackingProvider: FC<PropsWithChildren> = ({ children }) => {
28
+ const [trackingEnabled, setTrackingEnabled] = useState(true);
29
+ const sendTrackingEvent = useSendTrackingEventRequestHandler();
30
+
31
+ const sendEvent = useCallback(
32
+ (
33
+ name: string,
34
+ details: Record<string, string | number | boolean | null> = {}
35
+ ) => {
36
+ if (trackingEnabled) {
37
+ sendTrackingEvent({
38
+ data: {
39
+ id: '',
40
+ name,
41
+ details,
42
+ },
43
+ });
44
+ }
45
+ },
46
+ [sendTrackingEvent, trackingEnabled]
47
+ );
48
+
49
+ const enableTracking = useCallback(() => {
50
+ setTrackingEnabled(true);
51
+ }, []);
52
+
53
+ const disableTracking = useCallback(() => {
54
+ setTrackingEnabled(false);
55
+ }, []);
56
+
57
+ const value = useMemo(
58
+ () => ({
59
+ sendEvent,
60
+ enableTracking,
61
+ disableTracking,
62
+ }),
63
+ [disableTracking, enableTracking, sendEvent]
64
+ );
65
+
66
+ return (
67
+ <TrackingContext.Provider value={value}>
68
+ {children}
69
+ </TrackingContext.Provider>
70
+ );
71
+ };
@@ -1,68 +1,68 @@
1
- import '../../styles/index.scss';
2
- import '../../styles/animations.scss';
3
-
4
- import * as styles from './styles';
5
-
6
- import {
7
- FC,
8
- PropsWithChildren,
9
- createContext,
10
- useCallback,
11
- useMemo,
12
- useRef,
13
- } from 'react';
14
-
15
- import { PortalsProvider } from '../PortalsProvider';
16
- import { SettingsProvider } from '../SettingsProvider';
17
- import { ThemeProvider } from '../ThemeProvider/ThemeProvider';
18
- import { TrackingProvider } from '../TrackingProvider';
19
- import { defaultTheme } from '../ThemeProvider/defaultTheme';
20
-
21
- export type UiProvidersProps = PropsWithChildren<{
22
- $darkMode?: boolean;
23
- }>;
24
-
25
- export type UiContextType = {
26
- rootRect: DOMRect;
27
- getElementScreenRect: (element: HTMLElement) => DOMRect;
28
- };
29
-
30
- export const UiContext = createContext<UiContextType>({
31
- rootRect: new DOMRect(),
32
- getElementScreenRect: () => new DOMRect(),
33
- });
34
-
35
- export const UiProviders: FC<UiProvidersProps> = ({ $darkMode, children }) => {
36
- const rootRef = useRef<HTMLDivElement | null>(null);
37
-
38
- const getElementScreenRect = useCallback((element: HTMLElement) => {
39
- const rootRect = rootRef.current?.getBoundingClientRect();
40
- const rect = element.getBoundingClientRect();
41
- rect.x -= (rootRect?.x ?? 0) + window.scrollX;
42
- rect.y -= (rootRect?.y ?? 0) + window.scrollY;
43
- return rect;
44
- }, []);
45
-
46
- const value = useMemo(
47
- () => ({
48
- rootRect: rootRef.current?.getBoundingClientRect() ?? new DOMRect(),
49
- getElementScreenRect,
50
- }),
51
- // eslint-disable-next-line react-hooks/exhaustive-deps
52
- [rootRef.current]
53
- );
54
-
55
- return (
56
- <ThemeProvider $theme={defaultTheme} $darkMode={$darkMode}>
57
- <UiContext.Provider value={value}>
58
- <styles.Root ref={rootRef}>
59
- <SettingsProvider>
60
- <TrackingProvider>
61
- <PortalsProvider>{children}</PortalsProvider>
62
- </TrackingProvider>
63
- </SettingsProvider>
64
- </styles.Root>
65
- </UiContext.Provider>
66
- </ThemeProvider>
67
- );
68
- };
1
+ import '../../styles/index.scss';
2
+ import '../../styles/animations.scss';
3
+
4
+ import * as styles from './styles';
5
+
6
+ import {
7
+ FC,
8
+ PropsWithChildren,
9
+ createContext,
10
+ useCallback,
11
+ useMemo,
12
+ useRef,
13
+ } from 'react';
14
+
15
+ import { PortalsProvider } from '../PortalsProvider';
16
+ import { SettingsProvider } from '../SettingsProvider';
17
+ import { ThemeProvider } from '../ThemeProvider/ThemeProvider';
18
+ import { TrackingProvider } from '../TrackingProvider';
19
+ import { defaultTheme } from '../ThemeProvider/defaultTheme';
20
+
21
+ export type UiProvidersProps = PropsWithChildren<{
22
+ $darkMode?: boolean;
23
+ }>;
24
+
25
+ export type UiContextType = {
26
+ rootRect: DOMRect;
27
+ getElementScreenRect: (element: HTMLElement) => DOMRect;
28
+ };
29
+
30
+ export const UiContext = createContext<UiContextType>({
31
+ rootRect: new DOMRect(),
32
+ getElementScreenRect: () => new DOMRect(),
33
+ });
34
+
35
+ export const UiProviders: FC<UiProvidersProps> = ({ $darkMode, children }) => {
36
+ const rootRef = useRef<HTMLDivElement | null>(null);
37
+
38
+ const getElementScreenRect = useCallback((element: HTMLElement) => {
39
+ const rootRect = rootRef.current?.getBoundingClientRect();
40
+ const rect = element.getBoundingClientRect();
41
+ rect.x -= (rootRect?.x ?? 0) + window.scrollX;
42
+ rect.y -= (rootRect?.y ?? 0) + window.scrollY;
43
+ return rect;
44
+ }, []);
45
+
46
+ const value = useMemo(
47
+ () => ({
48
+ rootRect: rootRef.current?.getBoundingClientRect() ?? new DOMRect(),
49
+ getElementScreenRect,
50
+ }),
51
+ // eslint-disable-next-line react-hooks/exhaustive-deps
52
+ [rootRef.current]
53
+ );
54
+
55
+ return (
56
+ <ThemeProvider $theme={defaultTheme} $darkMode={$darkMode}>
57
+ <UiContext.Provider value={value}>
58
+ <styles.Root ref={rootRef}>
59
+ <SettingsProvider>
60
+ <TrackingProvider>
61
+ <PortalsProvider>{children}</PortalsProvider>
62
+ </TrackingProvider>
63
+ </SettingsProvider>
64
+ </styles.Root>
65
+ </UiContext.Provider>
66
+ </ThemeProvider>
67
+ );
68
+ };
@@ -1,10 +1,10 @@
1
- import styled from 'styled-components';
2
-
3
- export const Root = styled.div.attrs({ className: 'Root' })`
4
- position: relative;
5
- font-family: var(--font-sans);
6
- font-size: var(--text-base);
7
- color: var(--color-neutral-900);
8
- width: 100%;
9
- height: 100%;
10
- `;
1
+ import styled from 'styled-components';
2
+
3
+ export const Root = styled.div.attrs({ className: 'Root' })`
4
+ position: relative;
5
+ font-family: var(--font-sans);
6
+ font-size: var(--text-base);
7
+ color: var(--color-neutral-900);
8
+ width: 100%;
9
+ height: 100%;
10
+ `;
@@ -1,12 +1,12 @@
1
- import { AuthenticationContext } from './AuthenticationProvider';
2
- import { LoadingContext } from './LoadingProvider';
3
- import { PortalsContext } from './PortalsProvider';
4
- import { SettingsContext } from './SettingsProvider';
5
- import { UiContext } from './UiProviders';
6
- import { useContext } from 'react';
7
-
8
- export const useAuthentication = () => useContext(AuthenticationContext);
9
- export const useLoading = () => useContext(LoadingContext);
10
- export const usePortals = () => useContext(PortalsContext);
11
- export const useSettings = () => useContext(SettingsContext);
12
- export const useUi = () => useContext(UiContext);
1
+ import { AuthenticationContext } from './AuthenticationProvider';
2
+ import { LoadingContext } from './LoadingProvider';
3
+ import { PortalsContext } from './PortalsProvider';
4
+ import { SettingsContext } from './SettingsProvider';
5
+ import { UiContext } from './UiProviders';
6
+ import { useContext } from 'react';
7
+
8
+ export const useAuthentication = () => useContext(AuthenticationContext);
9
+ export const useLoading = () => useContext(LoadingContext);
10
+ export const usePortals = () => useContext(PortalsContext);
11
+ export const useSettings = () => useContext(SettingsContext);
12
+ export const useUi = () => useContext(UiContext);
@@ -1,8 +1,8 @@
1
- export * from './AuthenticationProvider';
2
- export * from './PortalsProvider';
3
- export * from './ThemeProvider';
4
- export * from './TrackingProvider';
5
- export * from './UiProviders';
6
-
7
- export * from './TrackingProvider/hooks';
8
- export * from './hooks';
1
+ export * from './AuthenticationProvider';
2
+ export * from './PortalsProvider';
3
+ export * from './ThemeProvider';
4
+ export * from './TrackingProvider';
5
+ export * from './UiProviders';
6
+
7
+ export * from './TrackingProvider/hooks';
8
+ export * from './hooks';