@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,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
+ };