@addev-be/ui 0.20.1 → 0.20.2

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 (254) 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/DataGridHeader.tsx +8 -8
  231. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +1 -1
  232. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +1 -2
  233. package/src/components/data/SqlRequestGrid/index.tsx +1 -2
  234. package/src/components/ui/Avatar/styles.ts +61 -61
  235. package/src/components/ui/Label.tsx +90 -90
  236. package/src/components/ui/Tab/index.tsx +33 -0
  237. package/src/components/ui/Tab/styles.ts +61 -0
  238. package/src/components/ui/Tab/types.ts +16 -0
  239. package/src/components/ui/index.ts +1 -0
  240. package/src/helpers/styled/index.ts +1 -1
  241. package/src/helpers/styled/space.ts +55 -55
  242. package/src/providers/TrackingProvider/hooks.ts +14 -14
  243. package/tsconfig.tsbuildinfo +1 -1
  244. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +0 -14
  245. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +0 -76
  246. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +0 -22
  247. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +0 -156
  248. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +0 -2
  249. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +0 -2
  250. package/dist/components/data/AdvancedRequestDataGrid/index.js +0 -215
  251. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +0 -21
  252. package/dist/components/data/DataGrid/DataGridEditableCell.d.ts +0 -2
  253. package/dist/components/data/DataGrid/DataGridEditableCell.js +0 -27
  254. /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.1",
3
+ "version": "0.20.2",
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.1",
23
+ "@addev-be/framework-utils": "^0.20.2",
24
24
  "@types/lodash": "^4",
25
25
  "@types/react": "^18.3.3",
26
26
  "@types/react-dom": "^18.3.0",
@@ -1,5 +1,5 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
1
+
2
+
3
3
 
4
4
  import * as styles from './styles';
5
5
 
@@ -116,33 +116,33 @@ export const DataGridHeader = <R,>({
116
116
  <styles.DataGridToolsRowButtonsContainer>
117
117
  <Loading visible={isLoadingVisible} />
118
118
  {editable && onSaveClicked && (
119
- <Button size="small" $color="primary" onClick={save}>
119
+ <Button size="small" $color="primary" onClick={save} bordered>
120
120
  <FloppyDiskIcon />
121
121
  Enregistrer
122
122
  </Button>
123
123
  )}
124
124
  {editable && onAddClicked && (
125
- <Button size="small" $color="success" onClick={add}>
125
+ <Button size="small" $color="success" onClick={add} bordered>
126
126
  <PlusIcon />
127
127
  Ajouter
128
128
  </Button>
129
129
  )}
130
130
  {
131
- <Button size="small" onClick={onRefreshClicked}>
131
+ <Button size="small" onClick={onRefreshClicked} bordered>
132
132
  <ArrowsRotateIcon />
133
133
  Rafraîchir
134
134
  </Button>
135
135
  }
136
- <Button $color="emerald" size="small" onClick={runCopyTable}>
136
+ <Button $color="emerald" size="small" onClick={runCopyTable} bordered>
137
137
  <CopyIcon />
138
138
  Copier la table
139
139
  </Button>
140
- <Button size="small" $color="danger" onClick={() => setFilters({})}>
140
+ <Button size="small" $color="danger" onClick={() => setFilters({})} bordered>
141
141
  <FilterSlashIcon />
142
142
  Supprimer les filtres
143
143
  </Button>
144
144
  {name && (
145
- <Button $color="info" size="small" onClick={openModal}>
145
+ <Button $color="info" size="small" onClick={openModal} bordered>
146
146
  <TableColumnsIcon />
147
147
  Paramètres des colonnes
148
148
  </Button>
@@ -1,5 +1,4 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
3
2
 
4
3
  import * as styles from './styles';
5
4
 
@@ -95,6 +94,7 @@ export const DataGridHeaderCell = <R,>({
95
94
  icon={ChevronDownIcon}
96
95
  color={hasFilters ? 'danger' : headerColor}
97
96
  onClick={onFilterButtonClicked}
97
+ bordered
98
98
  />
99
99
  )}
100
100
  {column.resizable !== false && (
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
2
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
2
 
4
3
  import { DEFAULT_COLUMN_WIDTH, SELECTION_CELL_WIDTH } from '../constants';
@@ -341,7 +340,7 @@ export const useDataGrid = <R,>(
341
340
  rows: [],
342
341
  columns: [],
343
342
  visibleColumns: [],
344
- rowKey: '' as keyof R,
343
+ rowKey: '',
345
344
  rowKeyGetter: () => '',
346
345
  sortedRows: [],
347
346
  selectedRows: [],
@@ -31,7 +31,6 @@ import { convertSqlFiltersToConditions } from './helpers';
31
31
  import { isColumnVisible } from '../DataGrid/helpers';
32
32
  import { useDataGrid } from '../DataGrid/hooks';
33
33
 
34
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
35
34
  export const SqlRequestGridInner = <R, P extends object = {}>(
36
35
  allProps: SqlRequestGridProps<R, P>,
37
36
  ref: ForwardedRef<SqlRequestGridRefProps>
@@ -256,7 +255,7 @@ export const SqlRequestGridInner = <R, P extends object = {}>(
256
255
  onSelectionChange: () => {},
257
256
  onSelectedRowsChanged: () => {},
258
257
  selectable: false,
259
- rowKey: () => '',
258
+ rowKey: '',
260
259
  filter: false,
261
260
  sort: false,
262
261
  });
@@ -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
+ ));
@@ -0,0 +1,33 @@
1
+ import { FC, useState } from 'react';
2
+ import {
3
+ TabContainer,
4
+ TabContentContainer,
5
+ TabListContainer,
6
+ TabViewContainer,
7
+ } from './styles';
8
+
9
+ import { TabProps } from './types';
10
+
11
+ export const TabView: FC<TabProps> = ({ tabs }) => {
12
+ const [activeIndex, setActiveIndex] = useState(0);
13
+ const activeTab = tabs[activeIndex];
14
+
15
+ return (
16
+ <TabViewContainer>
17
+ <TabListContainer>
18
+ {tabs.map((tab, index) => (
19
+ <TabContainer
20
+ key={index}
21
+ $color={tab.color}
22
+ $isActive={activeIndex === index}
23
+ onClick={() => setActiveIndex(index)}
24
+ >
25
+ {tab.icon ? <tab.icon /> : null}
26
+ {tab.tabName}
27
+ </TabContainer>
28
+ ))}
29
+ </TabListContainer>
30
+ <TabContentContainer>{activeTab.content}</TabContentContainer>
31
+ </TabViewContainer>
32
+ );
33
+ };
@@ -0,0 +1,61 @@
1
+ import { ThemeColor, ThemeColorWithIntensity } from '../../../providers';
2
+ import styled, { css } from 'styled-components';
3
+
4
+ import { getColorWithIntensity } from '../../../providers/ThemeProvider/helpers';
5
+
6
+ export const TabViewContainer = styled.div`
7
+ display: flex;
8
+ flex-direction: column;
9
+ height: 100%;
10
+ `;
11
+
12
+ export const TabListContainer = styled.div`
13
+ display: flex;
14
+ flex-direction: row;
15
+ flex-shrink: 0;
16
+ justify-content: flex-start;
17
+ gap: var(--space-2);
18
+ overflow-x: scroll;
19
+ scrollbar-width: none;
20
+ padding: var(--space-2) var(--space-2);
21
+ font-size: var(--text-base);
22
+ `;
23
+
24
+ export const TabContainer = styled.div<{
25
+ $color?: ThemeColorWithIntensity | ThemeColor;
26
+ $isActive?: boolean;
27
+ }>`
28
+ display: flex;
29
+ align-items: center;
30
+ height: var(--space-8);
31
+ gap: var(--space-2);
32
+ cursor: pointer;
33
+ padding: 0 var(--space-2);
34
+
35
+ ${({ $color = 'primary' }) => css`
36
+ &:hover {
37
+ color: var(--color-${getColorWithIntensity($color, 500)});
38
+ fill: var(--color-${getColorWithIntensity($color, 500)});
39
+ }
40
+ svg {
41
+ height: var(--space-4);
42
+ width: var(--space-4);
43
+ }
44
+ `};
45
+
46
+ ${({ $isActive, $color = 'primary' }) =>
47
+ $isActive &&
48
+ css`
49
+ border-bottom: var(--space-0_5) solid;
50
+ color: var(--color-${getColorWithIntensity($color, 500)});
51
+ fill: var(--color-${getColorWithIntensity($color, 500)});
52
+ `}
53
+ `;
54
+
55
+ export const TabContentContainer = styled.div<{
56
+ $isActive?: boolean;
57
+ }>`
58
+ display: flex;
59
+ height: 100%;
60
+ overflow: hidden;
61
+ `;
@@ -0,0 +1,16 @@
1
+ import { ThemeColor, ThemeColorWithIntensity } from '../../../providers';
2
+
3
+ import { IconFC } from '../../../Icons';
4
+ import { ReactNode } from 'react';
5
+
6
+ export type Tab = {
7
+ color?: ThemeColorWithIntensity | ThemeColor;
8
+ content: ReactNode;
9
+ icon?: IconFC;
10
+ key?: string;
11
+ tabName: string;
12
+ };
13
+
14
+ export type TabProps = {
15
+ tabs: Tab[];
16
+ };
@@ -4,3 +4,4 @@ export * from './ContextMenu';
4
4
  export * from './Ellipsis';
5
5
  export * from './Label';
6
6
  export * from './Message';
7
+ export * from './Tab';
@@ -1 +1 @@
1
- export * from './space';
1
+ export * from './space';
@@ -1,55 +1,55 @@
1
- import { ThemeSpace } from '../../providers';
2
- import { css } from 'styled-components';
3
-
4
- export type MarginProps = {
5
- m?: ThemeSpace;
6
- mx?: ThemeSpace;
7
- my?: ThemeSpace;
8
- mt?: ThemeSpace;
9
- mr?: ThemeSpace;
10
- mb?: ThemeSpace;
11
- ml?: ThemeSpace;
12
- };
13
-
14
- export const margins = css<MarginProps>`
15
- ${({ m }) => m && `margin: var(--space-${m});`}
16
- ${({ mx }) =>
17
- mx && `margin-left: var(--space-${mx}); margin-right: var(--space-${mx});`}
18
- ${({ my }) =>
19
- my && `margin-top: var(--space-${my}); margin-bottom: var(--space-${my});`}
20
- ${({ mt }) => mt && `margin-top: var(--space-${mt});`}
21
- ${({ mr }) => mr && `margin-right: var(--space-${mr});`}
22
- ${({ mb }) => mb && `margin-bottom: var(--space-${mb});`}
23
- ${({ ml }) => ml && `margin-left: var(--space-${ml});`}
24
- `;
25
-
26
- export type PaddingProps = {
27
- p?: ThemeSpace;
28
- px?: ThemeSpace;
29
- py?: ThemeSpace;
30
- pt?: ThemeSpace;
31
- pr?: ThemeSpace;
32
- pb?: ThemeSpace;
33
- pl?: ThemeSpace;
34
- };
35
-
36
- export const paddings = css<PaddingProps>`
37
- ${({ p }) => p && `padding: var(--space-${p});`}
38
- ${({ px }) =>
39
- px &&
40
- `padding-left: var(--space-${px}); padding-right: var(--space-${px});`}
41
- ${({ py }) =>
42
- py &&
43
- `padding-top: var(--space-${py}); padding-bottom: var(--space-${py});`}
44
- ${({ pt }) => pt && `padding-top: var(--space-${pt});`}
45
- ${({ pr }) => pr && `padding-right: var(--space-${pr});`}
46
- ${({ pb }) => pb && `padding-bottom: var(--space-${pb});`}
47
- ${({ pl }) => pl && `padding-left: var(--space-${pl});`}
48
- `;
49
-
50
- export type SpaceProps = MarginProps & PaddingProps;
51
-
52
- export const space = css<SpaceProps>`
53
- ${margins}
54
- ${paddings}
55
- `;
1
+ import { ThemeSpace } from '../../providers';
2
+ import { css } from 'styled-components';
3
+
4
+ export type MarginProps = {
5
+ m?: ThemeSpace;
6
+ mx?: ThemeSpace;
7
+ my?: ThemeSpace;
8
+ mt?: ThemeSpace;
9
+ mr?: ThemeSpace;
10
+ mb?: ThemeSpace;
11
+ ml?: ThemeSpace;
12
+ };
13
+
14
+ export const margins = css<MarginProps>`
15
+ ${({ m }) => m && `margin: var(--space-${m});`}
16
+ ${({ mx }) =>
17
+ mx && `margin-left: var(--space-${mx}); margin-right: var(--space-${mx});`}
18
+ ${({ my }) =>
19
+ my && `margin-top: var(--space-${my}); margin-bottom: var(--space-${my});`}
20
+ ${({ mt }) => mt && `margin-top: var(--space-${mt});`}
21
+ ${({ mr }) => mr && `margin-right: var(--space-${mr});`}
22
+ ${({ mb }) => mb && `margin-bottom: var(--space-${mb});`}
23
+ ${({ ml }) => ml && `margin-left: var(--space-${ml});`}
24
+ `;
25
+
26
+ export type PaddingProps = {
27
+ p?: ThemeSpace;
28
+ px?: ThemeSpace;
29
+ py?: ThemeSpace;
30
+ pt?: ThemeSpace;
31
+ pr?: ThemeSpace;
32
+ pb?: ThemeSpace;
33
+ pl?: ThemeSpace;
34
+ };
35
+
36
+ export const paddings = css<PaddingProps>`
37
+ ${({ p }) => p && `padding: var(--space-${p});`}
38
+ ${({ px }) =>
39
+ px &&
40
+ `padding-left: var(--space-${px}); padding-right: var(--space-${px});`}
41
+ ${({ py }) =>
42
+ py &&
43
+ `padding-top: var(--space-${py}); padding-bottom: var(--space-${py});`}
44
+ ${({ pt }) => pt && `padding-top: var(--space-${pt});`}
45
+ ${({ pr }) => pr && `padding-right: var(--space-${pr});`}
46
+ ${({ pb }) => pb && `padding-bottom: var(--space-${pb});`}
47
+ ${({ pl }) => pl && `padding-left: var(--space-${pl});`}
48
+ `;
49
+
50
+ export type SpaceProps = MarginProps & PaddingProps;
51
+
52
+ export const space = css<SpaceProps>`
53
+ ${margins}
54
+ ${paddings}
55
+ `;