@addev-be/ui 2.4.0 → 2.4.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 (250) 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/DataGrid/hooks/useDataGrid.js +3 -0
  25. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.d.ts +1 -2
  26. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.js +3 -2
  27. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +3 -1
  28. package/dist/services/index.js +7 -17
  29. package/eslint.config.js +3 -3
  30. package/package.json +2 -2
  31. package/src/Icons.tsx +138 -138
  32. package/src/components/auth/LoginForm.tsx +86 -86
  33. package/src/components/auth/LoginPage.tsx +32 -32
  34. package/src/components/auth/PasswordRecoveryForm.tsx +53 -53
  35. package/src/components/auth/PasswordResetForm.tsx +112 -112
  36. package/src/components/auth/styles.ts +14 -14
  37. package/src/components/data/DataGrid/DataGridCell.tsx +81 -81
  38. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +9 -9
  39. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -59
  40. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +182 -182
  41. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  42. package/src/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.tsx +37 -37
  43. package/src/components/data/DataGrid/DataGridEditableCell/DateEditableCell.tsx +38 -38
  44. package/src/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.tsx +71 -71
  45. package/src/components/data/DataGrid/DataGridEditableCell/TextEditableCell.tsx +37 -37
  46. package/src/components/data/DataGrid/DataGridEditableCell/index.tsx +106 -106
  47. package/src/components/data/DataGrid/DataGridEditableCell/styles.ts +35 -35
  48. package/src/components/data/DataGrid/DataGridEditableCell/types.ts +18 -18
  49. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +129 -129
  50. package/src/components/data/DataGrid/DataGridFilterMenu/helpers.ts +23 -23
  51. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +81 -81
  52. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +370 -370
  53. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +97 -97
  54. package/src/components/data/DataGrid/DataGridFooter.tsx +45 -45
  55. package/src/components/data/DataGrid/DataGridHeader.tsx +74 -74
  56. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +112 -112
  57. package/src/components/data/DataGrid/DataGridRowTemplate.tsx +83 -83
  58. package/src/components/data/DataGrid/DataGridToolbar.tsx +134 -134
  59. package/src/components/data/DataGrid/FilterModalContent/index.tsx +137 -137
  60. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  61. package/src/components/data/DataGrid/constants.ts +6 -6
  62. package/src/components/data/DataGrid/helpers/columns.tsx +452 -452
  63. package/src/components/data/DataGrid/helpers/filters.ts +287 -287
  64. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  65. package/src/components/data/DataGrid/hooks/index.ts +29 -29
  66. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +383 -380
  67. package/src/components/data/DataGrid/hooks/useDataGridChangedRows.ts +97 -97
  68. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +174 -174
  69. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  70. package/src/components/data/DataGrid/hooks/useRefreshModal.tsx +48 -48
  71. package/src/components/data/DataGrid/index.tsx +111 -111
  72. package/src/components/data/DataGrid/styles.ts +430 -430
  73. package/src/components/data/DataGrid/types.ts +380 -380
  74. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +526 -524
  75. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  76. package/src/components/data/SqlRequestDataGrid/helpers/rows.ts +24 -24
  77. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  78. package/src/components/data/SqlRequestDataGrid/index.tsx +417 -417
  79. package/src/components/data/SqlRequestDataGrid/styles.ts +15 -15
  80. package/src/components/data/SqlRequestDataGrid/types.ts +74 -74
  81. package/src/components/data/SqlRequestForeignList/index.tsx +254 -254
  82. package/src/components/data/SqlRequestForeignList/styles.ts +43 -43
  83. package/src/components/data/SqlRequestForeignList/types.ts +32 -32
  84. package/src/components/data/SqlRequestGrid/filters/FiltersSidebar.tsx +108 -108
  85. package/src/components/data/SqlRequestGrid/filters/styles.ts +88 -88
  86. package/src/components/data/SqlRequestGrid/helpers/index.ts +1 -1
  87. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +16 -16
  88. package/src/components/data/SqlRequestGrid/index.tsx +304 -304
  89. package/src/components/data/SqlRequestGrid/styles.ts +20 -20
  90. package/src/components/data/SqlRequestGrid/types.ts +73 -73
  91. package/src/components/data/VirtualScroller/hooks.ts +71 -71
  92. package/src/components/data/VirtualScroller/index.tsx +89 -89
  93. package/src/components/data/VirtualScroller/styles.ts +57 -57
  94. package/src/components/data/VirtualScroller/types.ts +10 -10
  95. package/src/components/forms/AutoTextArea.tsx +48 -48
  96. package/src/components/forms/Button.tsx +132 -132
  97. package/src/components/forms/Form/Checkbox.tsx +12 -12
  98. package/src/components/forms/Form/CustomSelect.tsx +86 -86
  99. package/src/components/forms/Form/FormGroup.tsx +31 -31
  100. package/src/components/forms/Form/Input.tsx +16 -16
  101. package/src/components/forms/Form/Row.tsx +32 -32
  102. package/src/components/forms/Form/Select.tsx +82 -82
  103. package/src/components/forms/Form/TextArea.tsx +17 -17
  104. package/src/components/forms/Form/index.tsx +48 -48
  105. package/src/components/forms/Form/styles.ts +184 -184
  106. package/src/components/forms/IconButton.tsx +61 -61
  107. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  108. package/src/components/forms/NumberInput.tsx +53 -53
  109. package/src/components/forms/Select.tsx +34 -34
  110. package/src/components/forms/VerticalLabel.tsx +20 -20
  111. package/src/components/forms/styles.ts +42 -42
  112. package/src/components/layout/Columns.ts +28 -28
  113. package/src/components/layout/Dropdown/index.tsx +113 -113
  114. package/src/components/layout/Dropdown/styles.ts +53 -53
  115. package/src/components/layout/Flexbox.ts +21 -21
  116. package/src/components/layout/Grid/index.tsx +8 -8
  117. package/src/components/layout/Grid/styles.ts +34 -34
  118. package/src/components/layout/Loading/index.tsx +29 -29
  119. package/src/components/layout/Loading/styles.ts +29 -29
  120. package/src/components/layout/Masonry/index.tsx +29 -29
  121. package/src/components/layout/Masonry/styles.ts +20 -20
  122. package/src/components/layout/Modal/index.tsx +51 -51
  123. package/src/components/layout/Modal/styles.ts +125 -125
  124. package/src/components/search/HighlightedText.tsx +41 -41
  125. package/src/components/search/QuickSearchBar.tsx +99 -99
  126. package/src/components/search/QuickSearchResults.tsx +86 -86
  127. package/src/components/search/styles.ts +96 -96
  128. package/src/components/search/types.ts +29 -29
  129. package/src/components/ui/Avatar/index.tsx +54 -54
  130. package/src/components/ui/Avatar/styles.ts +61 -61
  131. package/src/components/ui/Card/index.tsx +14 -14
  132. package/src/components/ui/Card/styles.ts +37 -37
  133. package/src/components/ui/ContextMenu/index.tsx +79 -79
  134. package/src/components/ui/ContextMenu/styles.ts +119 -119
  135. package/src/components/ui/Ellipsis.tsx +33 -33
  136. package/src/components/ui/Label.tsx +93 -93
  137. package/src/components/ui/Message/index.tsx +57 -57
  138. package/src/components/ui/Message/styles.ts +44 -44
  139. package/src/components/ui/TabsView/TabsList.tsx +44 -44
  140. package/src/components/ui/TabsView/TabsView.tsx +38 -38
  141. package/src/components/ui/TabsView/index.ts +3 -3
  142. package/src/components/ui/TabsView/styles.ts +76 -76
  143. package/src/components/ui/TabsView/types.ts +15 -15
  144. package/src/config/index.ts +10 -10
  145. package/src/helpers/components.ts +9 -9
  146. package/src/helpers/dates.ts +17 -17
  147. package/src/helpers/getScrollbarSize.ts +14 -14
  148. package/src/helpers/numbers.ts +63 -63
  149. package/src/helpers/responsive.ts +83 -83
  150. package/src/helpers/styled/space.ts +114 -114
  151. package/src/helpers/styled/typography.ts +25 -25
  152. package/src/helpers/text.ts +13 -13
  153. package/src/helpers/types.ts +9 -9
  154. package/src/hooks/useContainerMediaQuery.ts +7 -7
  155. package/src/hooks/useElementSize.ts +24 -24
  156. package/src/hooks/useMediaQuery.ts +9 -9
  157. package/src/hooks/useMediaQueryForWidth.ts +35 -35
  158. package/src/hooks/useMutableState.ts +25 -25
  159. package/src/hooks/useShowArchived.ts +28 -28
  160. package/src/hooks/useWindowSize.ts +20 -20
  161. package/src/index.ts +102 -102
  162. package/src/providers/AuthenticationProvider/helpers.ts +3 -3
  163. package/src/providers/AuthenticationProvider/index.tsx +303 -303
  164. package/src/providers/LoadingProvider/index.tsx +47 -47
  165. package/src/providers/PortalsProvider/index.tsx +54 -54
  166. package/src/providers/PortalsProvider/styles.ts +31 -31
  167. package/src/providers/SettingsProvider/index.tsx +70 -70
  168. package/src/providers/ThemeProvider/defaultTheme.ts +470 -470
  169. package/src/providers/ThemeProvider/helpers.ts +84 -84
  170. package/src/providers/ThemeProvider/index.ts +66 -66
  171. package/src/providers/ThemeProvider/types.ts +134 -134
  172. package/src/providers/ToastProvider/index.tsx +93 -93
  173. package/src/providers/TrackingProvider/hooks.ts +14 -14
  174. package/src/providers/TrackingProvider/index.tsx +71 -71
  175. package/src/providers/UiProviders/index.tsx +76 -76
  176. package/src/providers/UiProviders/styles.ts +10 -10
  177. package/src/providers/hooks.ts +14 -14
  178. package/src/services/HttpService.ts +92 -92
  179. package/src/services/WebSocketService.ts +155 -155
  180. package/src/services/advancedRequests.ts +102 -102
  181. package/src/services/base.ts +23 -23
  182. package/src/services/globalSearch.ts +32 -32
  183. package/src/services/hooks.ts +92 -92
  184. package/src/services/requests/auth.ts +44 -44
  185. package/src/services/requests/generic.ts +62 -62
  186. package/src/services/requests/tracking.ts +12 -12
  187. package/src/services/requests/userProfiles.ts +35 -35
  188. package/src/services/requests/users.ts +28 -28
  189. package/src/services/smartQueries.ts +122 -122
  190. package/src/services/sqlRequests.ts +111 -111
  191. package/src/services/types/auth.ts +98 -98
  192. package/src/services/types/base.ts +10 -10
  193. package/src/services/types/generic.ts +82 -82
  194. package/src/services/types/tracking.ts +29 -29
  195. package/src/services/types/userProfiles.ts +79 -79
  196. package/src/services/types/users.ts +74 -74
  197. package/src/services/updateSqlRequests.ts +32 -32
  198. package/src/styles/animations.scss +30 -30
  199. package/src/styles/index.scss +42 -42
  200. package/src/types.ts +8 -8
  201. package/src/typings.d.ts +2 -2
  202. package/tsconfig.json +18 -18
  203. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +0 -14
  204. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +0 -77
  205. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +0 -22
  206. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +0 -105
  207. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +0 -2
  208. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.js +0 -18
  209. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +0 -2
  210. package/dist/components/data/AdvancedRequestDataGrid/index.js +0 -215
  211. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +0 -21
  212. package/dist/components/data/AdvancedRequestDataGrid/types.js +0 -2
  213. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +0 -10
  214. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +0 -173
  215. package/dist/components/data/DataGrid/DataGridEditableCell.d.ts +0 -2
  216. package/dist/components/data/DataGrid/DataGridEditableCell.js +0 -27
  217. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +0 -13
  218. package/dist/components/data/DataGrid/FilterValuesScroller.js +0 -73
  219. package/dist/components/data/DataGrid/VirtualScroller.d.ts +0 -11
  220. package/dist/components/data/DataGrid/VirtualScroller.js +0 -41
  221. package/dist/components/data/DataGrid/helpers/advancedRequests.d.ts +0 -12
  222. package/dist/components/data/DataGrid/helpers/advancedRequests.js +0 -53
  223. package/dist/components/data/DataGrid/helpers.d.ts +0 -28
  224. package/dist/components/data/DataGrid/helpers.js +0 -436
  225. package/dist/components/data/SmartQueryDataGrid/helpers/columns.d.ts +0 -20
  226. package/dist/components/data/SmartQueryDataGrid/helpers/columns.js +0 -160
  227. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.d.ts +0 -5
  228. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.js +0 -41
  229. package/dist/components/data/SmartQueryDataGrid/helpers/index.d.ts +0 -2
  230. package/dist/components/data/SmartQueryDataGrid/helpers/index.js +0 -18
  231. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.d.ts +0 -3
  232. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.js +0 -15
  233. package/dist/components/data/SmartQueryDataGrid/hooks.d.ts +0 -9
  234. package/dist/components/data/SmartQueryDataGrid/hooks.js +0 -63
  235. package/dist/components/data/SmartQueryDataGrid/index.d.ts +0 -12
  236. package/dist/components/data/SmartQueryDataGrid/index.js +0 -242
  237. package/dist/components/data/SmartQueryDataGrid/types.d.ts +0 -22
  238. package/dist/components/data/SmartQueryDataGrid/types.js +0 -2
  239. package/dist/components/forms/Form/InputWithLabel.d.ts +0 -2
  240. package/dist/components/forms/Form/InputWithLabel.js +0 -10
  241. package/dist/components/forms/Form/types.d.ts +0 -7
  242. package/dist/components/forms/Form/types.js +0 -2
  243. package/dist/config/types.d.ts +0 -11
  244. package/dist/config/types.js +0 -2
  245. package/dist/helpers/react.d.ts +0 -2
  246. package/dist/helpers/react.js +0 -8
  247. package/dist/helpers/styled/index.d.ts +0 -1
  248. package/dist/helpers/styled/index.js +0 -17
  249. package/dist/services/requests/userPermissions.d.ts +0 -4
  250. package/dist/services/requests/userPermissions.js +0 -20
@@ -1,84 +1,84 @@
1
- import {
2
- Theme,
3
- ThemeColor,
4
- ThemeColorIntensity,
5
- ThemeColorWithIntensity,
6
- } from './types';
7
- import { defaultDarkTheme, defaultTheme } from './defaultTheme';
8
-
9
- import { DeepPartial } from '../../types';
10
- import { defaultsDeep } from 'lodash';
11
-
12
- export const extendTheme = (
13
- base: Theme,
14
- override?: DeepPartial<Theme>
15
- ): Theme => defaultsDeep({}, override, base);
16
-
17
- export const extendDefaultTheme = (override?: DeepPartial<Theme>): Theme =>
18
- extendTheme(defaultTheme, override);
19
- export const extendDefaultDarkTheme = (override?: DeepPartial<Theme>): Theme =>
20
- extendTheme(defaultDarkTheme, override);
21
-
22
- export const getColor = (
23
- colorWithIntensity: ThemeColorWithIntensity
24
- ): ThemeColor => {
25
- const [colorName] = colorWithIntensity.split('-');
26
- return colorName as ThemeColor;
27
- };
28
-
29
- export const getIntensity = (
30
- colorWithIntensity: ThemeColorWithIntensity
31
- ): ThemeColorIntensity => {
32
- const [, intensity] = colorWithIntensity.split('-');
33
- return Number(intensity) as ThemeColorIntensity;
34
- };
35
-
36
- export const isThemeColorWithIntensity = (
37
- color: ThemeColor | ThemeColorWithIntensity
38
- ): color is ThemeColorWithIntensity => {
39
- return color.indexOf('-') >= 0;
40
- };
41
-
42
- export const getColorWithIntensity = (
43
- color: ThemeColor | ThemeColorWithIntensity,
44
- defaultIntensity: ThemeColorIntensity = 300
45
- ): ThemeColorWithIntensity => {
46
- if (isThemeColorWithIntensity(color)) {
47
- return color;
48
- }
49
- return `${color}-${defaultIntensity}`;
50
- };
51
-
52
- export const extractColorAndIntensity = (
53
- color: ThemeColor | ThemeColorWithIntensity,
54
- defaultIntensity: ThemeColorIntensity = 300
55
- ): [ThemeColor, ThemeColorIntensity] => {
56
- if (isThemeColorWithIntensity(color)) {
57
- const [colorName, intensity] = color.split('-');
58
- return [
59
- colorName as ThemeColor,
60
- intensity ? (Number(intensity) as ThemeColorIntensity) : defaultIntensity,
61
- ];
62
- }
63
- return [color, defaultIntensity];
64
- };
65
-
66
- export const darkenColor = (
67
- color: ThemeColor | ThemeColorWithIntensity,
68
- amount: number = 100
69
- ): ThemeColorWithIntensity => {
70
- const [colorName, intensity] = extractColorAndIntensity(color);
71
- const newIntensity = (Math.floor(Math.min(intensity + amount, 950) / 100) *
72
- 100) as ThemeColorIntensity;
73
- return `${colorName}-${newIntensity}` as ThemeColorWithIntensity;
74
- };
75
-
76
- export const lightenColor = (
77
- color: ThemeColor | ThemeColorWithIntensity,
78
- amount: number = 100
79
- ): ThemeColorWithIntensity => {
80
- const [colorName, intensity] = extractColorAndIntensity(color);
81
- const newIntensity = (Math.floor(Math.max(intensity - amount, 0) / 100) *
82
- 100) as ThemeColorIntensity;
83
- return `${colorName}-${newIntensity}` as ThemeColorWithIntensity;
84
- };
1
+ import {
2
+ Theme,
3
+ ThemeColor,
4
+ ThemeColorIntensity,
5
+ ThemeColorWithIntensity,
6
+ } from './types';
7
+ import { defaultDarkTheme, defaultTheme } from './defaultTheme';
8
+
9
+ import { DeepPartial } from '../../types';
10
+ import { defaultsDeep } from 'lodash';
11
+
12
+ export const extendTheme = (
13
+ base: Theme,
14
+ override?: DeepPartial<Theme>
15
+ ): Theme => defaultsDeep({}, override, base);
16
+
17
+ export const extendDefaultTheme = (override?: DeepPartial<Theme>): Theme =>
18
+ extendTheme(defaultTheme, override);
19
+ export const extendDefaultDarkTheme = (override?: DeepPartial<Theme>): Theme =>
20
+ extendTheme(defaultDarkTheme, override);
21
+
22
+ export const getColor = (
23
+ colorWithIntensity: ThemeColorWithIntensity
24
+ ): ThemeColor => {
25
+ const [colorName] = colorWithIntensity.split('-');
26
+ return colorName as ThemeColor;
27
+ };
28
+
29
+ export const getIntensity = (
30
+ colorWithIntensity: ThemeColorWithIntensity
31
+ ): ThemeColorIntensity => {
32
+ const [, intensity] = colorWithIntensity.split('-');
33
+ return Number(intensity) as ThemeColorIntensity;
34
+ };
35
+
36
+ export const isThemeColorWithIntensity = (
37
+ color: ThemeColor | ThemeColorWithIntensity
38
+ ): color is ThemeColorWithIntensity => {
39
+ return color.indexOf('-') >= 0;
40
+ };
41
+
42
+ export const getColorWithIntensity = (
43
+ color: ThemeColor | ThemeColorWithIntensity,
44
+ defaultIntensity: ThemeColorIntensity = 300
45
+ ): ThemeColorWithIntensity => {
46
+ if (isThemeColorWithIntensity(color)) {
47
+ return color;
48
+ }
49
+ return `${color}-${defaultIntensity}`;
50
+ };
51
+
52
+ export const extractColorAndIntensity = (
53
+ color: ThemeColor | ThemeColorWithIntensity,
54
+ defaultIntensity: ThemeColorIntensity = 300
55
+ ): [ThemeColor, ThemeColorIntensity] => {
56
+ if (isThemeColorWithIntensity(color)) {
57
+ const [colorName, intensity] = color.split('-');
58
+ return [
59
+ colorName as ThemeColor,
60
+ intensity ? (Number(intensity) as ThemeColorIntensity) : defaultIntensity,
61
+ ];
62
+ }
63
+ return [color, defaultIntensity];
64
+ };
65
+
66
+ export const darkenColor = (
67
+ color: ThemeColor | ThemeColorWithIntensity,
68
+ amount: number = 100
69
+ ): ThemeColorWithIntensity => {
70
+ const [colorName, intensity] = extractColorAndIntensity(color);
71
+ const newIntensity = (Math.floor(Math.min(intensity + amount, 950) / 100) *
72
+ 100) as ThemeColorIntensity;
73
+ return `${colorName}-${newIntensity}` as ThemeColorWithIntensity;
74
+ };
75
+
76
+ export const lightenColor = (
77
+ color: ThemeColor | ThemeColorWithIntensity,
78
+ amount: number = 100
79
+ ): ThemeColorWithIntensity => {
80
+ const [colorName, intensity] = extractColorAndIntensity(color);
81
+ const newIntensity = (Math.floor(Math.max(intensity - amount, 0) / 100) *
82
+ 100) as ThemeColorIntensity;
83
+ return `${colorName}-${newIntensity}` as ThemeColorWithIntensity;
84
+ };
@@ -1,66 +1,66 @@
1
- import { Theme } from './types';
2
- import { defaultTheme } from './defaultTheme';
3
- import styled from 'styled-components';
4
-
5
- type ThemeProviderProps = {
6
- $theme?: Theme;
7
- $darkTheme?: Theme;
8
- $darkMode?: boolean;
9
- };
10
-
11
- const getThemeValuesCss = (
12
- prefix: string,
13
- obj: Record<string, string> | undefined
14
- ) => {
15
- return Object.entries(obj ?? {})
16
- .map(([key, value]) => {
17
- return `--${prefix}-${key}: ${value};`;
18
- })
19
- .join('');
20
- };
21
-
22
- const getThemeColorsCss = (colors: Theme['colors'], darkMode = false) => {
23
- return Object.entries(colors ?? {})
24
- .map(([color, intensities]) =>
25
- Object.entries(
26
- (typeof intensities === 'string'
27
- ? (colors ?? {})[intensities] ??
28
- (defaultTheme.colors ?? {})[intensities]
29
- : intensities) ?? {}
30
- )
31
- .map(
32
- ([intensity, value]) =>
33
- `--color-${color}-${
34
- darkMode ? 1000 - Number(intensity) : intensity
35
- }: ${value};`
36
- )
37
- .join('')
38
- )
39
- .join('');
40
- };
41
-
42
- export const ThemeProvider = styled.div<ThemeProviderProps>`
43
- display: contents;
44
- ${({ $theme = {}, $darkTheme, $darkMode }) => {
45
- const theme = $darkMode ? $darkTheme ?? $theme : $theme;
46
- const darkMode = !$darkTheme && $darkMode;
47
- return [
48
- getThemeColorsCss(theme.colors, darkMode),
49
- getThemeValuesCss('font', theme.fonts),
50
- getThemeValuesCss('text', theme.texts),
51
- getThemeValuesCss('weight', theme.weights),
52
- getThemeValuesCss('space', theme.spaces),
53
- getThemeValuesCss('size', theme.sizes),
54
- getThemeValuesCss('rounded', theme.rounded),
55
- getThemeValuesCss('shadow', theme.shadows),
56
- ].join('');
57
- }}
58
-
59
- a, a:visited {
60
- color: var(--color-primary-500);
61
- }
62
- a:active,
63
- a:hover {
64
- color: var(--color-primary-700);
65
- }
66
- `;
1
+ import { Theme } from './types';
2
+ import { defaultTheme } from './defaultTheme';
3
+ import styled from 'styled-components';
4
+
5
+ type ThemeProviderProps = {
6
+ $theme?: Theme;
7
+ $darkTheme?: Theme;
8
+ $darkMode?: boolean;
9
+ };
10
+
11
+ const getThemeValuesCss = (
12
+ prefix: string,
13
+ obj: Record<string, string> | undefined
14
+ ) => {
15
+ return Object.entries(obj ?? {})
16
+ .map(([key, value]) => {
17
+ return `--${prefix}-${key}: ${value};`;
18
+ })
19
+ .join('');
20
+ };
21
+
22
+ const getThemeColorsCss = (colors: Theme['colors'], darkMode = false) => {
23
+ return Object.entries(colors ?? {})
24
+ .map(([color, intensities]) =>
25
+ Object.entries(
26
+ (typeof intensities === 'string'
27
+ ? (colors ?? {})[intensities] ??
28
+ (defaultTheme.colors ?? {})[intensities]
29
+ : intensities) ?? {}
30
+ )
31
+ .map(
32
+ ([intensity, value]) =>
33
+ `--color-${color}-${
34
+ darkMode ? 1000 - Number(intensity) : intensity
35
+ }: ${value};`
36
+ )
37
+ .join('')
38
+ )
39
+ .join('');
40
+ };
41
+
42
+ export const ThemeProvider = styled.div<ThemeProviderProps>`
43
+ display: contents;
44
+ ${({ $theme = {}, $darkTheme, $darkMode }) => {
45
+ const theme = $darkMode ? $darkTheme ?? $theme : $theme;
46
+ const darkMode = !$darkTheme && $darkMode;
47
+ return [
48
+ getThemeColorsCss(theme.colors, darkMode),
49
+ getThemeValuesCss('font', theme.fonts),
50
+ getThemeValuesCss('text', theme.texts),
51
+ getThemeValuesCss('weight', theme.weights),
52
+ getThemeValuesCss('space', theme.spaces),
53
+ getThemeValuesCss('size', theme.sizes),
54
+ getThemeValuesCss('rounded', theme.rounded),
55
+ getThemeValuesCss('shadow', theme.shadows),
56
+ ].join('');
57
+ }}
58
+
59
+ a, a:visited {
60
+ color: var(--color-primary-500);
61
+ }
62
+ a:active,
63
+ a:hover {
64
+ color: var(--color-primary-700);
65
+ }
66
+ `;
@@ -1,134 +1,134 @@
1
- import { DeepPartial } from '../../types';
2
-
3
- export type ThemeColorIntensity =
4
- | 0
5
- | 50
6
- | 100
7
- | 200
8
- | 300
9
- | 400
10
- | 500
11
- | 600
12
- | 700
13
- | 800
14
- | 900
15
- | 950
16
- | 1000;
17
- export type ThemeColorDefinition = Record<ThemeColorIntensity, string>;
18
- export type ThemeRawColor =
19
- | 'slate'
20
- | 'gray'
21
- | 'zinc'
22
- | 'neutral'
23
- | 'stone'
24
- | 'red'
25
- | 'orange'
26
- | 'amber'
27
- | 'yellow'
28
- | 'lime'
29
- | 'green'
30
- | 'emerald'
31
- | 'teal'
32
- | 'cyan'
33
- | 'sky'
34
- | 'blue'
35
- | 'indigo'
36
- | 'violet'
37
- | 'purple'
38
- | 'fuchsia'
39
- | 'pink'
40
- | 'rose';
41
- export type ThemePredefinedColor =
42
- | 'base'
43
- | 'text'
44
- | 'primary'
45
- | 'secondary'
46
- | 'success'
47
- | 'warning'
48
- | 'danger'
49
- | 'info';
50
- export type ThemeColor = ThemeRawColor | ThemePredefinedColor;
51
- export type ThemeColorReference = ThemeColor | ThemeColorDefinition;
52
- export type ThemeColorWithIntensity = `${ThemeColor}-${ThemeColorIntensity}`;
53
-
54
- export type ThemeTextSize =
55
- | 'xs'
56
- | 'sm'
57
- | 'base'
58
- | 'lg'
59
- | 'xl'
60
- | '2xl'
61
- | '3xl'
62
- | '4xl'
63
- | '5xl'
64
- | '6xl';
65
- export type ThemeFontFamily = 'sans' | 'serif' | 'mono';
66
- export type ThemeFontWeight = 'light' | 'normal' | 'bold';
67
- export type ThemeSpace =
68
- | '0'
69
- | '0_5'
70
- | '1'
71
- | '1_5'
72
- | '2'
73
- | '3'
74
- | '4'
75
- | '5'
76
- | '6'
77
- | '8'
78
- | '10'
79
- | '12'
80
- | '14'
81
- | '16'
82
- | '20'
83
- | '24'
84
- | '32'
85
- | '40'
86
- | '48'
87
- | '56'
88
- | '64'
89
- | '72'
90
- | '80'
91
- | '96'
92
- | '128';
93
- export type ThemeSpaceWithNegative = ThemeSpace | `-${ThemeSpace}`;
94
-
95
- export type ThemeSize =
96
- | '0'
97
- | '0_5'
98
- | '1'
99
- | '1_5'
100
- | '2'
101
- | '3'
102
- | '4'
103
- | '5'
104
- | '6'
105
- | '8'
106
- | '10'
107
- | '12'
108
- | '16'
109
- | '20'
110
- | '24'
111
- | '32'
112
- | '40'
113
- | '48';
114
- export type ThemeRounded =
115
- | 'none'
116
- | 'sm'
117
- | 'md'
118
- | 'lg'
119
- | 'xl'
120
- | '2xl'
121
- | '3xl'
122
- | 'full';
123
- export type ThemeShadow = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
124
-
125
- export type Theme = DeepPartial<{
126
- colors: Record<ThemeColor, ThemeColorReference>;
127
- texts: Record<ThemeTextSize, string>;
128
- fonts: Record<ThemeFontFamily, string>;
129
- weights: Record<ThemeFontWeight, string>;
130
- spaces: Record<ThemeSpace, string>;
131
- sizes: Record<ThemeSpace, string>;
132
- rounded: Record<ThemeRounded, string>;
133
- shadows: Record<ThemeShadow, string>;
134
- }>;
1
+ import { DeepPartial } from '../../types';
2
+
3
+ export type ThemeColorIntensity =
4
+ | 0
5
+ | 50
6
+ | 100
7
+ | 200
8
+ | 300
9
+ | 400
10
+ | 500
11
+ | 600
12
+ | 700
13
+ | 800
14
+ | 900
15
+ | 950
16
+ | 1000;
17
+ export type ThemeColorDefinition = Record<ThemeColorIntensity, string>;
18
+ export type ThemeRawColor =
19
+ | 'slate'
20
+ | 'gray'
21
+ | 'zinc'
22
+ | 'neutral'
23
+ | 'stone'
24
+ | 'red'
25
+ | 'orange'
26
+ | 'amber'
27
+ | 'yellow'
28
+ | 'lime'
29
+ | 'green'
30
+ | 'emerald'
31
+ | 'teal'
32
+ | 'cyan'
33
+ | 'sky'
34
+ | 'blue'
35
+ | 'indigo'
36
+ | 'violet'
37
+ | 'purple'
38
+ | 'fuchsia'
39
+ | 'pink'
40
+ | 'rose';
41
+ export type ThemePredefinedColor =
42
+ | 'base'
43
+ | 'text'
44
+ | 'primary'
45
+ | 'secondary'
46
+ | 'success'
47
+ | 'warning'
48
+ | 'danger'
49
+ | 'info';
50
+ export type ThemeColor = ThemeRawColor | ThemePredefinedColor;
51
+ export type ThemeColorReference = ThemeColor | ThemeColorDefinition;
52
+ export type ThemeColorWithIntensity = `${ThemeColor}-${ThemeColorIntensity}`;
53
+
54
+ export type ThemeTextSize =
55
+ | 'xs'
56
+ | 'sm'
57
+ | 'base'
58
+ | 'lg'
59
+ | 'xl'
60
+ | '2xl'
61
+ | '3xl'
62
+ | '4xl'
63
+ | '5xl'
64
+ | '6xl';
65
+ export type ThemeFontFamily = 'sans' | 'serif' | 'mono';
66
+ export type ThemeFontWeight = 'light' | 'normal' | 'bold';
67
+ export type ThemeSpace =
68
+ | '0'
69
+ | '0_5'
70
+ | '1'
71
+ | '1_5'
72
+ | '2'
73
+ | '3'
74
+ | '4'
75
+ | '5'
76
+ | '6'
77
+ | '8'
78
+ | '10'
79
+ | '12'
80
+ | '14'
81
+ | '16'
82
+ | '20'
83
+ | '24'
84
+ | '32'
85
+ | '40'
86
+ | '48'
87
+ | '56'
88
+ | '64'
89
+ | '72'
90
+ | '80'
91
+ | '96'
92
+ | '128';
93
+ export type ThemeSpaceWithNegative = ThemeSpace | `-${ThemeSpace}`;
94
+
95
+ export type ThemeSize =
96
+ | '0'
97
+ | '0_5'
98
+ | '1'
99
+ | '1_5'
100
+ | '2'
101
+ | '3'
102
+ | '4'
103
+ | '5'
104
+ | '6'
105
+ | '8'
106
+ | '10'
107
+ | '12'
108
+ | '16'
109
+ | '20'
110
+ | '24'
111
+ | '32'
112
+ | '40'
113
+ | '48';
114
+ export type ThemeRounded =
115
+ | 'none'
116
+ | 'sm'
117
+ | 'md'
118
+ | 'lg'
119
+ | 'xl'
120
+ | '2xl'
121
+ | '3xl'
122
+ | 'full';
123
+ export type ThemeShadow = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
124
+
125
+ export type Theme = DeepPartial<{
126
+ colors: Record<ThemeColor, ThemeColorReference>;
127
+ texts: Record<ThemeTextSize, string>;
128
+ fonts: Record<ThemeFontFamily, string>;
129
+ weights: Record<ThemeFontWeight, string>;
130
+ spaces: Record<ThemeSpace, string>;
131
+ sizes: Record<ThemeSpace, string>;
132
+ rounded: Record<ThemeRounded, string>;
133
+ shadows: Record<ThemeShadow, string>;
134
+ }>;