@addev-be/ui 0.20.5 → 0.20.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 (251) hide show
  1. package/assets/icons/table.svg +1 -1
  2. package/dist/Icons.d.ts +11 -1
  3. package/dist/Icons.js +22 -1
  4. package/dist/components/auth/LoginForm.js +1 -1
  5. package/dist/components/auth/PasswordRecoveryForm.js +1 -1
  6. package/dist/components/auth/PasswordResetForm.js +1 -1
  7. package/dist/components/data/DataGrid/DataGridCell.js +5 -5
  8. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.d.ts +2 -2
  9. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.js +1 -7
  10. package/dist/components/data/DataGrid/DataGridColumnsModal/hooks.js +3 -3
  11. package/dist/components/data/DataGrid/DataGridColumnsModal/index.js +16 -21
  12. package/dist/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.d.ts +2 -0
  13. package/dist/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.js +23 -0
  14. package/dist/components/data/DataGrid/DataGridEditableCell/DateEditableCell.d.ts +2 -0
  15. package/dist/components/data/DataGrid/DataGridEditableCell/DateEditableCell.js +27 -0
  16. package/dist/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.d.ts +7 -0
  17. package/dist/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.js +34 -0
  18. package/dist/components/data/DataGrid/DataGridEditableCell/TextEditableCell.d.ts +2 -0
  19. package/dist/components/data/DataGrid/DataGridEditableCell/TextEditableCell.js +23 -0
  20. package/dist/components/data/DataGrid/DataGridEditableCell/index.d.ts +2 -0
  21. package/dist/components/data/DataGrid/DataGridEditableCell/index.js +91 -0
  22. package/dist/components/data/DataGrid/DataGridEditableCell/styles.d.ts +3 -0
  23. package/dist/components/data/DataGrid/DataGridEditableCell/styles.js +17 -0
  24. package/dist/components/data/DataGrid/DataGridEditableCell/types.d.ts +11 -0
  25. package/dist/components/data/DataGrid/DataGridEditableCell/types.js +3 -0
  26. package/dist/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.js +17 -1
  27. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.d.ts +4 -3
  28. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.js +11 -12
  29. package/dist/components/data/DataGrid/DataGridFilterMenu/index.d.ts +5 -4
  30. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +44 -40
  31. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +1 -1
  32. package/dist/components/data/DataGrid/DataGridFooter.js +5 -5
  33. package/dist/components/data/DataGrid/DataGridHeader.js +52 -8
  34. package/dist/components/data/DataGrid/DataGridHeaderCell.d.ts +1 -1
  35. package/dist/components/data/DataGrid/DataGridHeaderCell.js +11 -24
  36. package/dist/components/data/DataGrid/DataGridRowTemplate.d.ts +1 -1
  37. package/dist/components/data/DataGrid/DataGridRowTemplate.js +8 -9
  38. package/dist/components/data/DataGrid/FilterModalContent/index.js +1 -1
  39. package/dist/components/data/DataGrid/constants.d.ts +6 -0
  40. package/dist/components/data/DataGrid/constants.js +9 -0
  41. package/dist/components/data/DataGrid/helpers/columns.d.ts +13 -12
  42. package/dist/components/data/DataGrid/helpers/columns.js +100 -130
  43. package/dist/components/data/DataGrid/hooks/index.d.ts +3 -3
  44. package/dist/components/data/DataGrid/hooks/index.js +8 -12
  45. package/dist/components/data/DataGrid/hooks/useDataGrid.js +73 -24
  46. package/dist/components/data/DataGrid/hooks/useDataGridChangedRows.d.ts +9 -0
  47. package/dist/components/data/DataGrid/hooks/useDataGridChangedRows.js +91 -0
  48. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +25 -30
  49. package/dist/components/data/DataGrid/hooks/useRefreshModal.d.ts +5 -0
  50. package/dist/components/data/DataGrid/hooks/useRefreshModal.js +25 -0
  51. package/dist/components/data/DataGrid/index.d.ts +2 -2
  52. package/dist/components/data/DataGrid/index.js +17 -3
  53. package/dist/components/data/DataGrid/styles.d.ts +13 -8
  54. package/dist/components/data/DataGrid/styles.js +58 -30
  55. package/dist/components/data/DataGrid/types.d.ts +87 -17
  56. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.d.ts +2 -0
  57. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.js +19 -0
  58. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +16 -17
  59. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +237 -84
  60. package/dist/components/data/SqlRequestDataGrid/index.d.ts +2 -2
  61. package/dist/components/data/SqlRequestDataGrid/index.js +92 -68
  62. package/dist/components/data/SqlRequestDataGrid/styles.d.ts +2 -0
  63. package/dist/components/data/SqlRequestDataGrid/styles.js +14 -0
  64. package/dist/components/data/SqlRequestDataGrid/types.d.ts +13 -3
  65. package/dist/components/data/SqlRequestDataGrid/types.js +1 -0
  66. package/dist/components/data/SqlRequestForeignList/index.d.ts +4 -0
  67. package/dist/components/data/SqlRequestForeignList/index.js +131 -0
  68. package/dist/components/data/SqlRequestForeignList/styles.d.ts +9 -0
  69. package/dist/components/data/SqlRequestForeignList/styles.js +22 -0
  70. package/dist/components/data/SqlRequestForeignList/types.d.ts +22 -0
  71. package/dist/components/data/SqlRequestForeignList/types.js +3 -0
  72. package/dist/components/data/SqlRequestGrid/filters/FiltersSidebar.d.ts +10 -0
  73. package/dist/components/data/SqlRequestGrid/filters/FiltersSidebar.js +51 -0
  74. package/dist/components/data/SqlRequestGrid/filters/styles.d.ts +4 -0
  75. package/dist/components/data/SqlRequestGrid/filters/styles.js +17 -0
  76. package/dist/components/data/SqlRequestGrid/index.d.ts +1 -1
  77. package/dist/components/data/SqlRequestGrid/index.js +139 -50
  78. package/dist/components/data/SqlRequestGrid/styles.d.ts +0 -12
  79. package/dist/components/data/SqlRequestGrid/styles.js +4 -20
  80. package/dist/components/data/SqlRequestGrid/types.d.ts +14 -4
  81. package/dist/components/data/VirtualScroller/index.d.ts +4 -3
  82. package/dist/components/data/VirtualScroller/index.js +15 -5
  83. package/dist/components/data/VirtualScroller/styles.d.ts +4 -2
  84. package/dist/components/data/VirtualScroller/styles.js +9 -6
  85. package/dist/components/data/index.d.ts +1 -2
  86. package/dist/components/data/index.js +1 -2
  87. package/dist/components/forms/AutoTextArea.d.ts +10 -0
  88. package/dist/components/forms/AutoTextArea.js +41 -0
  89. package/dist/components/forms/Button.d.ts +11 -4
  90. package/dist/components/forms/Button.js +15 -9
  91. package/dist/components/forms/Form/Checkbox.d.ts +3 -0
  92. package/dist/components/forms/Form/Checkbox.js +33 -0
  93. package/dist/components/forms/Form/FormGroup.d.ts +11 -0
  94. package/dist/components/forms/Form/FormGroup.js +10 -0
  95. package/dist/components/forms/Form/Input.d.ts +3 -0
  96. package/dist/components/forms/Form/Input.js +33 -0
  97. package/dist/components/forms/Form/Row.d.ts +9 -0
  98. package/dist/components/forms/Form/Row.js +10 -0
  99. package/dist/components/forms/Form/Select.d.ts +18 -0
  100. package/dist/components/forms/Form/Select.js +51 -0
  101. package/dist/components/forms/Form/TextArea.d.ts +4 -0
  102. package/dist/components/forms/Form/TextArea.js +34 -0
  103. package/dist/components/forms/Form/index.d.ts +81 -0
  104. package/dist/components/forms/Form/index.js +29 -0
  105. package/dist/components/forms/Form/styles.d.ts +19 -0
  106. package/dist/components/forms/Form/styles.js +49 -0
  107. package/dist/components/forms/IconButton.d.ts +2 -1
  108. package/dist/components/forms/IconButton.js +12 -12
  109. package/dist/components/forms/NumberInput.d.ts +9 -0
  110. package/dist/components/forms/NumberInput.js +40 -0
  111. package/dist/components/forms/Select.d.ts +5 -6
  112. package/dist/components/forms/Select.js +2 -5
  113. package/dist/components/forms/index.d.ts +4 -0
  114. package/dist/components/forms/index.js +4 -0
  115. package/dist/components/forms/styles.d.ts +17 -3
  116. package/dist/components/forms/styles.js +8 -7
  117. package/dist/components/layout/Columns.d.ts +6 -0
  118. package/dist/components/layout/Columns.js +23 -0
  119. package/dist/components/layout/Dropdown/index.d.ts +1 -0
  120. package/dist/components/layout/Dropdown/index.js +24 -3
  121. package/dist/components/layout/Flexbox.d.ts +11 -0
  122. package/dist/components/layout/Flexbox.js +26 -0
  123. package/dist/components/layout/Grid/index.d.ts +6 -0
  124. package/dist/components/layout/Grid/index.js +6 -0
  125. package/dist/components/layout/Grid/styles.d.ts +14 -0
  126. package/dist/components/layout/Grid/styles.js +29 -0
  127. package/dist/components/layout/Masonry/index.d.ts +3 -0
  128. package/dist/components/layout/Masonry/index.js +20 -0
  129. package/dist/components/layout/Masonry/styles.d.ts +5 -0
  130. package/dist/components/layout/Masonry/styles.js +17 -0
  131. package/dist/components/layout/Modal/styles.js +1 -1
  132. package/dist/components/layout/index.d.ts +5 -1
  133. package/dist/components/layout/index.js +5 -1
  134. package/dist/components/search/HighlightedText.js +9 -7
  135. package/dist/components/search/QuickSearchBar.d.ts +6 -2
  136. package/dist/components/search/QuickSearchBar.js +7 -7
  137. package/dist/components/search/styles.js +1 -1
  138. package/dist/components/search/types.d.ts +3 -0
  139. package/dist/components/ui/Avatar/index.d.ts +10 -0
  140. package/dist/components/ui/Avatar/index.js +52 -0
  141. package/dist/components/ui/Avatar/styles.d.ts +4 -0
  142. package/dist/components/ui/Avatar/styles.js +43 -0
  143. package/dist/components/ui/Card/styles.js +1 -1
  144. package/dist/components/ui/Ellipsis.d.ts +13 -0
  145. package/dist/components/ui/Ellipsis.js +28 -0
  146. package/dist/components/ui/Label.d.ts +9 -0
  147. package/dist/components/ui/Label.js +74 -0
  148. package/dist/components/ui/Tab/index.d.ts +3 -0
  149. package/dist/components/ui/Tab/index.js +12 -0
  150. package/dist/components/ui/Tab/styles.d.ts +6 -0
  151. package/dist/components/ui/Tab/styles.js +41 -0
  152. package/dist/components/ui/Tab/types.d.ts +13 -0
  153. package/dist/components/ui/Tabs/index.d.ts +2 -0
  154. package/dist/components/ui/Tabs/index.js +10 -0
  155. package/dist/components/ui/Tabs/styles.d.ts +0 -0
  156. package/dist/components/ui/Tabs/styles.js +1 -0
  157. package/dist/components/ui/Tabs/types.d.ts +8 -0
  158. package/dist/components/ui/Tabs/types.js +2 -0
  159. package/dist/components/ui/Tab/302/265/index.d.ts +2 -0
  160. package/dist/components/ui/Tab/302/265/index.js +10 -0
  161. package/dist/components/ui/Tab/302/265/styles.d.ts +0 -0
  162. package/dist/components/ui/Tab/302/265/styles.js +1 -0
  163. package/dist/components/ui/Tab/302/265/types.d.ts +8 -0
  164. package/dist/components/ui/Tab/302/265/types.js +2 -0
  165. package/dist/components/ui/ToastNotification.d.ts +14 -0
  166. package/dist/components/ui/ToastNotification.js +78 -0
  167. package/dist/components/ui/index.d.ts +4 -0
  168. package/dist/components/ui/index.js +4 -0
  169. package/dist/helpers/index.d.ts +2 -0
  170. package/dist/helpers/index.js +2 -0
  171. package/dist/helpers/numbers.d.ts +3 -0
  172. package/dist/helpers/numbers.js +33 -1
  173. package/dist/helpers/responsive.d.ts +37 -0
  174. package/dist/helpers/responsive.js +57 -0
  175. package/dist/helpers/styled/index.d.ts +1 -0
  176. package/dist/{components/data/AdvancedRequestDataGrid/helpers → helpers/styled}/index.js +1 -2
  177. package/dist/helpers/styled/space.d.ts +23 -0
  178. package/dist/helpers/styled/space.js +56 -0
  179. package/dist/hooks/index.d.ts +5 -0
  180. package/dist/hooks/index.js +5 -0
  181. package/dist/hooks/useContainerMediaQuery.d.ts +17 -0
  182. package/dist/hooks/useContainerMediaQuery.js +10 -0
  183. package/dist/hooks/useMediaQuery.d.ts +17 -0
  184. package/dist/hooks/useMediaQuery.js +11 -0
  185. package/dist/hooks/useMediaQueryForWidth.d.ts +17 -0
  186. package/dist/hooks/useMediaQueryForWidth.js +26 -0
  187. package/dist/hooks/useMutableState.d.ts +2 -0
  188. package/dist/hooks/useMutableState.js +16 -0
  189. package/dist/hooks/useShowArchived.d.ts +6 -0
  190. package/dist/hooks/useShowArchived.js +21 -0
  191. package/dist/index.d.ts +1 -0
  192. package/dist/index.js +1 -0
  193. package/dist/poppins-700.woff2 +0 -0
  194. package/dist/providers/AuthenticationProvider/index.d.ts +1 -0
  195. package/dist/providers/AuthenticationProvider/index.js +57 -15
  196. package/dist/providers/PortalsProvider/styles.js +1 -1
  197. package/dist/providers/ThemeProvider/defaultTheme.js +13 -0
  198. package/dist/providers/ThemeProvider/helpers.d.ts +8 -0
  199. package/dist/providers/ThemeProvider/helpers.js +53 -0
  200. package/dist/providers/ThemeProvider/types.d.ts +2 -1
  201. package/dist/providers/TrackingProvider/hooks.d.ts +1 -0
  202. package/dist/providers/TrackingProvider/hooks.js +15 -0
  203. package/dist/providers/TrackingProvider/index.d.ts +8 -0
  204. package/dist/providers/TrackingProvider/index.js +41 -0
  205. package/dist/providers/UiProviders/index.js +2 -1
  206. package/dist/providers/index.d.ts +2 -0
  207. package/dist/providers/index.js +2 -0
  208. package/dist/services/WebSocketService.d.ts +8 -0
  209. package/dist/services/WebSocketService.js +34 -2
  210. package/dist/services/globalSearch.d.ts +6 -2
  211. package/dist/services/hooks.d.ts +10 -0
  212. package/dist/services/hooks.js +89 -2
  213. package/dist/services/index.d.ts +7 -0
  214. package/dist/services/index.js +20 -0
  215. package/dist/services/requests/generic.d.ts +29 -0
  216. package/dist/services/requests/generic.js +29 -0
  217. package/dist/services/requests/tracking.d.ts +18 -0
  218. package/dist/services/requests/tracking.js +8 -0
  219. package/dist/services/smartQueries.d.ts +51 -0
  220. package/dist/services/smartQueries.js +10 -0
  221. package/dist/services/smartRequests.d.ts +0 -0
  222. package/dist/services/smartRequests.js +1 -0
  223. package/dist/services/types/generic.d.ts +44 -0
  224. package/dist/services/types/generic.js +79 -0
  225. package/dist/services/types/tracking.d.ts +24 -0
  226. package/dist/services/types/tracking.js +47 -0
  227. package/dist/services/updateSqlRequests.d.ts +24 -0
  228. package/dist/services/updateSqlRequests.js +7 -0
  229. package/package.json +2 -2
  230. package/src/components/data/DataGrid/styles.ts +1 -0
  231. package/src/components/ui/Avatar/styles.ts +61 -61
  232. package/src/components/ui/Label.tsx +90 -90
  233. package/src/components/ui/TabsView/TabsList.tsx +44 -44
  234. package/src/components/ui/TabsView/TabsView.tsx +11 -2
  235. package/src/components/ui/TabsView/index.ts +3 -3
  236. package/src/helpers/styled/index.ts +1 -1
  237. package/src/helpers/styled/space.ts +111 -111
  238. package/src/hooks/useMutableState.ts +9 -11
  239. package/src/providers/TrackingProvider/hooks.ts +14 -14
  240. package/tsconfig.tsbuildinfo +1 -1
  241. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +0 -14
  242. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +0 -76
  243. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +0 -22
  244. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +0 -156
  245. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +0 -2
  246. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +0 -2
  247. package/dist/components/data/AdvancedRequestDataGrid/index.js +0 -215
  248. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +0 -21
  249. package/dist/components/data/DataGrid/DataGridEditableCell.d.ts +0 -2
  250. package/dist/components/data/DataGrid/DataGridEditableCell.js +0 -27
  251. /package/dist/components/{data/AdvancedRequestDataGrid → ui/Tab}/types.js +0 -0
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useUpdateSqlRequestHandler = void 0;
4
+ var hooks_1 = require("./hooks");
5
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
+ var useUpdateSqlRequestHandler = function (name) { return (0, hooks_1.useWebSocketRequestHandler)(name); };
7
+ exports.useUpdateSqlRequestHandler = useUpdateSqlRequestHandler;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@addev-be/ui",
3
- "version": "0.20.5",
3
+ "version": "0.20.8",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "watch": "tsc -b --watch",
@@ -20,7 +20,7 @@
20
20
  "update-version": "../../node/update-version.mjs"
21
21
  },
22
22
  "devDependencies": {
23
- "@addev-be/framework-utils": "^0.20.5",
23
+ "@addev-be/framework-utils": "^0.20.8",
24
24
  "@types/lodash": "^4",
25
25
  "@types/react": "^18.3.3",
26
26
  "@types/react-dom": "^18.3.0",
@@ -17,6 +17,7 @@ export const DataGridWrapper = styled.div<SpaceProps>`
17
17
  flex-direction: column;
18
18
  overflow: hidden;
19
19
  width: 100%;
20
+ height: 100%;
20
21
 
21
22
  ${space}
22
23
  `;
@@ -1,61 +1,61 @@
1
- import styled, { css } from 'styled-components';
2
-
3
- export type AvatarContainerProps = {
4
- size: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
- };
6
-
7
- const stylesMap: Record<
8
- AvatarContainerProps['size'],
9
- ReturnType<typeof css>
10
- > = {
11
- xs: css`
12
- width: var(--size-6);
13
- height: var(--size-6);
14
- min-width: var(--size-6);
15
- min-height: var(--size-6);
16
- font-size: var(--text-xs);
17
- line-height: var(--text-xs);
18
- `,
19
- sm: css`
20
- width: var(--size-8);
21
- height: var(--size-8);
22
- min-width: var(--size-8);
23
- min-height: var(--size-8);
24
- font-size: var(--text-sm);
25
- line-height: var(--text-sm);
26
- `,
27
- md: css`
28
- width: var(--size-10);
29
- height: var(--size-10);
30
- min-width: var(--size-10);
31
- min-height: var(--size-10);
32
- font-size: var(--text-md);
33
- line-height: var(--text-md);
34
- `,
35
- lg: css`
36
- width: var(--size-12);
37
- height: var(--size-12);
38
- min-width: var(--size-12);
39
- min-height: var(--size-12);
40
- font-size: var(--text-lg);
41
- line-height: var(--text-lg);
42
- `,
43
- xl: css`
44
- width: var(--size-14);
45
- height: var(--size-14);
46
- min-width: var(--size-14);
47
- min-height: var(--size-14);
48
- font-size: var(--text-2xl);
49
- line-height: var(--text-2xl);
50
- `,
51
- };
52
-
53
- export const AvatarContainer = styled.div<AvatarContainerProps>`
54
- display: inline-flex;
55
- align-items: center;
56
- justify-content: center;
57
- border-radius: var(--rounded-full);
58
- user-select: none;
59
-
60
- ${({ size }) => stylesMap[size]}
61
- `;
1
+ import styled, { css } from 'styled-components';
2
+
3
+ export type AvatarContainerProps = {
4
+ size: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
+ };
6
+
7
+ const stylesMap: Record<
8
+ AvatarContainerProps['size'],
9
+ ReturnType<typeof css>
10
+ > = {
11
+ xs: css`
12
+ width: var(--size-6);
13
+ height: var(--size-6);
14
+ min-width: var(--size-6);
15
+ min-height: var(--size-6);
16
+ font-size: var(--text-xs);
17
+ line-height: var(--text-xs);
18
+ `,
19
+ sm: css`
20
+ width: var(--size-8);
21
+ height: var(--size-8);
22
+ min-width: var(--size-8);
23
+ min-height: var(--size-8);
24
+ font-size: var(--text-sm);
25
+ line-height: var(--text-sm);
26
+ `,
27
+ md: css`
28
+ width: var(--size-10);
29
+ height: var(--size-10);
30
+ min-width: var(--size-10);
31
+ min-height: var(--size-10);
32
+ font-size: var(--text-md);
33
+ line-height: var(--text-md);
34
+ `,
35
+ lg: css`
36
+ width: var(--size-12);
37
+ height: var(--size-12);
38
+ min-width: var(--size-12);
39
+ min-height: var(--size-12);
40
+ font-size: var(--text-lg);
41
+ line-height: var(--text-lg);
42
+ `,
43
+ xl: css`
44
+ width: var(--size-14);
45
+ height: var(--size-14);
46
+ min-width: var(--size-14);
47
+ min-height: var(--size-14);
48
+ font-size: var(--text-2xl);
49
+ line-height: var(--text-2xl);
50
+ `,
51
+ };
52
+
53
+ export const AvatarContainer = styled.div<AvatarContainerProps>`
54
+ display: inline-flex;
55
+ align-items: center;
56
+ justify-content: center;
57
+ border-radius: var(--rounded-full);
58
+ user-select: none;
59
+
60
+ ${({ size }) => stylesMap[size]}
61
+ `;
@@ -1,90 +1,90 @@
1
- import { ComponentProps, forwardRef } from 'react';
2
- import styled, { css } from 'styled-components';
3
-
4
- import { ThemeColor } from '../../providers/ThemeProvider/types';
5
-
6
- export const StyledLabel = styled.span.withConfig({
7
- shouldForwardProp: () => true,
8
- })<LabelProps>`
9
- display: inline-flex;
10
- align-items: center;
11
- justify-content: center;
12
- font-family: var(--font-sans);
13
- font-weight: 500;
14
-
15
- ${({ color }) =>
16
- color
17
- ? css`
18
- background-color: var(--color-${color}-100);
19
- color: var(--color-${color}-700);
20
- svg {
21
- fill: var(--color-${color}-700);
22
- }
23
- `
24
- : css`
25
- background-color: var(--color-neutral-100);
26
- color: var(--color-neutral-700);
27
- svg {
28
- fill: var(--color-neutral-700);
29
- }
30
- `}
31
-
32
- ${({ bordered, color }) =>
33
- bordered
34
- ? css`
35
- border: 1px solid
36
- ${color ? `var(--color-${color}-200)` : 'var(--color-neutral-200)'};
37
- `
38
- : 'border: none;'}
39
-
40
- ${({ rounded }) => rounded && 'border-radius: var(--rounded-full);'}
41
-
42
- &.small {
43
- padding: var(--space-0_5) var(--space-1_5);
44
- font-size: var(--text-xs);
45
- border-radius: var(--rounded-sm);
46
- svg {
47
- margin-right: var(--space-1);
48
- width: var(--space-3);
49
- height: var(--space-3);
50
- }
51
- }
52
-
53
- &.medium {
54
- padding: var(--space-1) var(--space-2);
55
- font-size: var(--text-sm);
56
- border-radius: var(--rounded-md);
57
- svg {
58
- margin-right: var(--space-1);
59
- width: var(--space-3_5);
60
- height: var(--space-3_5);
61
- }
62
- }
63
-
64
- &.large {
65
- padding: var(--space-1_5) var(--space-2_5);
66
- font-size: var(--text-base);
67
- border-radius: var(--rounded-lg);
68
- svg {
69
- margin-right: var(--space-1_5);
70
- width: var(--space-4);
71
- height: var(--space-4);
72
- }
73
- }
74
- `;
75
-
76
- export type LabelProps = {
77
- color?: ThemeColor;
78
- size?: 'small' | 'medium' | 'large';
79
- rounded?: boolean;
80
- bordered?: boolean;
81
- };
82
-
83
- export const Label = forwardRef<
84
- HTMLSpanElement,
85
- ComponentProps<typeof StyledLabel> & LabelProps
86
- >(({ children, size = 'medium', className = '', ...props }, ref) => (
87
- <StyledLabel ref={ref} className={`${size} ${className}`} {...props}>
88
- {children}
89
- </StyledLabel>
90
- ));
1
+ import { ComponentProps, forwardRef } from 'react';
2
+ import styled, { css } from 'styled-components';
3
+
4
+ import { ThemeColor } from '../../providers/ThemeProvider/types';
5
+
6
+ export const StyledLabel = styled.span.withConfig({
7
+ shouldForwardProp: () => true,
8
+ })<LabelProps>`
9
+ display: inline-flex;
10
+ align-items: center;
11
+ justify-content: center;
12
+ font-family: var(--font-sans);
13
+ font-weight: 500;
14
+
15
+ ${({ color }) =>
16
+ color
17
+ ? css`
18
+ background-color: var(--color-${color}-100);
19
+ color: var(--color-${color}-700);
20
+ svg {
21
+ fill: var(--color-${color}-700);
22
+ }
23
+ `
24
+ : css`
25
+ background-color: var(--color-neutral-100);
26
+ color: var(--color-neutral-700);
27
+ svg {
28
+ fill: var(--color-neutral-700);
29
+ }
30
+ `}
31
+
32
+ ${({ bordered, color }) =>
33
+ bordered
34
+ ? css`
35
+ border: 1px solid
36
+ ${color ? `var(--color-${color}-200)` : 'var(--color-neutral-200)'};
37
+ `
38
+ : 'border: none;'}
39
+
40
+ ${({ rounded }) => rounded && 'border-radius: var(--rounded-full);'}
41
+
42
+ &.small {
43
+ padding: var(--space-0_5) var(--space-1_5);
44
+ font-size: var(--text-xs);
45
+ border-radius: var(--rounded-sm);
46
+ svg {
47
+ margin-right: var(--space-1);
48
+ width: var(--space-3);
49
+ height: var(--space-3);
50
+ }
51
+ }
52
+
53
+ &.medium {
54
+ padding: var(--space-1) var(--space-2);
55
+ font-size: var(--text-sm);
56
+ border-radius: var(--rounded-md);
57
+ svg {
58
+ margin-right: var(--space-1);
59
+ width: var(--space-3_5);
60
+ height: var(--space-3_5);
61
+ }
62
+ }
63
+
64
+ &.large {
65
+ padding: var(--space-1_5) var(--space-2_5);
66
+ font-size: var(--text-base);
67
+ border-radius: var(--rounded-lg);
68
+ svg {
69
+ margin-right: var(--space-1_5);
70
+ width: var(--space-4);
71
+ height: var(--space-4);
72
+ }
73
+ }
74
+ `;
75
+
76
+ export type LabelProps = {
77
+ color?: ThemeColor;
78
+ size?: 'small' | 'medium' | 'large';
79
+ rounded?: boolean;
80
+ bordered?: boolean;
81
+ };
82
+
83
+ export const Label = forwardRef<
84
+ HTMLSpanElement,
85
+ ComponentProps<typeof StyledLabel> & LabelProps
86
+ >(({ children, size = 'medium', className = '', ...props }, ref) => (
87
+ <StyledLabel ref={ref} className={`${size} ${className}`} {...props}>
88
+ {children}
89
+ </StyledLabel>
90
+ ));
@@ -1,44 +1,44 @@
1
- import { FC, useEffect, useState } from 'react';
2
- import { TabContainer, TabsListContainer } from './styles';
3
-
4
- import { SpaceProps } from '../../../helpers';
5
- import { Tab } from './types';
6
-
7
- type TabsListProps = {
8
- tabs: Tab[];
9
- selectedIndex?: number;
10
- onSelectedIndexChanged?: (index: number) => void;
11
- } & SpaceProps;
12
-
13
- export const TabsList: FC<TabsListProps> = ({
14
- tabs,
15
- selectedIndex,
16
- onSelectedIndexChanged,
17
- ...spaceProps
18
- }) => {
19
- const [activeIndex, setActiveIndex] = useState(selectedIndex ?? 0);
20
-
21
- useEffect(() => {
22
- setActiveIndex(selectedIndex ?? 0);
23
- }, [selectedIndex]);
24
-
25
- useEffect(() => {
26
- onSelectedIndexChanged?.(activeIndex);
27
- }, [activeIndex, onSelectedIndexChanged]);
28
-
29
- return (
30
- <TabsListContainer {...spaceProps}>
31
- {tabs.map((tab, index) => (
32
- <TabContainer
33
- key={index}
34
- $color={tab.color}
35
- $isActive={activeIndex === index}
36
- onClick={() => setActiveIndex(index)}
37
- >
38
- {tab.icon ? <tab.icon /> : null}
39
- {tab.tabName}
40
- </TabContainer>
41
- ))}
42
- </TabsListContainer>
43
- );
44
- };
1
+ import { FC, useEffect, useState } from 'react';
2
+ import { TabContainer, TabsListContainer } from './styles';
3
+
4
+ import { SpaceProps } from '../../../helpers';
5
+ import { Tab } from './types';
6
+
7
+ type TabsListProps = {
8
+ tabs: Tab[];
9
+ selectedIndex?: number;
10
+ onSelectedIndexChanged?: (index: number) => void;
11
+ } & SpaceProps;
12
+
13
+ export const TabsList: FC<TabsListProps> = ({
14
+ tabs,
15
+ selectedIndex,
16
+ onSelectedIndexChanged,
17
+ ...spaceProps
18
+ }) => {
19
+ const [activeIndex, setActiveIndex] = useState(selectedIndex ?? 0);
20
+
21
+ useEffect(() => {
22
+ setActiveIndex(selectedIndex ?? 0);
23
+ }, [selectedIndex]);
24
+
25
+ useEffect(() => {
26
+ onSelectedIndexChanged?.(activeIndex);
27
+ }, [activeIndex, onSelectedIndexChanged]);
28
+
29
+ return (
30
+ <TabsListContainer {...spaceProps}>
31
+ {tabs.map((tab, index) => (
32
+ <TabContainer
33
+ key={index}
34
+ $color={tab.color}
35
+ $isActive={activeIndex === index}
36
+ onClick={() => setActiveIndex(index)}
37
+ >
38
+ {tab.icon ? <tab.icon /> : null}
39
+ {tab.tabName}
40
+ </TabContainer>
41
+ ))}
42
+ </TabsListContainer>
43
+ );
44
+ };
@@ -1,4 +1,4 @@
1
- import { FC, useState } from 'react';
1
+ import { FC, useEffect, useState } from 'react';
2
2
  import { TabContentContainer, TabsViewContainer } from './styles';
3
3
 
4
4
  import { Tab } from './types';
@@ -7,12 +7,21 @@ import { TabsList } from './TabsList';
7
7
  type TabsViewProps = {
8
8
  tabs: Tab[];
9
9
  overflow?: boolean;
10
+ onSelectedTabChanged?: (tab: Tab, index: number) => void;
10
11
  };
11
12
 
12
- export const TabsView: FC<TabsViewProps> = ({ tabs, overflow = false }) => {
13
+ export const TabsView: FC<TabsViewProps> = ({
14
+ tabs,
15
+ overflow = false,
16
+ onSelectedTabChanged,
17
+ }) => {
13
18
  const [activeIndex, setActiveIndex] = useState(0);
14
19
  const activeTab = tabs[activeIndex];
15
20
 
21
+ useEffect(() => {
22
+ onSelectedTabChanged?.(tabs[activeIndex], activeIndex);
23
+ }, [activeIndex, tabs, onSelectedTabChanged]);
24
+
16
25
  return (
17
26
  <TabsViewContainer>
18
27
  <TabsList
@@ -1,3 +1,3 @@
1
- export * from './types';
2
- export * from './TabsView';
3
- export * from './TabsList';
1
+ export * from './types';
2
+ export * from './TabsView';
3
+ export * from './TabsList';
@@ -1 +1 @@
1
- export * from './space';
1
+ export * from './space';