@addev-be/ui 0.15.0 → 0.15.1

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 (215) 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 +134 -134
  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 +83 -77
  56. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +9 -9
  57. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -59
  58. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +182 -182
  59. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  60. package/src/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.tsx +38 -38
  61. package/src/components/data/DataGrid/DataGridEditableCell/DateEditableCell.tsx +39 -39
  62. package/src/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.tsx +68 -68
  63. package/src/components/data/DataGrid/DataGridEditableCell/TextEditableCell.tsx +38 -38
  64. package/src/components/data/DataGrid/DataGridEditableCell/index.tsx +106 -105
  65. package/src/components/data/DataGrid/DataGridEditableCell/styles.ts +35 -0
  66. package/src/components/data/DataGrid/DataGridEditableCell/types.ts +17 -15
  67. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +131 -131
  68. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +81 -81
  69. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +376 -376
  70. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +97 -97
  71. package/src/components/data/DataGrid/DataGridFooter.tsx +45 -45
  72. package/src/components/data/DataGrid/DataGridHeader.tsx +173 -173
  73. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +115 -115
  74. package/src/components/data/DataGrid/DataGridRowTemplate.tsx +80 -78
  75. package/src/components/data/DataGrid/FilterModalContent/index.tsx +136 -136
  76. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  77. package/src/components/data/DataGrid/constants.ts +6 -6
  78. package/src/components/data/DataGrid/helpers/columns.tsx +384 -384
  79. package/src/components/data/DataGrid/helpers/filters.ts +287 -287
  80. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  81. package/src/components/data/DataGrid/hooks/index.ts +29 -29
  82. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +378 -378
  83. package/src/components/data/DataGrid/hooks/useDataGridChangedRows.ts +56 -56
  84. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +174 -174
  85. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  86. package/src/components/data/DataGrid/index.tsx +110 -110
  87. package/src/components/data/DataGrid/styles.ts +369 -390
  88. package/src/components/data/DataGrid/types.ts +367 -367
  89. package/src/components/data/SmartQueryDataGrid/helpers/columns.tsx +333 -333
  90. package/src/components/data/SmartQueryDataGrid/helpers/hooks.ts +41 -41
  91. package/src/components/data/SmartQueryDataGrid/helpers/index.ts +2 -2
  92. package/src/components/data/SmartQueryDataGrid/helpers/smartQueries.ts +17 -17
  93. package/src/components/data/SmartQueryDataGrid/hooks.ts +75 -75
  94. package/src/components/data/SmartQueryDataGrid/index.tsx +338 -338
  95. package/src/components/data/SmartQueryDataGrid/types.ts +45 -45
  96. package/src/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.tsx +16 -16
  97. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +478 -407
  98. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  99. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  100. package/src/components/data/SqlRequestDataGrid/index.tsx +402 -402
  101. package/src/components/data/SqlRequestDataGrid/styles.ts +15 -15
  102. package/src/components/data/SqlRequestDataGrid/types.ts +74 -71
  103. package/src/components/data/SqlRequestForeignList/index.tsx +259 -201
  104. package/src/components/data/SqlRequestForeignList/styles.ts +42 -38
  105. package/src/components/data/SqlRequestForeignList/types.ts +34 -31
  106. package/src/components/data/SqlRequestGrid/filters/FiltersSidebar.tsx +110 -110
  107. package/src/components/data/SqlRequestGrid/filters/styles.ts +88 -88
  108. package/src/components/data/SqlRequestGrid/helpers/index.ts +1 -1
  109. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +16 -16
  110. package/src/components/data/SqlRequestGrid/index.tsx +316 -316
  111. package/src/components/data/SqlRequestGrid/styles.ts +20 -20
  112. package/src/components/data/SqlRequestGrid/types.ts +75 -75
  113. package/src/components/data/VirtualScroller/hooks.ts +71 -71
  114. package/src/components/data/VirtualScroller/index.tsx +91 -89
  115. package/src/components/data/VirtualScroller/styles.ts +58 -58
  116. package/src/components/data/VirtualScroller/types.ts +12 -12
  117. package/src/components/data/index.ts +23 -23
  118. package/src/components/forms/AutoTextArea.tsx +41 -41
  119. package/src/components/forms/Button.tsx +133 -133
  120. package/src/components/forms/Form/Checkbox.tsx +13 -13
  121. package/src/components/forms/Form/FormGroup.tsx +27 -27
  122. package/src/components/forms/Form/Input.tsx +13 -13
  123. package/src/components/forms/Form/InputWithLabel.tsx +18 -18
  124. package/src/components/forms/Form/Select.tsx +76 -67
  125. package/src/components/forms/Form/TextArea.tsx +13 -13
  126. package/src/components/forms/Form/index.tsx +37 -37
  127. package/src/components/forms/Form/styles.ts +101 -101
  128. package/src/components/forms/Form/types.ts +7 -7
  129. package/src/components/forms/IconButton.tsx +57 -57
  130. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  131. package/src/components/forms/Select.tsx +35 -35
  132. package/src/components/forms/VerticalLabel.tsx +20 -20
  133. package/src/components/forms/index.ts +8 -8
  134. package/src/components/forms/styles.ts +31 -31
  135. package/src/components/index.ts +6 -6
  136. package/src/components/layout/Columns.ts +20 -20
  137. package/src/components/layout/Dropdown/index.tsx +113 -113
  138. package/src/components/layout/Dropdown/styles.ts +45 -45
  139. package/src/components/layout/Grid/index.tsx +8 -8
  140. package/src/components/layout/Grid/styles.ts +34 -34
  141. package/src/components/layout/Loading/index.tsx +29 -29
  142. package/src/components/layout/Loading/styles.ts +29 -29
  143. package/src/components/layout/Masonry/index.tsx +29 -29
  144. package/src/components/layout/Masonry/styles.ts +20 -20
  145. package/src/components/layout/Modal/index.tsx +51 -51
  146. package/src/components/layout/Modal/styles.ts +121 -121
  147. package/src/components/layout/index.ts +6 -6
  148. package/src/components/search/HighlightedText.tsx +37 -37
  149. package/src/components/search/QuickSearchBar.tsx +86 -86
  150. package/src/components/search/QuickSearchResults.tsx +86 -86
  151. package/src/components/search/index.ts +9 -9
  152. package/src/components/search/styles.ts +96 -96
  153. package/src/components/search/types.ts +26 -26
  154. package/src/components/ui/Avatar/index.tsx +54 -54
  155. package/src/components/ui/Card/index.tsx +14 -14
  156. package/src/components/ui/Card/styles.ts +37 -37
  157. package/src/components/ui/ContextMenu/index.tsx +79 -79
  158. package/src/components/ui/ContextMenu/styles.ts +119 -119
  159. package/src/components/ui/Ellipsis.tsx +32 -0
  160. package/src/components/ui/Label.tsx +90 -90
  161. package/src/components/ui/Message/index.tsx +57 -57
  162. package/src/components/ui/Message/styles.ts +40 -40
  163. package/src/components/ui/index.ts +6 -5
  164. package/src/config/index.ts +14 -14
  165. package/src/helpers/dates.ts +17 -17
  166. package/src/helpers/getScrollbarSize.ts +14 -14
  167. package/src/helpers/index.ts +3 -3
  168. package/src/helpers/numbers.ts +63 -63
  169. package/src/helpers/text.ts +13 -13
  170. package/src/hooks/index.ts +3 -3
  171. package/src/hooks/useElementSize.ts +24 -24
  172. package/src/hooks/useShowArchived.ts +28 -28
  173. package/src/hooks/useWindowSize.ts +20 -20
  174. package/src/index.ts +9 -9
  175. package/src/providers/AuthenticationProvider/helpers.ts +3 -3
  176. package/src/providers/AuthenticationProvider/index.tsx +243 -243
  177. package/src/providers/LoadingProvider/index.tsx +47 -47
  178. package/src/providers/PortalsProvider/index.tsx +54 -54
  179. package/src/providers/PortalsProvider/styles.ts +31 -31
  180. package/src/providers/SettingsProvider/index.tsx +70 -70
  181. package/src/providers/ThemeProvider/ThemeProvider.ts +63 -63
  182. package/src/providers/ThemeProvider/defaultTheme.ts +457 -457
  183. package/src/providers/ThemeProvider/helpers.ts +11 -11
  184. package/src/providers/ThemeProvider/index.ts +4 -4
  185. package/src/providers/ThemeProvider/types.ts +131 -131
  186. package/src/providers/TrackingProvider/index.tsx +71 -71
  187. package/src/providers/UiProviders/index.tsx +68 -68
  188. package/src/providers/UiProviders/styles.ts +10 -10
  189. package/src/providers/hooks.ts +12 -12
  190. package/src/providers/index.ts +8 -8
  191. package/src/services/HttpService.ts +92 -92
  192. package/src/services/WebSocketService.ts +137 -137
  193. package/src/services/advancedRequests.ts +102 -102
  194. package/src/services/base.ts +23 -23
  195. package/src/services/globalSearch.ts +29 -29
  196. package/src/services/hooks.ts +44 -44
  197. package/src/services/index.ts +21 -21
  198. package/src/services/requests/auth.ts +44 -44
  199. package/src/services/requests/generic.ts +62 -62
  200. package/src/services/requests/tracking.ts +12 -12
  201. package/src/services/requests/userProfiles.ts +35 -35
  202. package/src/services/requests/users.ts +28 -28
  203. package/src/services/smartQueries.ts +122 -122
  204. package/src/services/sqlRequests.ts +111 -111
  205. package/src/services/types/auth.ts +131 -131
  206. package/src/services/types/base.ts +10 -10
  207. package/src/services/types/generic.ts +96 -96
  208. package/src/services/types/tracking.ts +39 -39
  209. package/src/services/types/userProfiles.ts +107 -107
  210. package/src/services/types/users.ts +106 -106
  211. package/src/services/updateSqlRequests.ts +34 -34
  212. package/src/styles/animations.scss +30 -30
  213. package/src/styles/index.scss +42 -42
  214. package/src/typings.d.ts +13 -13
  215. package/tsconfig.json +18 -18
@@ -1,11 +1,11 @@
1
- import { ThemeColorWithIntensity } from './types';
2
-
3
- export const getColor = (colorWithIntensity: ThemeColorWithIntensity) => {
4
- const [colorName] = colorWithIntensity.split('-');
5
- return colorName;
6
- };
7
-
8
- export const getIntensity = (colorWithIntensity: ThemeColorWithIntensity) => {
9
- const [, intensity] = colorWithIntensity.split('-');
10
- return intensity;
11
- };
1
+ import { ThemeColorWithIntensity } from './types';
2
+
3
+ export const getColor = (colorWithIntensity: ThemeColorWithIntensity) => {
4
+ const [colorName] = colorWithIntensity.split('-');
5
+ return colorName;
6
+ };
7
+
8
+ export const getIntensity = (colorWithIntensity: ThemeColorWithIntensity) => {
9
+ const [, intensity] = colorWithIntensity.split('-');
10
+ return intensity;
11
+ };
@@ -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';