@addev-be/ui 2.4.4 → 2.4.6

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 (252) 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/DataGridFooter.js +1 -1
  25. package/dist/components/data/DataGrid/helpers/columns.d.ts +3 -3
  26. package/dist/components/data/DataGrid/helpers/columns.js +6 -6
  27. package/dist/components/data/DataGrid/styles.js +6 -3
  28. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.d.ts +1 -2
  29. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.js +3 -2
  30. package/dist/services/index.js +7 -17
  31. package/eslint.config.js +3 -3
  32. package/package.json +2 -2
  33. package/src/Icons.tsx +138 -138
  34. package/src/components/auth/LoginForm.tsx +86 -86
  35. package/src/components/auth/LoginPage.tsx +32 -32
  36. package/src/components/auth/PasswordRecoveryForm.tsx +53 -53
  37. package/src/components/auth/PasswordResetForm.tsx +112 -112
  38. package/src/components/auth/styles.ts +14 -14
  39. package/src/components/data/DataGrid/DataGridCell.tsx +81 -81
  40. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +9 -9
  41. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -59
  42. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +182 -182
  43. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  44. package/src/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.tsx +37 -37
  45. package/src/components/data/DataGrid/DataGridEditableCell/DateEditableCell.tsx +38 -38
  46. package/src/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.tsx +71 -71
  47. package/src/components/data/DataGrid/DataGridEditableCell/TextEditableCell.tsx +37 -37
  48. package/src/components/data/DataGrid/DataGridEditableCell/index.tsx +106 -106
  49. package/src/components/data/DataGrid/DataGridEditableCell/styles.ts +35 -35
  50. package/src/components/data/DataGrid/DataGridEditableCell/types.ts +18 -18
  51. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +129 -129
  52. package/src/components/data/DataGrid/DataGridFilterMenu/helpers.ts +23 -23
  53. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +81 -81
  54. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +370 -370
  55. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +97 -97
  56. package/src/components/data/DataGrid/DataGridFooter.tsx +47 -45
  57. package/src/components/data/DataGrid/DataGridHeader.tsx +74 -74
  58. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +112 -112
  59. package/src/components/data/DataGrid/DataGridRowTemplate.tsx +83 -83
  60. package/src/components/data/DataGrid/DataGridToolbar.tsx +134 -134
  61. package/src/components/data/DataGrid/FilterModalContent/index.tsx +137 -137
  62. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  63. package/src/components/data/DataGrid/constants.ts +6 -6
  64. package/src/components/data/DataGrid/helpers/columns.tsx +456 -456
  65. package/src/components/data/DataGrid/helpers/filters.ts +287 -287
  66. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  67. package/src/components/data/DataGrid/hooks/index.ts +29 -29
  68. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +383 -383
  69. package/src/components/data/DataGrid/hooks/useDataGridChangedRows.ts +97 -97
  70. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +174 -174
  71. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  72. package/src/components/data/DataGrid/hooks/useRefreshModal.tsx +48 -48
  73. package/src/components/data/DataGrid/index.tsx +111 -111
  74. package/src/components/data/DataGrid/styles.ts +434 -430
  75. package/src/components/data/DataGrid/types.ts +380 -380
  76. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +526 -526
  77. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  78. package/src/components/data/SqlRequestDataGrid/helpers/rows.ts +24 -24
  79. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  80. package/src/components/data/SqlRequestDataGrid/index.tsx +417 -417
  81. package/src/components/data/SqlRequestDataGrid/styles.ts +15 -15
  82. package/src/components/data/SqlRequestDataGrid/types.ts +74 -74
  83. package/src/components/data/SqlRequestForeignList/index.tsx +254 -254
  84. package/src/components/data/SqlRequestForeignList/styles.ts +43 -43
  85. package/src/components/data/SqlRequestForeignList/types.ts +32 -32
  86. package/src/components/data/SqlRequestGrid/filters/FiltersSidebar.tsx +108 -108
  87. package/src/components/data/SqlRequestGrid/filters/styles.ts +88 -88
  88. package/src/components/data/SqlRequestGrid/helpers/index.ts +1 -1
  89. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +16 -16
  90. package/src/components/data/SqlRequestGrid/index.tsx +304 -304
  91. package/src/components/data/SqlRequestGrid/styles.ts +20 -20
  92. package/src/components/data/SqlRequestGrid/types.ts +73 -73
  93. package/src/components/data/VirtualScroller/hooks.ts +71 -71
  94. package/src/components/data/VirtualScroller/index.tsx +89 -89
  95. package/src/components/data/VirtualScroller/styles.ts +57 -57
  96. package/src/components/data/VirtualScroller/types.ts +10 -10
  97. package/src/components/forms/AutoTextArea.tsx +48 -48
  98. package/src/components/forms/Button.tsx +132 -132
  99. package/src/components/forms/Form/Checkbox.tsx +12 -12
  100. package/src/components/forms/Form/CustomSelect.tsx +86 -86
  101. package/src/components/forms/Form/FormGroup.tsx +31 -31
  102. package/src/components/forms/Form/Input.tsx +16 -16
  103. package/src/components/forms/Form/Row.tsx +32 -32
  104. package/src/components/forms/Form/Select.tsx +82 -82
  105. package/src/components/forms/Form/TextArea.tsx +17 -17
  106. package/src/components/forms/Form/index.tsx +48 -48
  107. package/src/components/forms/Form/styles.ts +184 -184
  108. package/src/components/forms/IconButton.tsx +61 -61
  109. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  110. package/src/components/forms/NumberInput.tsx +53 -53
  111. package/src/components/forms/Select.tsx +34 -34
  112. package/src/components/forms/VerticalLabel.tsx +20 -20
  113. package/src/components/forms/styles.ts +42 -42
  114. package/src/components/layout/Columns.ts +28 -28
  115. package/src/components/layout/Dropdown/index.tsx +113 -113
  116. package/src/components/layout/Dropdown/styles.ts +53 -53
  117. package/src/components/layout/Flexbox.ts +21 -21
  118. package/src/components/layout/Grid/index.tsx +8 -8
  119. package/src/components/layout/Grid/styles.ts +34 -34
  120. package/src/components/layout/Loading/index.tsx +29 -29
  121. package/src/components/layout/Loading/styles.ts +29 -29
  122. package/src/components/layout/Masonry/index.tsx +29 -29
  123. package/src/components/layout/Masonry/styles.ts +20 -20
  124. package/src/components/layout/Modal/index.tsx +51 -51
  125. package/src/components/layout/Modal/styles.ts +125 -125
  126. package/src/components/search/HighlightedText.tsx +41 -41
  127. package/src/components/search/QuickSearchBar.tsx +102 -102
  128. package/src/components/search/QuickSearchResults.tsx +86 -86
  129. package/src/components/search/styles.ts +96 -96
  130. package/src/components/search/types.ts +29 -29
  131. package/src/components/ui/Avatar/index.tsx +54 -54
  132. package/src/components/ui/Avatar/styles.ts +61 -61
  133. package/src/components/ui/Card/index.tsx +14 -14
  134. package/src/components/ui/Card/styles.ts +37 -37
  135. package/src/components/ui/ContextMenu/index.tsx +79 -79
  136. package/src/components/ui/ContextMenu/styles.ts +119 -119
  137. package/src/components/ui/Ellipsis.tsx +33 -33
  138. package/src/components/ui/Label.tsx +93 -93
  139. package/src/components/ui/Message/index.tsx +57 -57
  140. package/src/components/ui/Message/styles.ts +44 -44
  141. package/src/components/ui/TabsView/TabsList.tsx +44 -44
  142. package/src/components/ui/TabsView/TabsView.tsx +38 -38
  143. package/src/components/ui/TabsView/index.ts +3 -3
  144. package/src/components/ui/TabsView/styles.ts +76 -76
  145. package/src/components/ui/TabsView/types.ts +15 -15
  146. package/src/config/index.ts +10 -10
  147. package/src/helpers/components.ts +9 -9
  148. package/src/helpers/dates.ts +17 -17
  149. package/src/helpers/getScrollbarSize.ts +14 -14
  150. package/src/helpers/numbers.ts +63 -63
  151. package/src/helpers/responsive.ts +83 -83
  152. package/src/helpers/styled/space.ts +114 -114
  153. package/src/helpers/styled/typography.ts +25 -25
  154. package/src/helpers/text.ts +13 -13
  155. package/src/helpers/types.ts +9 -9
  156. package/src/hooks/useContainerMediaQuery.ts +7 -7
  157. package/src/hooks/useElementSize.ts +24 -24
  158. package/src/hooks/useMediaQuery.ts +9 -9
  159. package/src/hooks/useMediaQueryForWidth.ts +35 -35
  160. package/src/hooks/useMutableState.ts +25 -25
  161. package/src/hooks/useShowArchived.ts +28 -28
  162. package/src/hooks/useWindowSize.ts +20 -20
  163. package/src/index.ts +102 -102
  164. package/src/providers/AuthenticationProvider/helpers.ts +3 -3
  165. package/src/providers/AuthenticationProvider/index.tsx +303 -303
  166. package/src/providers/LoadingProvider/index.tsx +47 -47
  167. package/src/providers/PortalsProvider/index.tsx +54 -54
  168. package/src/providers/PortalsProvider/styles.ts +31 -31
  169. package/src/providers/SettingsProvider/index.tsx +70 -70
  170. package/src/providers/ThemeProvider/defaultTheme.ts +470 -470
  171. package/src/providers/ThemeProvider/helpers.ts +84 -84
  172. package/src/providers/ThemeProvider/index.ts +66 -66
  173. package/src/providers/ThemeProvider/types.ts +134 -134
  174. package/src/providers/ToastProvider/index.tsx +93 -93
  175. package/src/providers/TrackingProvider/hooks.ts +14 -14
  176. package/src/providers/TrackingProvider/index.tsx +71 -71
  177. package/src/providers/UiProviders/index.tsx +76 -76
  178. package/src/providers/UiProviders/styles.ts +10 -10
  179. package/src/providers/hooks.ts +14 -14
  180. package/src/services/HttpService.ts +92 -92
  181. package/src/services/WebSocketService.ts +155 -155
  182. package/src/services/advancedRequests.ts +102 -102
  183. package/src/services/base.ts +23 -23
  184. package/src/services/globalSearch.ts +32 -32
  185. package/src/services/hooks.ts +92 -92
  186. package/src/services/requests/auth.ts +44 -44
  187. package/src/services/requests/generic.ts +62 -62
  188. package/src/services/requests/tracking.ts +12 -12
  189. package/src/services/requests/userProfiles.ts +35 -35
  190. package/src/services/requests/users.ts +28 -28
  191. package/src/services/smartQueries.ts +122 -122
  192. package/src/services/sqlRequests.ts +111 -111
  193. package/src/services/types/auth.ts +98 -98
  194. package/src/services/types/base.ts +10 -10
  195. package/src/services/types/generic.ts +82 -82
  196. package/src/services/types/tracking.ts +29 -29
  197. package/src/services/types/userProfiles.ts +79 -79
  198. package/src/services/types/users.ts +74 -74
  199. package/src/services/updateSqlRequests.ts +32 -32
  200. package/src/styles/animations.scss +30 -30
  201. package/src/styles/index.scss +42 -42
  202. package/src/types.ts +8 -8
  203. package/src/typings.d.ts +2 -2
  204. package/tsconfig.json +18 -18
  205. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +0 -14
  206. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +0 -77
  207. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +0 -22
  208. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +0 -105
  209. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +0 -2
  210. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.js +0 -18
  211. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +0 -2
  212. package/dist/components/data/AdvancedRequestDataGrid/index.js +0 -215
  213. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +0 -21
  214. package/dist/components/data/AdvancedRequestDataGrid/types.js +0 -2
  215. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +0 -10
  216. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +0 -173
  217. package/dist/components/data/DataGrid/DataGridEditableCell.d.ts +0 -2
  218. package/dist/components/data/DataGrid/DataGridEditableCell.js +0 -27
  219. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +0 -13
  220. package/dist/components/data/DataGrid/FilterValuesScroller.js +0 -73
  221. package/dist/components/data/DataGrid/VirtualScroller.d.ts +0 -11
  222. package/dist/components/data/DataGrid/VirtualScroller.js +0 -41
  223. package/dist/components/data/DataGrid/helpers/advancedRequests.d.ts +0 -12
  224. package/dist/components/data/DataGrid/helpers/advancedRequests.js +0 -53
  225. package/dist/components/data/DataGrid/helpers.d.ts +0 -28
  226. package/dist/components/data/DataGrid/helpers.js +0 -436
  227. package/dist/components/data/SmartQueryDataGrid/helpers/columns.d.ts +0 -20
  228. package/dist/components/data/SmartQueryDataGrid/helpers/columns.js +0 -160
  229. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.d.ts +0 -5
  230. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.js +0 -41
  231. package/dist/components/data/SmartQueryDataGrid/helpers/index.d.ts +0 -2
  232. package/dist/components/data/SmartQueryDataGrid/helpers/index.js +0 -18
  233. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.d.ts +0 -3
  234. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.js +0 -15
  235. package/dist/components/data/SmartQueryDataGrid/hooks.d.ts +0 -9
  236. package/dist/components/data/SmartQueryDataGrid/hooks.js +0 -63
  237. package/dist/components/data/SmartQueryDataGrid/index.d.ts +0 -12
  238. package/dist/components/data/SmartQueryDataGrid/index.js +0 -242
  239. package/dist/components/data/SmartQueryDataGrid/types.d.ts +0 -22
  240. package/dist/components/data/SmartQueryDataGrid/types.js +0 -2
  241. package/dist/components/forms/Form/InputWithLabel.d.ts +0 -2
  242. package/dist/components/forms/Form/InputWithLabel.js +0 -10
  243. package/dist/components/forms/Form/types.d.ts +0 -7
  244. package/dist/components/forms/Form/types.js +0 -2
  245. package/dist/config/types.d.ts +0 -11
  246. package/dist/config/types.js +0 -2
  247. package/dist/helpers/react.d.ts +0 -2
  248. package/dist/helpers/react.js +0 -8
  249. package/dist/helpers/styled/index.d.ts +0 -1
  250. package/dist/helpers/styled/index.js +0 -17
  251. package/dist/services/requests/userPermissions.d.ts +0 -4
  252. package/dist/services/requests/userPermissions.js +0 -20
@@ -1,63 +1,63 @@
1
- export const formatMoney = (number: number, decimals = 2, currency = 'EUR') =>
2
- new Intl.NumberFormat(navigator.language, {
3
- style: 'currency',
4
- currency,
5
- minimumFractionDigits: decimals,
6
- maximumFractionDigits: decimals,
7
- currencyDisplay: 'narrowSymbol',
8
- }).format(number);
9
-
10
- export const formatPercentage = (number: number, decimals = 2) =>
11
- new Intl.NumberFormat(navigator.language, {
12
- style: 'percent',
13
- minimumFractionDigits: decimals,
14
- maximumFractionDigits: decimals,
15
- }).format(number);
16
-
17
- export const formatNumber = (number: number, decimals = 2) =>
18
- new Intl.NumberFormat(navigator.language, {
19
- minimumFractionDigits: decimals,
20
- maximumFractionDigits: decimals,
21
- }).format(number);
22
-
23
- export const formatNumberInvariant = (number: number, decimals = 2) =>
24
- new Intl.NumberFormat('es-US', {
25
- minimumFractionDigits: decimals,
26
- maximumFractionDigits: decimals,
27
- }).format(number);
28
-
29
- const getDecimalSeparator = () => {
30
- const numberWithDecimal = 1.1; // A number with a decimal point
31
- const formattedNumber = new Intl.NumberFormat().format(numberWithDecimal);
32
- return formattedNumber.replace(/\d/g, ''); // Remove all digits to isolate the separator
33
- };
34
-
35
- export const decimalSeparator = getDecimalSeparator();
36
-
37
- export const parseNumber = (value: string) => {
38
- const number = value
39
- .replace(new RegExp(`[^\\d${decimalSeparator}]`, 'g'), '')
40
- .replace(decimalSeparator, '.');
41
- return parseFloat(number);
42
- };
43
-
44
- export const getCurrencySymbol = (currency: string) => {
45
- const formatter = new Intl.NumberFormat(navigator.language, {
46
- style: 'currency',
47
- currency,
48
- minimumFractionDigits: 0,
49
- maximumFractionDigits: 0,
50
- currencyDisplay: 'narrowSymbol',
51
- });
52
-
53
- // Format a number and extract the currency symbol
54
- const parts = formatter.formatToParts(1);
55
- const currencySymbol = parts.find((part) => part.type === 'currency')?.value;
56
-
57
- // Determine if the currency symbol is a prefix or suffix
58
- const isPrefix =
59
- parts.findIndex((part) => part.type === 'currency') <
60
- parts.findIndex((part) => part.type === 'integer');
61
-
62
- return isPrefix ? [currencySymbol, undefined] : [undefined, currencySymbol];
63
- };
1
+ export const formatMoney = (number: number, decimals = 2, currency = 'EUR') =>
2
+ new Intl.NumberFormat(navigator.language, {
3
+ style: 'currency',
4
+ currency,
5
+ minimumFractionDigits: decimals,
6
+ maximumFractionDigits: decimals,
7
+ currencyDisplay: 'narrowSymbol',
8
+ }).format(number);
9
+
10
+ export const formatPercentage = (number: number, decimals = 2) =>
11
+ new Intl.NumberFormat(navigator.language, {
12
+ style: 'percent',
13
+ minimumFractionDigits: decimals,
14
+ maximumFractionDigits: decimals,
15
+ }).format(number);
16
+
17
+ export const formatNumber = (number: number, decimals = 2) =>
18
+ new Intl.NumberFormat(navigator.language, {
19
+ minimumFractionDigits: decimals,
20
+ maximumFractionDigits: decimals,
21
+ }).format(number);
22
+
23
+ export const formatNumberInvariant = (number: number, decimals = 2) =>
24
+ new Intl.NumberFormat('es-US', {
25
+ minimumFractionDigits: decimals,
26
+ maximumFractionDigits: decimals,
27
+ }).format(number);
28
+
29
+ const getDecimalSeparator = () => {
30
+ const numberWithDecimal = 1.1; // A number with a decimal point
31
+ const formattedNumber = new Intl.NumberFormat().format(numberWithDecimal);
32
+ return formattedNumber.replace(/\d/g, ''); // Remove all digits to isolate the separator
33
+ };
34
+
35
+ export const decimalSeparator = getDecimalSeparator();
36
+
37
+ export const parseNumber = (value: string) => {
38
+ const number = value
39
+ .replace(new RegExp(`[^\\d${decimalSeparator}]`, 'g'), '')
40
+ .replace(decimalSeparator, '.');
41
+ return parseFloat(number);
42
+ };
43
+
44
+ export const getCurrencySymbol = (currency: string) => {
45
+ const formatter = new Intl.NumberFormat(navigator.language, {
46
+ style: 'currency',
47
+ currency,
48
+ minimumFractionDigits: 0,
49
+ maximumFractionDigits: 0,
50
+ currencyDisplay: 'narrowSymbol',
51
+ });
52
+
53
+ // Format a number and extract the currency symbol
54
+ const parts = formatter.formatToParts(1);
55
+ const currencySymbol = parts.find((part) => part.type === 'currency')?.value;
56
+
57
+ // Determine if the currency symbol is a prefix or suffix
58
+ const isPrefix =
59
+ parts.findIndex((part) => part.type === 'currency') <
60
+ parts.findIndex((part) => part.type === 'integer');
61
+
62
+ return isPrefix ? [currencySymbol, undefined] : [undefined, currencySymbol];
63
+ };
@@ -1,83 +1,83 @@
1
- const XS_BREAKPOINT = 320;
2
- const SM_BREAKPOINT = 480;
3
- const MD_BREAKPOINT = 768;
4
- const LG_BREAKPOINT = 992;
5
- const XL_BREAKPOINT = 1200;
6
-
7
- type MediaQueryKey = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
8
- const boundaries: Record<MediaQueryKey, [number, number]> = {
9
- xs: [0, XS_BREAKPOINT - 1],
10
- sm: [XS_BREAKPOINT, SM_BREAKPOINT - 1],
11
- md: [SM_BREAKPOINT, MD_BREAKPOINT - 1],
12
- lg: [MD_BREAKPOINT, LG_BREAKPOINT - 1],
13
- xl: [LG_BREAKPOINT, XL_BREAKPOINT - 1],
14
- xxl: [XL_BREAKPOINT, 999999],
15
- };
16
-
17
- export const findBreakpoint = (width: number): MediaQueryKey =>
18
- ((Object.keys(boundaries) as MediaQueryKey[]).find(
19
- (bp) => width >= boundaries[bp][0] && width < boundaries[bp][1]
20
- ) as MediaQueryKey) ?? 'xs';
21
-
22
- export const isSmallerThanOrEqual = (
23
- mq: MediaQueryKey,
24
- currentMq: MediaQueryKey
25
- ) => boundaries[currentMq][0] <= boundaries[mq][0];
26
- export const isGreaterThanOrEqual = (
27
- mq: MediaQueryKey,
28
- currentMq: MediaQueryKey
29
- ) => boundaries[currentMq][0] >= boundaries[mq][0];
30
-
31
- export const mediaQueries = {
32
- xs: `@media screen and (max-width: ${XS_BREAKPOINT - 1}px)`,
33
- sm: `@media screen and (min-width: ${XS_BREAKPOINT}px) and (max-width: ${
34
- SM_BREAKPOINT - 1
35
- }px)`,
36
- md: `@media screen and (min-width: ${SM_BREAKPOINT}px) and (max-width: ${
37
- MD_BREAKPOINT - 1
38
- }px)`,
39
- lg: `@media screen and (min-width: ${MD_BREAKPOINT}px) and (max-width: ${
40
- LG_BREAKPOINT - 1
41
- }px)`,
42
- xl: `@media screen and (min-width: ${LG_BREAKPOINT}px) and (max-width: ${
43
- XL_BREAKPOINT - 1
44
- }px)`,
45
- xxl: `@media screen and (min-width: ${XL_BREAKPOINT}px)`,
46
-
47
- smDown: `@media screen and (max-width: ${SM_BREAKPOINT - 1}px)`,
48
- mdDown: `@media screen and (max-width: ${MD_BREAKPOINT - 1}px)`,
49
- lgDown: `@media screen and (max-width: ${LG_BREAKPOINT - 1}px)`,
50
- xlDown: `@media screen and (max-width: ${XL_BREAKPOINT - 1}px)`,
51
-
52
- smUp: `@media screen and (min-width: ${XS_BREAKPOINT}px)`,
53
- mdUp: `@media screen and (min-width: ${SM_BREAKPOINT}px)`,
54
- lgUp: `@media screen and (min-width: ${MD_BREAKPOINT}px)`,
55
- xlUp: `@media screen and (min-width: ${LG_BREAKPOINT}px)`,
56
- };
57
-
58
- export const containerQueries = {
59
- xs: `@container (width <= ${XS_BREAKPOINT - 1}px)`,
60
- sm: `@container (width >= ${XS_BREAKPOINT}px) and (width <= ${
61
- SM_BREAKPOINT - 1
62
- }px)`,
63
- md: `@container (width >= ${SM_BREAKPOINT}px) and (width <= ${
64
- MD_BREAKPOINT - 1
65
- }px)`,
66
- lg: `@container (width >= ${MD_BREAKPOINT}px) and (width <= ${
67
- LG_BREAKPOINT - 1
68
- }px)`,
69
- xl: `@container (width >= ${LG_BREAKPOINT}px) and (width <= ${
70
- XL_BREAKPOINT - 1
71
- }px)`,
72
- xxl: `@container (width >= ${XL_BREAKPOINT}px)`,
73
-
74
- smDown: `@container (width <= ${SM_BREAKPOINT - 1}px)`,
75
- mdDown: `@container (width <= ${MD_BREAKPOINT - 1}px)`,
76
- lgDown: `@container (width <= ${LG_BREAKPOINT - 1}px)`,
77
- xlDown: `@container (width <= ${XL_BREAKPOINT - 1}px)`,
78
-
79
- smUp: `@container (width >= ${XS_BREAKPOINT}px)`,
80
- mdUp: `@container (width >= ${SM_BREAKPOINT}px)`,
81
- lgUp: `@container (width >= ${MD_BREAKPOINT}px)`,
82
- xlUp: `@container (width >= ${LG_BREAKPOINT}px)`,
83
- };
1
+ const XS_BREAKPOINT = 320;
2
+ const SM_BREAKPOINT = 480;
3
+ const MD_BREAKPOINT = 768;
4
+ const LG_BREAKPOINT = 992;
5
+ const XL_BREAKPOINT = 1200;
6
+
7
+ type MediaQueryKey = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
8
+ const boundaries: Record<MediaQueryKey, [number, number]> = {
9
+ xs: [0, XS_BREAKPOINT - 1],
10
+ sm: [XS_BREAKPOINT, SM_BREAKPOINT - 1],
11
+ md: [SM_BREAKPOINT, MD_BREAKPOINT - 1],
12
+ lg: [MD_BREAKPOINT, LG_BREAKPOINT - 1],
13
+ xl: [LG_BREAKPOINT, XL_BREAKPOINT - 1],
14
+ xxl: [XL_BREAKPOINT, 999999],
15
+ };
16
+
17
+ export const findBreakpoint = (width: number): MediaQueryKey =>
18
+ ((Object.keys(boundaries) as MediaQueryKey[]).find(
19
+ (bp) => width >= boundaries[bp][0] && width < boundaries[bp][1]
20
+ ) as MediaQueryKey) ?? 'xs';
21
+
22
+ export const isSmallerThanOrEqual = (
23
+ mq: MediaQueryKey,
24
+ currentMq: MediaQueryKey
25
+ ) => boundaries[currentMq][0] <= boundaries[mq][0];
26
+ export const isGreaterThanOrEqual = (
27
+ mq: MediaQueryKey,
28
+ currentMq: MediaQueryKey
29
+ ) => boundaries[currentMq][0] >= boundaries[mq][0];
30
+
31
+ export const mediaQueries = {
32
+ xs: `@media screen and (max-width: ${XS_BREAKPOINT - 1}px)`,
33
+ sm: `@media screen and (min-width: ${XS_BREAKPOINT}px) and (max-width: ${
34
+ SM_BREAKPOINT - 1
35
+ }px)`,
36
+ md: `@media screen and (min-width: ${SM_BREAKPOINT}px) and (max-width: ${
37
+ MD_BREAKPOINT - 1
38
+ }px)`,
39
+ lg: `@media screen and (min-width: ${MD_BREAKPOINT}px) and (max-width: ${
40
+ LG_BREAKPOINT - 1
41
+ }px)`,
42
+ xl: `@media screen and (min-width: ${LG_BREAKPOINT}px) and (max-width: ${
43
+ XL_BREAKPOINT - 1
44
+ }px)`,
45
+ xxl: `@media screen and (min-width: ${XL_BREAKPOINT}px)`,
46
+
47
+ smDown: `@media screen and (max-width: ${SM_BREAKPOINT - 1}px)`,
48
+ mdDown: `@media screen and (max-width: ${MD_BREAKPOINT - 1}px)`,
49
+ lgDown: `@media screen and (max-width: ${LG_BREAKPOINT - 1}px)`,
50
+ xlDown: `@media screen and (max-width: ${XL_BREAKPOINT - 1}px)`,
51
+
52
+ smUp: `@media screen and (min-width: ${XS_BREAKPOINT}px)`,
53
+ mdUp: `@media screen and (min-width: ${SM_BREAKPOINT}px)`,
54
+ lgUp: `@media screen and (min-width: ${MD_BREAKPOINT}px)`,
55
+ xlUp: `@media screen and (min-width: ${LG_BREAKPOINT}px)`,
56
+ };
57
+
58
+ export const containerQueries = {
59
+ xs: `@container (width <= ${XS_BREAKPOINT - 1}px)`,
60
+ sm: `@container (width >= ${XS_BREAKPOINT}px) and (width <= ${
61
+ SM_BREAKPOINT - 1
62
+ }px)`,
63
+ md: `@container (width >= ${SM_BREAKPOINT}px) and (width <= ${
64
+ MD_BREAKPOINT - 1
65
+ }px)`,
66
+ lg: `@container (width >= ${MD_BREAKPOINT}px) and (width <= ${
67
+ LG_BREAKPOINT - 1
68
+ }px)`,
69
+ xl: `@container (width >= ${LG_BREAKPOINT}px) and (width <= ${
70
+ XL_BREAKPOINT - 1
71
+ }px)`,
72
+ xxl: `@container (width >= ${XL_BREAKPOINT}px)`,
73
+
74
+ smDown: `@container (width <= ${SM_BREAKPOINT - 1}px)`,
75
+ mdDown: `@container (width <= ${MD_BREAKPOINT - 1}px)`,
76
+ lgDown: `@container (width <= ${LG_BREAKPOINT - 1}px)`,
77
+ xlDown: `@container (width <= ${XL_BREAKPOINT - 1}px)`,
78
+
79
+ smUp: `@container (width >= ${XS_BREAKPOINT}px)`,
80
+ mdUp: `@container (width >= ${SM_BREAKPOINT}px)`,
81
+ lgUp: `@container (width >= ${MD_BREAKPOINT}px)`,
82
+ xlUp: `@container (width >= ${LG_BREAKPOINT}px)`,
83
+ };
@@ -1,114 +1,114 @@
1
- import {
2
- ThemeSpace,
3
- ThemeSpaceWithNegative,
4
- } from '../../providers/ThemeProvider/types';
5
-
6
- import { css } from 'styled-components';
7
-
8
- export type MarginProps = {
9
- m?: ThemeSpace | ThemeSpaceWithNegative;
10
- mx?: ThemeSpace | ThemeSpaceWithNegative;
11
- my?: ThemeSpace | ThemeSpaceWithNegative;
12
- mt?: ThemeSpace | ThemeSpaceWithNegative;
13
- mr?: ThemeSpace | ThemeSpaceWithNegative;
14
- mb?: ThemeSpace | ThemeSpaceWithNegative;
15
- ml?: ThemeSpace | ThemeSpaceWithNegative;
16
- };
17
-
18
- export const margins = css<MarginProps>`
19
- ${({ m }) =>
20
- m && m.startsWith('-')
21
- ? `margin: calc(0 - var(--space-${m.substring(1)}));`
22
- : `margin: var(--space-${m});`}
23
- ${({ mx }) =>
24
- mx && mx.startsWith('-')
25
- ? `margin-left: calc(0 - var(--space-${mx.substring(
26
- 1
27
- )})); margin-right: calc(0 - var(--space-${mx.substring(1)}));`
28
- : `margin-left: var(--space-${mx}); margin-right: var(--space-${mx});`}
29
- ${({ my }) =>
30
- my && my.startsWith('-')
31
- ? `margin-top: calc(0 - var(--space-${my.substring(
32
- 1
33
- )})); margin-bottom: calc(0 - var(--space-${my.substring(1)}));`
34
- : `margin-top: var(--space-${my}); margin-bottom: var(--space-${my});`}
35
- ${({ mt }) =>
36
- mt && mt.startsWith('-')
37
- ? `margin-top: calc(0 - var(--space-${mt.substring(1)}));`
38
- : `margin-top: var(--space-${mt});`}
39
- ${({ mr }) =>
40
- mr && mr.startsWith('-')
41
- ? `margin-right: calc(0 - var(--space-${mr.substring(1)}));`
42
- : `margin-right: var(--space-${mr});`}
43
- ${({ mb }) =>
44
- mb && mb.startsWith('-')
45
- ? `margin-bottom: calc(0 - var(--space-${mb.substring(1)}));`
46
- : `margin-bottom: var(--space-${mb});`}
47
- ${({ ml }) =>
48
- ml && ml.startsWith('-')
49
- ? `margin-left: calc(0 - var(--space-${ml.substring(1)}));`
50
- : `margin-left: var(--space-${ml});`}
51
- `;
52
-
53
- export type PaddingProps = {
54
- p?: ThemeSpace;
55
- px?: ThemeSpace;
56
- py?: ThemeSpace;
57
- pt?: ThemeSpace;
58
- pr?: ThemeSpace;
59
- pb?: ThemeSpace;
60
- pl?: ThemeSpace;
61
- };
62
-
63
- export const paddings = css<PaddingProps>`
64
- ${({ p }) => p && `padding: var(--space-${p});`}
65
- ${({ px }) =>
66
- px &&
67
- `padding-left: var(--space-${px}); padding-right: var(--space-${px});`}
68
- ${({ py }) =>
69
- py &&
70
- `padding-top: var(--space-${py}); padding-bottom: var(--space-${py});`}
71
- ${({ pt }) => pt && `padding-top: var(--space-${pt});`}
72
- ${({ pr }) => pr && `padding-right: var(--space-${pr});`}
73
- ${({ pb }) => pb && `padding-bottom: var(--space-${pb});`}
74
- ${({ pl }) => pl && `padding-left: var(--space-${pl});`}
75
- `;
76
-
77
- export type SpaceProps = MarginProps & PaddingProps;
78
-
79
- export const extractSpaceProps = ({
80
- m,
81
- mx,
82
- my,
83
- mt,
84
- mr,
85
- mb,
86
- ml,
87
- p,
88
- px,
89
- py,
90
- pt,
91
- pr,
92
- pb,
93
- pl,
94
- }: SpaceProps) => ({
95
- m,
96
- mx,
97
- my,
98
- mt,
99
- mr,
100
- mb,
101
- ml,
102
- p,
103
- px,
104
- py,
105
- pt,
106
- pr,
107
- pb,
108
- pl,
109
- });
110
-
111
- export const space = css<SpaceProps>`
112
- ${margins}
113
- ${paddings}
114
- `;
1
+ import {
2
+ ThemeSpace,
3
+ ThemeSpaceWithNegative,
4
+ } from '../../providers/ThemeProvider/types';
5
+
6
+ import { css } from 'styled-components';
7
+
8
+ export type MarginProps = {
9
+ m?: ThemeSpace | ThemeSpaceWithNegative;
10
+ mx?: ThemeSpace | ThemeSpaceWithNegative;
11
+ my?: ThemeSpace | ThemeSpaceWithNegative;
12
+ mt?: ThemeSpace | ThemeSpaceWithNegative;
13
+ mr?: ThemeSpace | ThemeSpaceWithNegative;
14
+ mb?: ThemeSpace | ThemeSpaceWithNegative;
15
+ ml?: ThemeSpace | ThemeSpaceWithNegative;
16
+ };
17
+
18
+ export const margins = css<MarginProps>`
19
+ ${({ m }) =>
20
+ m && m.startsWith('-')
21
+ ? `margin: calc(0 - var(--space-${m.substring(1)}));`
22
+ : `margin: var(--space-${m});`}
23
+ ${({ mx }) =>
24
+ mx && mx.startsWith('-')
25
+ ? `margin-left: calc(0 - var(--space-${mx.substring(
26
+ 1
27
+ )})); margin-right: calc(0 - var(--space-${mx.substring(1)}));`
28
+ : `margin-left: var(--space-${mx}); margin-right: var(--space-${mx});`}
29
+ ${({ my }) =>
30
+ my && my.startsWith('-')
31
+ ? `margin-top: calc(0 - var(--space-${my.substring(
32
+ 1
33
+ )})); margin-bottom: calc(0 - var(--space-${my.substring(1)}));`
34
+ : `margin-top: var(--space-${my}); margin-bottom: var(--space-${my});`}
35
+ ${({ mt }) =>
36
+ mt && mt.startsWith('-')
37
+ ? `margin-top: calc(0 - var(--space-${mt.substring(1)}));`
38
+ : `margin-top: var(--space-${mt});`}
39
+ ${({ mr }) =>
40
+ mr && mr.startsWith('-')
41
+ ? `margin-right: calc(0 - var(--space-${mr.substring(1)}));`
42
+ : `margin-right: var(--space-${mr});`}
43
+ ${({ mb }) =>
44
+ mb && mb.startsWith('-')
45
+ ? `margin-bottom: calc(0 - var(--space-${mb.substring(1)}));`
46
+ : `margin-bottom: var(--space-${mb});`}
47
+ ${({ ml }) =>
48
+ ml && ml.startsWith('-')
49
+ ? `margin-left: calc(0 - var(--space-${ml.substring(1)}));`
50
+ : `margin-left: var(--space-${ml});`}
51
+ `;
52
+
53
+ export type PaddingProps = {
54
+ p?: ThemeSpace;
55
+ px?: ThemeSpace;
56
+ py?: ThemeSpace;
57
+ pt?: ThemeSpace;
58
+ pr?: ThemeSpace;
59
+ pb?: ThemeSpace;
60
+ pl?: ThemeSpace;
61
+ };
62
+
63
+ export const paddings = css<PaddingProps>`
64
+ ${({ p }) => p && `padding: var(--space-${p});`}
65
+ ${({ px }) =>
66
+ px &&
67
+ `padding-left: var(--space-${px}); padding-right: var(--space-${px});`}
68
+ ${({ py }) =>
69
+ py &&
70
+ `padding-top: var(--space-${py}); padding-bottom: var(--space-${py});`}
71
+ ${({ pt }) => pt && `padding-top: var(--space-${pt});`}
72
+ ${({ pr }) => pr && `padding-right: var(--space-${pr});`}
73
+ ${({ pb }) => pb && `padding-bottom: var(--space-${pb});`}
74
+ ${({ pl }) => pl && `padding-left: var(--space-${pl});`}
75
+ `;
76
+
77
+ export type SpaceProps = MarginProps & PaddingProps;
78
+
79
+ export const extractSpaceProps = ({
80
+ m,
81
+ mx,
82
+ my,
83
+ mt,
84
+ mr,
85
+ mb,
86
+ ml,
87
+ p,
88
+ px,
89
+ py,
90
+ pt,
91
+ pr,
92
+ pb,
93
+ pl,
94
+ }: SpaceProps) => ({
95
+ m,
96
+ mx,
97
+ my,
98
+ mt,
99
+ mr,
100
+ mb,
101
+ ml,
102
+ p,
103
+ px,
104
+ py,
105
+ pt,
106
+ pr,
107
+ pb,
108
+ pl,
109
+ });
110
+
111
+ export const space = css<SpaceProps>`
112
+ ${margins}
113
+ ${paddings}
114
+ `;
@@ -1,25 +1,25 @@
1
- import styled, { css } from 'styled-components';
2
-
3
- export type TypographyProps = {
4
- ellipsis?: boolean;
5
- bold?: boolean;
6
- italic?: boolean;
7
- underline?: boolean;
8
- lineClamp?: number;
9
- };
10
-
11
- export const typography = css<TypographyProps>`
12
- ${({ ellipsis }) =>
13
- ellipsis &&
14
- 'white-space: nowrap; overflow: hidden; text-overflow: ellipsis;'}
15
- ${({ bold }) => bold && 'font-weight: bold;'}
16
- ${({ italic }) => italic && 'font-style: italic;'}
17
- ${({ underline }) => underline && 'text-decoration: underline;'}
18
- ${({ lineClamp }) =>
19
- lineClamp &&
20
- `display: -webkit-box; -webkit-line-clamp: ${lineClamp}; -webkit-box-orient: vertical; overflow: hidden;`}
21
- `;
22
-
23
- export const StyledTypography = styled.span<TypographyProps>`
24
- ${typography}
25
- `;
1
+ import styled, { css } from 'styled-components';
2
+
3
+ export type TypographyProps = {
4
+ ellipsis?: boolean;
5
+ bold?: boolean;
6
+ italic?: boolean;
7
+ underline?: boolean;
8
+ lineClamp?: number;
9
+ };
10
+
11
+ export const typography = css<TypographyProps>`
12
+ ${({ ellipsis }) =>
13
+ ellipsis &&
14
+ 'white-space: nowrap; overflow: hidden; text-overflow: ellipsis;'}
15
+ ${({ bold }) => bold && 'font-weight: bold;'}
16
+ ${({ italic }) => italic && 'font-style: italic;'}
17
+ ${({ underline }) => underline && 'text-decoration: underline;'}
18
+ ${({ lineClamp }) =>
19
+ lineClamp &&
20
+ `display: -webkit-box; -webkit-line-clamp: ${lineClamp}; -webkit-box-orient: vertical; overflow: hidden;`}
21
+ `;
22
+
23
+ export const StyledTypography = styled.span<TypographyProps>`
24
+ ${typography}
25
+ `;
@@ -1,13 +1,13 @@
1
- export const escapeForRegExp = (text: string) =>
2
- text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
3
-
4
- export const extractTextFromHTML = (html: string) => {
5
- const div = document.createElement('div');
6
- div.style.display = 'block';
7
- div.style.whiteSpace = 'normal';
8
- div.innerHTML = html;
9
- document.body.appendChild(div);
10
- const text = div.innerText || '';
11
- document.body.removeChild(div);
12
- return text;
13
- };
1
+ export const escapeForRegExp = (text: string) =>
2
+ text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
3
+
4
+ export const extractTextFromHTML = (html: string) => {
5
+ const div = document.createElement('div');
6
+ div.style.display = 'block';
7
+ div.style.whiteSpace = 'normal';
8
+ div.innerHTML = html;
9
+ document.body.appendChild(div);
10
+ const text = div.innerText || '';
11
+ document.body.removeChild(div);
12
+ return text;
13
+ };
@@ -1,9 +1,9 @@
1
- import * as z from 'zod';
2
-
3
- export const isMatchingSchema = <S extends z.ZodType>(
4
- obj: unknown,
5
- schema: S
6
- ): obj is z.infer<S> => {
7
- const result = schema.safeParse(obj);
8
- return result.success;
9
- };
1
+ import * as z from 'zod';
2
+
3
+ export const isMatchingSchema = <S extends z.ZodType>(
4
+ obj: unknown,
5
+ schema: S
6
+ ): obj is z.infer<S> => {
7
+ const result = schema.safeParse(obj);
8
+ return result.success;
9
+ };
@@ -1,7 +1,7 @@
1
- import { useElementSize } from './useElementSize';
2
- import { useMediaQueryForWidth } from './useMediaQueryForWidth';
3
-
4
- export const useContainerMediaQuery = (element: HTMLElement) => {
5
- const { width } = useElementSize(element);
6
- return useMediaQueryForWidth(width);
7
- };
1
+ import { useElementSize } from './useElementSize';
2
+ import { useMediaQueryForWidth } from './useMediaQueryForWidth';
3
+
4
+ export const useContainerMediaQuery = (element: HTMLElement) => {
5
+ const { width } = useElementSize(element);
6
+ return useMediaQueryForWidth(width);
7
+ };