@addev-be/ui 0.16.7 → 0.16.8

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 (263) 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/table.svg +1 -1
  21. package/assets/icons/up.svg +1 -1
  22. package/assets/icons/user-tie.svg +1 -1
  23. package/assets/icons/x-bar.svg +3 -3
  24. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +14 -0
  25. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +77 -0
  26. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +22 -0
  27. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +105 -0
  28. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +2 -0
  29. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.js +18 -0
  30. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +2 -0
  31. package/dist/components/data/AdvancedRequestDataGrid/index.js +215 -0
  32. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +21 -0
  33. package/dist/components/data/AdvancedRequestDataGrid/types.js +2 -0
  34. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +10 -0
  35. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +173 -0
  36. package/dist/components/data/DataGrid/DataGridEditableCell.d.ts +2 -0
  37. package/dist/components/data/DataGrid/DataGridEditableCell.js +27 -0
  38. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +13 -0
  39. package/dist/components/data/DataGrid/FilterValuesScroller.js +73 -0
  40. package/dist/components/data/DataGrid/VirtualScroller.d.ts +11 -0
  41. package/dist/components/data/DataGrid/VirtualScroller.js +41 -0
  42. package/dist/components/data/DataGrid/helpers/advancedRequests.d.ts +12 -0
  43. package/dist/components/data/DataGrid/helpers/advancedRequests.js +53 -0
  44. package/dist/components/data/DataGrid/helpers.d.ts +28 -0
  45. package/dist/components/data/DataGrid/helpers.js +436 -0
  46. package/dist/components/data/DataGrid/styles.d.ts +1 -1
  47. package/dist/components/data/DataGrid/styles.js +4 -4
  48. package/dist/components/data/SmartQueryDataGrid/helpers/columns.d.ts +20 -0
  49. package/dist/components/data/SmartQueryDataGrid/helpers/columns.js +160 -0
  50. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.d.ts +5 -0
  51. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.js +41 -0
  52. package/dist/components/data/SmartQueryDataGrid/helpers/index.d.ts +2 -0
  53. package/dist/components/data/SmartQueryDataGrid/helpers/index.js +18 -0
  54. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.d.ts +3 -0
  55. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.js +15 -0
  56. package/dist/components/data/SmartQueryDataGrid/hooks.d.ts +9 -0
  57. package/dist/components/data/SmartQueryDataGrid/hooks.js +63 -0
  58. package/dist/components/data/SmartQueryDataGrid/index.d.ts +12 -0
  59. package/dist/components/data/SmartQueryDataGrid/index.js +242 -0
  60. package/dist/components/data/SmartQueryDataGrid/types.d.ts +22 -0
  61. package/dist/components/data/SmartQueryDataGrid/types.js +2 -0
  62. package/dist/components/forms/Form/Checkbox.d.ts +2 -2
  63. package/dist/components/forms/Form/Checkbox.js +2 -2
  64. package/dist/components/forms/Form/Input.d.ts +2 -2
  65. package/dist/components/forms/Form/Input.js +2 -3
  66. package/dist/components/forms/Form/InputWithLabel.d.ts +2 -0
  67. package/dist/components/forms/Form/InputWithLabel.js +10 -0
  68. package/dist/components/forms/Form/Select.d.ts +0 -1
  69. package/dist/components/forms/Form/Select.js +4 -5
  70. package/dist/components/forms/Form/TextArea.d.ts +2 -2
  71. package/dist/components/forms/Form/TextArea.js +2 -3
  72. package/dist/components/forms/Form/index.d.ts +8 -22
  73. package/dist/components/forms/Form/index.js +1 -6
  74. package/dist/components/forms/Form/styles.d.ts +4 -9
  75. package/dist/components/forms/Form/styles.js +11 -13
  76. package/dist/components/forms/Form/types.d.ts +7 -0
  77. package/dist/components/forms/Form/types.js +2 -0
  78. package/dist/components/forms/index.d.ts +1 -2
  79. package/dist/components/forms/index.js +1 -2
  80. package/dist/config/types.d.ts +11 -0
  81. package/dist/config/types.js +2 -0
  82. package/dist/hooks/index.d.ts +0 -1
  83. package/dist/hooks/index.js +0 -1
  84. package/dist/services/requests/userPermissions.d.ts +4 -0
  85. package/dist/services/requests/userPermissions.js +20 -0
  86. package/package.json +1 -1
  87. package/src/Icons.tsx +134 -134
  88. package/src/components/auth/LoginForm.tsx +84 -84
  89. package/src/components/auth/LoginPage.tsx +32 -32
  90. package/src/components/auth/PasswordRecoveryForm.tsx +52 -52
  91. package/src/components/auth/PasswordResetForm.tsx +112 -112
  92. package/src/components/auth/index.ts +4 -4
  93. package/src/components/auth/styles.ts +14 -14
  94. package/src/components/data/DataGrid/DataGridCell.tsx +77 -77
  95. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +9 -9
  96. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -59
  97. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +182 -182
  98. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  99. package/src/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.tsx +38 -38
  100. package/src/components/data/DataGrid/DataGridEditableCell/DateEditableCell.tsx +39 -39
  101. package/src/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.tsx +68 -68
  102. package/src/components/data/DataGrid/DataGridEditableCell/TextEditableCell.tsx +38 -38
  103. package/src/components/data/DataGrid/DataGridEditableCell/index.tsx +106 -108
  104. package/src/components/data/DataGrid/DataGridEditableCell/styles.ts +35 -35
  105. package/src/components/data/DataGrid/DataGridEditableCell/types.ts +19 -19
  106. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +131 -131
  107. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +81 -81
  108. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +376 -376
  109. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +97 -97
  110. package/src/components/data/DataGrid/DataGridFooter.tsx +45 -45
  111. package/src/components/data/DataGrid/DataGridHeader.tsx +185 -173
  112. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +111 -111
  113. package/src/components/data/DataGrid/DataGridRowTemplate.tsx +82 -80
  114. package/src/components/data/DataGrid/FilterModalContent/index.tsx +136 -136
  115. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  116. package/src/components/data/DataGrid/constants.ts +6 -6
  117. package/src/components/data/DataGrid/helpers/columns.tsx +386 -386
  118. package/src/components/data/DataGrid/helpers/filters.ts +287 -287
  119. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  120. package/src/components/data/DataGrid/hooks/index.ts +29 -29
  121. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +377 -377
  122. package/src/components/data/DataGrid/hooks/useDataGridChangedRows.ts +89 -56
  123. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +174 -174
  124. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  125. package/src/components/data/DataGrid/hooks/useRefreshModal.tsx +48 -0
  126. package/src/components/data/DataGrid/index.tsx +110 -110
  127. package/src/components/data/DataGrid/styles.ts +379 -379
  128. package/src/components/data/DataGrid/types.ts +367 -367
  129. package/src/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.tsx +16 -16
  130. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +481 -480
  131. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  132. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  133. package/src/components/data/SqlRequestDataGrid/index.tsx +402 -402
  134. package/src/components/data/SqlRequestDataGrid/styles.ts +15 -15
  135. package/src/components/data/SqlRequestDataGrid/types.ts +74 -74
  136. package/src/components/data/SqlRequestForeignList/index.tsx +259 -259
  137. package/src/components/data/SqlRequestForeignList/styles.ts +43 -43
  138. package/src/components/data/SqlRequestForeignList/types.ts +34 -34
  139. package/src/components/data/SqlRequestGrid/filters/FiltersSidebar.tsx +110 -110
  140. package/src/components/data/SqlRequestGrid/filters/styles.ts +88 -88
  141. package/src/components/data/SqlRequestGrid/helpers/index.ts +1 -1
  142. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +16 -16
  143. package/src/components/data/SqlRequestGrid/index.tsx +316 -316
  144. package/src/components/data/SqlRequestGrid/styles.ts +20 -20
  145. package/src/components/data/SqlRequestGrid/types.ts +75 -75
  146. package/src/components/data/VirtualScroller/hooks.ts +71 -71
  147. package/src/components/data/VirtualScroller/index.tsx +91 -91
  148. package/src/components/data/VirtualScroller/styles.ts +58 -58
  149. package/src/components/data/VirtualScroller/types.ts +12 -12
  150. package/src/components/data/index.ts +16 -16
  151. package/src/components/forms/AutoTextArea.tsx +41 -41
  152. package/src/components/forms/Button.tsx +133 -133
  153. package/src/components/forms/Form/Checkbox.tsx +12 -12
  154. package/src/components/forms/Form/FormGroup.tsx +27 -27
  155. package/src/components/forms/Form/Input.tsx +16 -16
  156. package/src/components/forms/Form/Row.tsx +32 -32
  157. package/src/components/forms/Form/Select.tsx +81 -81
  158. package/src/components/forms/Form/TextArea.tsx +17 -17
  159. package/src/components/forms/Form/index.tsx +45 -45
  160. package/src/components/forms/Form/styles.ts +171 -171
  161. package/src/components/forms/IconButton.tsx +57 -57
  162. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  163. package/src/components/forms/NumberInput.tsx +53 -53
  164. package/src/components/forms/Select.tsx +35 -35
  165. package/src/components/forms/VerticalLabel.tsx +20 -20
  166. package/src/components/forms/index.ts +9 -9
  167. package/src/components/forms/styles.ts +31 -31
  168. package/src/components/index.ts +6 -6
  169. package/src/components/layout/Columns.ts +20 -20
  170. package/src/components/layout/Dropdown/index.tsx +113 -113
  171. package/src/components/layout/Dropdown/styles.ts +45 -45
  172. package/src/components/layout/Grid/index.tsx +8 -8
  173. package/src/components/layout/Grid/styles.ts +34 -34
  174. package/src/components/layout/Loading/index.tsx +29 -29
  175. package/src/components/layout/Loading/styles.ts +29 -29
  176. package/src/components/layout/Masonry/index.tsx +29 -29
  177. package/src/components/layout/Masonry/styles.ts +20 -20
  178. package/src/components/layout/Modal/index.tsx +51 -51
  179. package/src/components/layout/Modal/styles.ts +125 -121
  180. package/src/components/layout/index.ts +6 -6
  181. package/src/components/search/HighlightedText.tsx +37 -37
  182. package/src/components/search/QuickSearchBar.tsx +90 -86
  183. package/src/components/search/QuickSearchResults.tsx +86 -86
  184. package/src/components/search/index.ts +9 -9
  185. package/src/components/search/styles.ts +96 -96
  186. package/src/components/search/types.ts +26 -26
  187. package/src/components/ui/Avatar/index.tsx +54 -54
  188. package/src/components/ui/Avatar/styles.ts +61 -61
  189. package/src/components/ui/Card/index.tsx +14 -14
  190. package/src/components/ui/Card/styles.ts +37 -37
  191. package/src/components/ui/ContextMenu/index.tsx +79 -79
  192. package/src/components/ui/ContextMenu/styles.ts +119 -119
  193. package/src/components/ui/Ellipsis.tsx +34 -34
  194. package/src/components/ui/Message/index.tsx +57 -57
  195. package/src/components/ui/Message/styles.ts +40 -40
  196. package/src/components/ui/index.ts +6 -6
  197. package/src/config/index.ts +14 -14
  198. package/src/helpers/dates.ts +17 -17
  199. package/src/helpers/getScrollbarSize.ts +14 -14
  200. package/src/helpers/index.ts +4 -4
  201. package/src/helpers/numbers.ts +63 -63
  202. package/src/helpers/responsive.ts +83 -83
  203. package/src/helpers/text.ts +13 -13
  204. package/src/hooks/index.ts +7 -7
  205. package/src/hooks/useContainerMediaQuery.ts +7 -7
  206. package/src/hooks/useElementSize.ts +24 -24
  207. package/src/hooks/useMediaQuery.ts +9 -9
  208. package/src/hooks/useMediaQueryForWidth.ts +35 -35
  209. package/src/hooks/useMutableState.ts +19 -19
  210. package/src/hooks/useShowArchived.ts +28 -28
  211. package/src/hooks/useWindowSize.ts +20 -20
  212. package/src/index.ts +9 -9
  213. package/src/providers/AuthenticationProvider/helpers.ts +3 -3
  214. package/src/providers/AuthenticationProvider/index.tsx +243 -243
  215. package/src/providers/LoadingProvider/index.tsx +47 -47
  216. package/src/providers/PortalsProvider/index.tsx +54 -54
  217. package/src/providers/PortalsProvider/styles.ts +31 -31
  218. package/src/providers/SettingsProvider/index.tsx +70 -70
  219. package/src/providers/ThemeProvider/ThemeProvider.ts +63 -63
  220. package/src/providers/ThemeProvider/defaultTheme.ts +457 -457
  221. package/src/providers/ThemeProvider/helpers.ts +11 -11
  222. package/src/providers/ThemeProvider/index.ts +4 -4
  223. package/src/providers/ThemeProvider/types.ts +131 -131
  224. package/src/providers/TrackingProvider/hooks.ts +14 -14
  225. package/src/providers/TrackingProvider/index.tsx +71 -71
  226. package/src/providers/UiProviders/index.tsx +68 -68
  227. package/src/providers/UiProviders/styles.ts +10 -10
  228. package/src/providers/hooks.ts +12 -12
  229. package/src/providers/index.ts +8 -8
  230. package/src/services/HttpService.ts +92 -92
  231. package/src/services/WebSocketService.ts +137 -137
  232. package/src/services/advancedRequests.ts +102 -102
  233. package/src/services/base.ts +23 -23
  234. package/src/services/globalSearch.ts +29 -29
  235. package/src/services/hooks.ts +44 -44
  236. package/src/services/index.ts +21 -21
  237. package/src/services/requests/auth.ts +44 -44
  238. package/src/services/requests/generic.ts +62 -62
  239. package/src/services/requests/tracking.ts +12 -12
  240. package/src/services/requests/userProfiles.ts +35 -35
  241. package/src/services/requests/users.ts +28 -28
  242. package/src/services/smartQueries.ts +122 -122
  243. package/src/services/sqlRequests.ts +111 -111
  244. package/src/services/types/auth.ts +131 -131
  245. package/src/services/types/base.ts +10 -10
  246. package/src/services/types/generic.ts +96 -96
  247. package/src/services/types/tracking.ts +39 -39
  248. package/src/services/types/userProfiles.ts +107 -107
  249. package/src/services/types/users.ts +106 -106
  250. package/src/services/updateSqlRequests.ts +34 -34
  251. package/src/styles/animations.scss +30 -30
  252. package/src/styles/index.scss +42 -42
  253. package/src/typings.d.ts +19 -19
  254. package/tsconfig.json +18 -18
  255. package/tsconfig.tsbuildinfo +1 -1
  256. package/dist/components/forms/Form/Row.d.ts +0 -9
  257. package/dist/components/forms/Form/Row.js +0 -10
  258. package/dist/components/forms/NumberInput.d.ts +0 -9
  259. package/dist/components/forms/NumberInput.js +0 -41
  260. package/dist/components/ui/ToastNotification.d.ts +0 -14
  261. package/dist/components/ui/ToastNotification.js +0 -78
  262. package/dist/hooks/useMutableState.d.ts +0 -2
  263. package/dist/hooks/useMutableState.js +0 -16
@@ -1,57 +1,57 @@
1
- import * as styles from './styles';
2
-
3
- import {
4
- CircleCheckIcon,
5
- CircleInfoIcon,
6
- CircleXMarkIcon,
7
- TriangleExclamationIcon,
8
- } from '../../../Icons';
9
- import { FC, PropsWithChildren } from 'react';
10
-
11
- import { ThemeColor } from '../../../providers';
12
-
13
- type MessageType = 'success' | 'info' | 'warning' | 'error';
14
-
15
- type MessageProps = PropsWithChildren<{
16
- className?: string;
17
- title?: string;
18
- type: MessageType;
19
- }>;
20
-
21
- const colorsMap: Record<
22
- MessageType,
23
- {
24
- baseColor: ThemeColor;
25
- iconComponent: FC<{ className?: string }>;
26
- }
27
- > = {
28
- success: {
29
- baseColor: 'green',
30
- iconComponent: CircleCheckIcon,
31
- },
32
- info: {
33
- baseColor: 'sky',
34
- iconComponent: CircleInfoIcon,
35
- },
36
- warning: {
37
- baseColor: 'amber',
38
- iconComponent: TriangleExclamationIcon,
39
- },
40
- error: {
41
- baseColor: 'red',
42
- iconComponent: CircleXMarkIcon,
43
- },
44
- };
45
-
46
- export const Message: FC<MessageProps> = ({ children, title, type }) => {
47
- const { iconComponent: Icon, baseColor = 'neutral' } = colorsMap[type];
48
- return (
49
- <styles.MessageContainer $baseColor={baseColor}>
50
- <Icon className="MessageIcon" />
51
- <styles.MessageContent>
52
- {title && <h3>{title}</h3>}
53
- <div>{children}</div>
54
- </styles.MessageContent>
55
- </styles.MessageContainer>
56
- );
57
- };
1
+ import * as styles from './styles';
2
+
3
+ import {
4
+ CircleCheckIcon,
5
+ CircleInfoIcon,
6
+ CircleXMarkIcon,
7
+ TriangleExclamationIcon,
8
+ } from '../../../Icons';
9
+ import { FC, PropsWithChildren } from 'react';
10
+
11
+ import { ThemeColor } from '../../../providers';
12
+
13
+ type MessageType = 'success' | 'info' | 'warning' | 'error';
14
+
15
+ type MessageProps = PropsWithChildren<{
16
+ className?: string;
17
+ title?: string;
18
+ type: MessageType;
19
+ }>;
20
+
21
+ const colorsMap: Record<
22
+ MessageType,
23
+ {
24
+ baseColor: ThemeColor;
25
+ iconComponent: FC<{ className?: string }>;
26
+ }
27
+ > = {
28
+ success: {
29
+ baseColor: 'green',
30
+ iconComponent: CircleCheckIcon,
31
+ },
32
+ info: {
33
+ baseColor: 'sky',
34
+ iconComponent: CircleInfoIcon,
35
+ },
36
+ warning: {
37
+ baseColor: 'amber',
38
+ iconComponent: TriangleExclamationIcon,
39
+ },
40
+ error: {
41
+ baseColor: 'red',
42
+ iconComponent: CircleXMarkIcon,
43
+ },
44
+ };
45
+
46
+ export const Message: FC<MessageProps> = ({ children, title, type }) => {
47
+ const { iconComponent: Icon, baseColor = 'neutral' } = colorsMap[type];
48
+ return (
49
+ <styles.MessageContainer $baseColor={baseColor}>
50
+ <Icon className="MessageIcon" />
51
+ <styles.MessageContent>
52
+ {title && <h3>{title}</h3>}
53
+ <div>{children}</div>
54
+ </styles.MessageContent>
55
+ </styles.MessageContainer>
56
+ );
57
+ };
@@ -1,40 +1,40 @@
1
- import styled, { css } from 'styled-components';
2
-
3
- import { ThemeColor } from '../../../providers';
4
-
5
- export const MessageContainer = styled.div.attrs({
6
- className: 'MessageContainer',
7
- })<{
8
- $baseColor: ThemeColor;
9
- }>`
10
- display: flex;
11
- flex-direction: row;
12
- box-shadow: var(--shadow-md);
13
- border-radius: var(--rounded-md);
14
- padding: var(--space-4);
15
- gap: var(--space-4);
16
-
17
- ${({ $baseColor }) => css`
18
- border: 1px solid var(--color-${$baseColor}-300);
19
- background-color: var(--color-${$baseColor}-100);
20
- color: var(--color-${$baseColor}-600);
21
-
22
- .MessageIcon {
23
- fill: var(--color-${$baseColor}-600);
24
- }
25
- `}
26
-
27
- .MessageIcon {
28
- width: var(--space-5);
29
- height: var(--space-5);
30
- flex-shrink: 0;
31
- }
32
- `;
33
-
34
- export const MessageContent = styled.div.attrs({
35
- className: 'MessageContent',
36
- })`
37
- display: flex;
38
- flex-direction: column;
39
- flex-grow: 1;
40
- `;
1
+ import styled, { css } from 'styled-components';
2
+
3
+ import { ThemeColor } from '../../../providers';
4
+
5
+ export const MessageContainer = styled.div.attrs({
6
+ className: 'MessageContainer',
7
+ })<{
8
+ $baseColor: ThemeColor;
9
+ }>`
10
+ display: flex;
11
+ flex-direction: row;
12
+ box-shadow: var(--shadow-md);
13
+ border-radius: var(--rounded-md);
14
+ padding: var(--space-4);
15
+ gap: var(--space-4);
16
+
17
+ ${({ $baseColor }) => css`
18
+ border: 1px solid var(--color-${$baseColor}-300);
19
+ background-color: var(--color-${$baseColor}-100);
20
+ color: var(--color-${$baseColor}-600);
21
+
22
+ .MessageIcon {
23
+ fill: var(--color-${$baseColor}-600);
24
+ }
25
+ `}
26
+
27
+ .MessageIcon {
28
+ width: var(--space-5);
29
+ height: var(--space-5);
30
+ flex-shrink: 0;
31
+ }
32
+ `;
33
+
34
+ export const MessageContent = styled.div.attrs({
35
+ className: 'MessageContent',
36
+ })`
37
+ display: flex;
38
+ flex-direction: column;
39
+ flex-grow: 1;
40
+ `;
@@ -1,6 +1,6 @@
1
- export * from './Avatar';
2
- export * from './Card';
3
- export * from './ContextMenu';
4
- export * from './Ellipsis';
5
- export * from './Label';
6
- export * from './Message';
1
+ export * from './Avatar';
2
+ export * from './Card';
3
+ export * from './ContextMenu';
4
+ export * from './Ellipsis';
5
+ export * from './Label';
6
+ export * from './Message';
@@ -1,14 +1,14 @@
1
- export type EnvType = 'dev' | 'test' | 'staging' | 'prod';
2
-
3
- export type Config = {
4
- webSocketUrl: string;
5
- httpServerUrl: `${string}/`;
6
- };
7
-
8
- type DeepPartial<T> = T extends object
9
- ? {
10
- [P in keyof T]?: DeepPartial<T[P]>;
11
- }
12
- : T;
13
-
14
- export type PartialConfig = DeepPartial<Config>;
1
+ export type EnvType = 'dev' | 'test' | 'staging' | 'prod';
2
+
3
+ export type Config = {
4
+ webSocketUrl: string;
5
+ httpServerUrl: `${string}/`;
6
+ };
7
+
8
+ type DeepPartial<T> = T extends object
9
+ ? {
10
+ [P in keyof T]?: DeepPartial<T[P]>;
11
+ }
12
+ : T;
13
+
14
+ export type PartialConfig = DeepPartial<Config>;
@@ -1,17 +1,17 @@
1
- import moment from 'moment';
2
-
3
- export const formatDate = (
4
- date: moment.MomentInput,
5
- format: string = 'DD/MM/YYYY'
6
- ): string => {
7
- const m = moment.utc(date);
8
- return m.isValid() ? m.format(format) : '';
9
- };
10
-
11
- export const formatDateTime = (
12
- date: moment.MomentInput,
13
- format: string = 'DD/MM/YYYY HH:mm:ss'
14
- ): string => {
15
- const m = moment.utc(date);
16
- return m.isValid() ? m.format(format) : '';
17
- };
1
+ import moment from 'moment';
2
+
3
+ export const formatDate = (
4
+ date: moment.MomentInput,
5
+ format: string = 'DD/MM/YYYY'
6
+ ): string => {
7
+ const m = moment.utc(date);
8
+ return m.isValid() ? m.format(format) : '';
9
+ };
10
+
11
+ export const formatDateTime = (
12
+ date: moment.MomentInput,
13
+ format: string = 'DD/MM/YYYY HH:mm:ss'
14
+ ): string => {
15
+ const m = moment.utc(date);
16
+ return m.isValid() ? m.format(format) : '';
17
+ };
@@ -1,14 +1,14 @@
1
- let scrollBarSize: number[] | undefined = undefined;
2
-
3
- export const getScrollBarSize = () => {
4
- if (!scrollBarSize) {
5
- const el = document.createElement('div');
6
- el.style.cssText = 'overflow:scroll; visibility:hidden; position:absolute;';
7
- document.body.appendChild(el);
8
- const width = el.offsetWidth - el.clientWidth;
9
- const height = el.offsetHeight - el.clientHeight;
10
- el.remove();
11
- scrollBarSize = [width, height];
12
- }
13
- return scrollBarSize;
14
- };
1
+ let scrollBarSize: number[] | undefined = undefined;
2
+
3
+ export const getScrollBarSize = () => {
4
+ if (!scrollBarSize) {
5
+ const el = document.createElement('div');
6
+ el.style.cssText = 'overflow:scroll; visibility:hidden; position:absolute;';
7
+ document.body.appendChild(el);
8
+ const width = el.offsetWidth - el.clientWidth;
9
+ const height = el.offsetHeight - el.clientHeight;
10
+ el.remove();
11
+ scrollBarSize = [width, height];
12
+ }
13
+ return scrollBarSize;
14
+ };
@@ -1,4 +1,4 @@
1
- export * from './dates';
2
- export * from './numbers';
3
- export * from './text';
4
- export * from './responsive';
1
+ export * from './dates';
2
+ export * from './numbers';
3
+ export * from './text';
4
+ export * from './responsive';
@@ -1,63 +1,63 @@
1
- export const formatMoney = (number: number, decimals = 2, currency = 'EUR') =>
2
- new Intl.NumberFormat(navigator.language, {
3
- style: 'currency',
4
- currency,
5
- minimumFractionDigits: decimals,
6
- maximumFractionDigits: decimals,
7
- currencyDisplay: 'narrowSymbol',
8
- }).format(number);
9
-
10
- export const formatPercentage = (number: number, decimals = 2) =>
11
- new Intl.NumberFormat(navigator.language, {
12
- style: 'percent',
13
- minimumFractionDigits: decimals,
14
- maximumFractionDigits: decimals,
15
- }).format(number);
16
-
17
- export const formatNumber = (number: number, decimals = 2) =>
18
- new Intl.NumberFormat(navigator.language, {
19
- minimumFractionDigits: decimals,
20
- maximumFractionDigits: decimals,
21
- }).format(number);
22
-
23
- export const formatNumberInvariant = (number: number, decimals = 2) =>
24
- new Intl.NumberFormat('es-US', {
25
- minimumFractionDigits: decimals,
26
- maximumFractionDigits: decimals,
27
- }).format(number);
28
-
29
- const getDecimalSeparator = () => {
30
- const numberWithDecimal = 1.1; // A number with a decimal point
31
- const formattedNumber = new Intl.NumberFormat().format(numberWithDecimal);
32
- return formattedNumber.replace(/\d/g, ''); // Remove all digits to isolate the separator
33
- };
34
-
35
- export const decimalSeparator = getDecimalSeparator();
36
-
37
- export const parseNumber = (value: string) => {
38
- const number = value
39
- .replace(new RegExp(`[^\\d${decimalSeparator}]`, 'g'), '')
40
- .replace(decimalSeparator, '.');
41
- return parseFloat(number);
42
- };
43
-
44
- export const getCurrencySymbol = (currency: string) => {
45
- const formatter = new Intl.NumberFormat(navigator.language, {
46
- style: 'currency',
47
- currency,
48
- minimumFractionDigits: 0,
49
- maximumFractionDigits: 0,
50
- currencyDisplay: 'narrowSymbol',
51
- });
52
-
53
- // Format a number and extract the currency symbol
54
- const parts = formatter.formatToParts(1);
55
- const currencySymbol = parts.find((part) => part.type === 'currency')?.value;
56
-
57
- // Determine if the currency symbol is a prefix or suffix
58
- const isPrefix =
59
- parts.findIndex((part) => part.type === 'currency') <
60
- parts.findIndex((part) => part.type === 'integer');
61
-
62
- return isPrefix ? [currencySymbol, undefined] : [undefined, currencySymbol];
63
- };
1
+ export const formatMoney = (number: number, decimals = 2, currency = 'EUR') =>
2
+ new Intl.NumberFormat(navigator.language, {
3
+ style: 'currency',
4
+ currency,
5
+ minimumFractionDigits: decimals,
6
+ maximumFractionDigits: decimals,
7
+ currencyDisplay: 'narrowSymbol',
8
+ }).format(number);
9
+
10
+ export const formatPercentage = (number: number, decimals = 2) =>
11
+ new Intl.NumberFormat(navigator.language, {
12
+ style: 'percent',
13
+ minimumFractionDigits: decimals,
14
+ maximumFractionDigits: decimals,
15
+ }).format(number);
16
+
17
+ export const formatNumber = (number: number, decimals = 2) =>
18
+ new Intl.NumberFormat(navigator.language, {
19
+ minimumFractionDigits: decimals,
20
+ maximumFractionDigits: decimals,
21
+ }).format(number);
22
+
23
+ export const formatNumberInvariant = (number: number, decimals = 2) =>
24
+ new Intl.NumberFormat('es-US', {
25
+ minimumFractionDigits: decimals,
26
+ maximumFractionDigits: decimals,
27
+ }).format(number);
28
+
29
+ const getDecimalSeparator = () => {
30
+ const numberWithDecimal = 1.1; // A number with a decimal point
31
+ const formattedNumber = new Intl.NumberFormat().format(numberWithDecimal);
32
+ return formattedNumber.replace(/\d/g, ''); // Remove all digits to isolate the separator
33
+ };
34
+
35
+ export const decimalSeparator = getDecimalSeparator();
36
+
37
+ export const parseNumber = (value: string) => {
38
+ const number = value
39
+ .replace(new RegExp(`[^\\d${decimalSeparator}]`, 'g'), '')
40
+ .replace(decimalSeparator, '.');
41
+ return parseFloat(number);
42
+ };
43
+
44
+ export const getCurrencySymbol = (currency: string) => {
45
+ const formatter = new Intl.NumberFormat(navigator.language, {
46
+ style: 'currency',
47
+ currency,
48
+ minimumFractionDigits: 0,
49
+ maximumFractionDigits: 0,
50
+ currencyDisplay: 'narrowSymbol',
51
+ });
52
+
53
+ // Format a number and extract the currency symbol
54
+ const parts = formatter.formatToParts(1);
55
+ const currencySymbol = parts.find((part) => part.type === 'currency')?.value;
56
+
57
+ // Determine if the currency symbol is a prefix or suffix
58
+ const isPrefix =
59
+ parts.findIndex((part) => part.type === 'currency') <
60
+ parts.findIndex((part) => part.type === 'integer');
61
+
62
+ return isPrefix ? [currencySymbol, undefined] : [undefined, currencySymbol];
63
+ };
@@ -1,83 +1,83 @@
1
- const XS_BREAKPOINT = 320;
2
- const SM_BREAKPOINT = 480;
3
- const MD_BREAKPOINT = 768;
4
- const LG_BREAKPOINT = 992;
5
- const XL_BREAKPOINT = 1200;
6
-
7
- type MediaQueryKey = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
8
- const boundaries: Record<MediaQueryKey, [number, number]> = {
9
- xs: [0, XS_BREAKPOINT - 1],
10
- sm: [XS_BREAKPOINT, SM_BREAKPOINT - 1],
11
- md: [SM_BREAKPOINT, MD_BREAKPOINT - 1],
12
- lg: [MD_BREAKPOINT, LG_BREAKPOINT - 1],
13
- xl: [LG_BREAKPOINT, XL_BREAKPOINT - 1],
14
- xxl: [XL_BREAKPOINT, 999999],
15
- };
16
-
17
- export const findBreakpoint = (width: number): MediaQueryKey =>
18
- ((Object.keys(boundaries) as MediaQueryKey[]).find(
19
- (bp) => width >= boundaries[bp][0] && width < boundaries[bp][1]
20
- ) as MediaQueryKey) ?? 'xs';
21
-
22
- export const isSmallerThanOrEqual = (
23
- mq: MediaQueryKey,
24
- currentMq: MediaQueryKey
25
- ) => boundaries[currentMq][0] <= boundaries[mq][0];
26
- export const isGreaterThanOrEqual = (
27
- mq: MediaQueryKey,
28
- currentMq: MediaQueryKey
29
- ) => boundaries[currentMq][0] >= boundaries[mq][0];
30
-
31
- export const mediaQueries = {
32
- xs: `@media screen and (max-width: ${XS_BREAKPOINT - 1}px)`,
33
- sm: `@media screen and (min-width: ${XS_BREAKPOINT}px) and (max-width: ${
34
- SM_BREAKPOINT - 1
35
- }px)`,
36
- md: `@media screen and (min-width: ${SM_BREAKPOINT}px) and (max-width: ${
37
- MD_BREAKPOINT - 1
38
- }px)`,
39
- lg: `@media screen and (min-width: ${MD_BREAKPOINT}px) and (max-width: ${
40
- LG_BREAKPOINT - 1
41
- }px)`,
42
- xl: `@media screen and (min-width: ${LG_BREAKPOINT}px) and (max-width: ${
43
- XL_BREAKPOINT - 1
44
- }px)`,
45
- xxl: `@media screen and (min-width: ${XL_BREAKPOINT}px)`,
46
-
47
- smDown: `@media screen and (max-width: ${SM_BREAKPOINT - 1}px)`,
48
- mdDown: `@media screen and (max-width: ${MD_BREAKPOINT - 1}px)`,
49
- lgDown: `@media screen and (max-width: ${LG_BREAKPOINT - 1}px)`,
50
- xlDown: `@media screen and (max-width: ${XL_BREAKPOINT - 1}px)`,
51
-
52
- smUp: `@media screen and (min-width: ${XS_BREAKPOINT}px)`,
53
- mdUp: `@media screen and (min-width: ${SM_BREAKPOINT}px)`,
54
- lgUp: `@media screen and (min-width: ${MD_BREAKPOINT}px)`,
55
- xlUp: `@media screen and (min-width: ${LG_BREAKPOINT}px)`,
56
- };
57
-
58
- export const containerQueries = {
59
- xs: `@container (width <= ${XS_BREAKPOINT - 1}px)`,
60
- sm: `@container (width >= ${XS_BREAKPOINT}px) and (width <= ${
61
- SM_BREAKPOINT - 1
62
- }px)`,
63
- md: `@container (width >= ${SM_BREAKPOINT}px) and (width <= ${
64
- MD_BREAKPOINT - 1
65
- }px)`,
66
- lg: `@container (width >= ${MD_BREAKPOINT}px) and (width <= ${
67
- LG_BREAKPOINT - 1
68
- }px)`,
69
- xl: `@container (width >= ${LG_BREAKPOINT}px) and (width <= ${
70
- XL_BREAKPOINT - 1
71
- }px)`,
72
- xxl: `@container (width >= ${XL_BREAKPOINT}px)`,
73
-
74
- smDown: `@container (width <= ${SM_BREAKPOINT - 1}px)`,
75
- mdDown: `@container (width <= ${MD_BREAKPOINT - 1}px)`,
76
- lgDown: `@container (width <= ${LG_BREAKPOINT - 1}px)`,
77
- xlDown: `@container (width <= ${XL_BREAKPOINT - 1}px)`,
78
-
79
- smUp: `@container (width >= ${XS_BREAKPOINT}px)`,
80
- mdUp: `@container (width >= ${SM_BREAKPOINT}px)`,
81
- lgUp: `@container (width >= ${MD_BREAKPOINT}px)`,
82
- xlUp: `@container (width >= ${LG_BREAKPOINT}px)`,
83
- };
1
+ const XS_BREAKPOINT = 320;
2
+ const SM_BREAKPOINT = 480;
3
+ const MD_BREAKPOINT = 768;
4
+ const LG_BREAKPOINT = 992;
5
+ const XL_BREAKPOINT = 1200;
6
+
7
+ type MediaQueryKey = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
8
+ const boundaries: Record<MediaQueryKey, [number, number]> = {
9
+ xs: [0, XS_BREAKPOINT - 1],
10
+ sm: [XS_BREAKPOINT, SM_BREAKPOINT - 1],
11
+ md: [SM_BREAKPOINT, MD_BREAKPOINT - 1],
12
+ lg: [MD_BREAKPOINT, LG_BREAKPOINT - 1],
13
+ xl: [LG_BREAKPOINT, XL_BREAKPOINT - 1],
14
+ xxl: [XL_BREAKPOINT, 999999],
15
+ };
16
+
17
+ export const findBreakpoint = (width: number): MediaQueryKey =>
18
+ ((Object.keys(boundaries) as MediaQueryKey[]).find(
19
+ (bp) => width >= boundaries[bp][0] && width < boundaries[bp][1]
20
+ ) as MediaQueryKey) ?? 'xs';
21
+
22
+ export const isSmallerThanOrEqual = (
23
+ mq: MediaQueryKey,
24
+ currentMq: MediaQueryKey
25
+ ) => boundaries[currentMq][0] <= boundaries[mq][0];
26
+ export const isGreaterThanOrEqual = (
27
+ mq: MediaQueryKey,
28
+ currentMq: MediaQueryKey
29
+ ) => boundaries[currentMq][0] >= boundaries[mq][0];
30
+
31
+ export const mediaQueries = {
32
+ xs: `@media screen and (max-width: ${XS_BREAKPOINT - 1}px)`,
33
+ sm: `@media screen and (min-width: ${XS_BREAKPOINT}px) and (max-width: ${
34
+ SM_BREAKPOINT - 1
35
+ }px)`,
36
+ md: `@media screen and (min-width: ${SM_BREAKPOINT}px) and (max-width: ${
37
+ MD_BREAKPOINT - 1
38
+ }px)`,
39
+ lg: `@media screen and (min-width: ${MD_BREAKPOINT}px) and (max-width: ${
40
+ LG_BREAKPOINT - 1
41
+ }px)`,
42
+ xl: `@media screen and (min-width: ${LG_BREAKPOINT}px) and (max-width: ${
43
+ XL_BREAKPOINT - 1
44
+ }px)`,
45
+ xxl: `@media screen and (min-width: ${XL_BREAKPOINT}px)`,
46
+
47
+ smDown: `@media screen and (max-width: ${SM_BREAKPOINT - 1}px)`,
48
+ mdDown: `@media screen and (max-width: ${MD_BREAKPOINT - 1}px)`,
49
+ lgDown: `@media screen and (max-width: ${LG_BREAKPOINT - 1}px)`,
50
+ xlDown: `@media screen and (max-width: ${XL_BREAKPOINT - 1}px)`,
51
+
52
+ smUp: `@media screen and (min-width: ${XS_BREAKPOINT}px)`,
53
+ mdUp: `@media screen and (min-width: ${SM_BREAKPOINT}px)`,
54
+ lgUp: `@media screen and (min-width: ${MD_BREAKPOINT}px)`,
55
+ xlUp: `@media screen and (min-width: ${LG_BREAKPOINT}px)`,
56
+ };
57
+
58
+ export const containerQueries = {
59
+ xs: `@container (width <= ${XS_BREAKPOINT - 1}px)`,
60
+ sm: `@container (width >= ${XS_BREAKPOINT}px) and (width <= ${
61
+ SM_BREAKPOINT - 1
62
+ }px)`,
63
+ md: `@container (width >= ${SM_BREAKPOINT}px) and (width <= ${
64
+ MD_BREAKPOINT - 1
65
+ }px)`,
66
+ lg: `@container (width >= ${MD_BREAKPOINT}px) and (width <= ${
67
+ LG_BREAKPOINT - 1
68
+ }px)`,
69
+ xl: `@container (width >= ${LG_BREAKPOINT}px) and (width <= ${
70
+ XL_BREAKPOINT - 1
71
+ }px)`,
72
+ xxl: `@container (width >= ${XL_BREAKPOINT}px)`,
73
+
74
+ smDown: `@container (width <= ${SM_BREAKPOINT - 1}px)`,
75
+ mdDown: `@container (width <= ${MD_BREAKPOINT - 1}px)`,
76
+ lgDown: `@container (width <= ${LG_BREAKPOINT - 1}px)`,
77
+ xlDown: `@container (width <= ${XL_BREAKPOINT - 1}px)`,
78
+
79
+ smUp: `@container (width >= ${XS_BREAKPOINT}px)`,
80
+ mdUp: `@container (width >= ${SM_BREAKPOINT}px)`,
81
+ lgUp: `@container (width >= ${MD_BREAKPOINT}px)`,
82
+ xlUp: `@container (width >= ${LG_BREAKPOINT}px)`,
83
+ };
@@ -1,13 +1,13 @@
1
- export const escapeForRegExp = (text: string) =>
2
- text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
3
-
4
- export const extractTextFromHTML = (html: string) => {
5
- const div = document.createElement('div');
6
- div.style.display = 'block';
7
- div.style.whiteSpace = 'normal';
8
- div.innerHTML = html;
9
- document.body.appendChild(div);
10
- const text = div.innerText || '';
11
- document.body.removeChild(div);
12
- return text;
13
- };
1
+ export const escapeForRegExp = (text: string) =>
2
+ text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
3
+
4
+ export const extractTextFromHTML = (html: string) => {
5
+ const div = document.createElement('div');
6
+ div.style.display = 'block';
7
+ div.style.whiteSpace = 'normal';
8
+ div.innerHTML = html;
9
+ document.body.appendChild(div);
10
+ const text = div.innerText || '';
11
+ document.body.removeChild(div);
12
+ return text;
13
+ };
@@ -1,7 +1,7 @@
1
- export * from './useElementSize';
2
- export * from './useShowArchived';
3
- export * from './useWindowSize';
4
- export * from './useMediaQuery';
5
- export * from './useContainerMediaQuery';
6
- export * from './useMediaQueryForWidth';
7
- export * from './useMutableState';
1
+ export * from './useElementSize';
2
+ export * from './useShowArchived';
3
+ export * from './useWindowSize';
4
+ export * from './useMediaQuery';
5
+ export * from './useContainerMediaQuery';
6
+ export * from './useMediaQueryForWidth';
7
+ export * from './useMutableState';