@addev-be/ui 2.1.2 → 2.1.3

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