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