@blockscout/ui-toolkit 0.0.1-alpha.2 → 0.0.1-alpha.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 (103) hide show
  1. package/README.md +1 -4
  2. package/dist/chakra/select.d.ts +4 -1
  3. package/dist/components/AdaptiveTabs/index.d.ts +3 -0
  4. package/dist/components/Hint/Hint.d.ts +11 -0
  5. package/dist/components/RoutedTabs/index.d.ts +3 -0
  6. package/dist/components/buttons/BackToButton.d.ts +7 -0
  7. package/dist/components/buttons/ClearButton.d.ts +6 -0
  8. package/dist/components/{Filter → filters}/FilterInput.d.ts +2 -3
  9. package/dist/components/forms/components/FormFieldError.d.ts +7 -0
  10. package/dist/components/forms/components/index.d.ts +1 -0
  11. package/dist/components/forms/fields/FormFieldAddress.d.ts +5 -0
  12. package/dist/components/forms/fields/FormFieldCheckbox.d.ts +9 -0
  13. package/dist/components/forms/fields/FormFieldColor.d.ts +9 -0
  14. package/dist/components/forms/fields/FormFieldEmail.d.ts +5 -0
  15. package/dist/components/forms/fields/FormFieldSelect.d.ts +7 -0
  16. package/dist/components/forms/fields/FormFieldSelectAsync.d.ts +7 -0
  17. package/dist/components/forms/fields/FormFieldText.d.ts +8 -0
  18. package/dist/components/forms/fields/FormFieldUrl.d.ts +4 -0
  19. package/dist/components/forms/fields/image/FormFieldImagePreview.d.ts +13 -0
  20. package/dist/components/forms/fields/image/useImageField.d.ts +25 -0
  21. package/dist/components/forms/fields/index.d.ts +10 -0
  22. package/dist/components/forms/fields/types.d.ts +19 -0
  23. package/dist/components/forms/inputs/file/DragAndDropArea.d.ts +11 -0
  24. package/dist/components/forms/inputs/file/FileInput.d.ts +13 -0
  25. package/dist/components/forms/inputs/file/FileSnippet.d.ts +11 -0
  26. package/dist/components/forms/inputs/file/utils.d.ts +2 -0
  27. package/dist/components/forms/inputs/index.d.ts +3 -0
  28. package/dist/components/forms/utils/getFormFieldErrorText.d.ts +2 -0
  29. package/dist/components/forms/utils/index.d.ts +1 -0
  30. package/dist/components/forms/validators/address.d.ts +3 -0
  31. package/dist/components/forms/validators/color.d.ts +2 -0
  32. package/dist/components/forms/validators/email.d.ts +2 -0
  33. package/dist/components/forms/validators/index.d.ts +7 -0
  34. package/dist/components/forms/validators/signature.d.ts +1 -0
  35. package/dist/components/forms/validators/text.d.ts +1 -0
  36. package/dist/components/forms/validators/transaction.d.ts +2 -0
  37. package/dist/components/forms/validators/url.d.ts +3 -0
  38. package/dist/components/truncation/TruncatedTextTooltip.d.ts +8 -0
  39. package/dist/hooks/useClipboard.d.ts +1 -1
  40. package/dist/hooks/useFirstMountState.d.ts +1 -0
  41. package/dist/hooks/useIsSticky.d.ts +2 -0
  42. package/dist/hooks/useUpdateEffect.d.ts +2 -0
  43. package/dist/hooks/useViewportSize.d.ts +1 -1
  44. package/dist/index.js +4288 -3093
  45. package/dist/package/src/index.d.ts +25 -3
  46. package/dist/theme/theme.d.ts +1 -0
  47. package/dist/utils/consts.d.ts +15 -0
  48. package/dist/utils/guards.d.ts +2 -0
  49. package/dist/utils/htmlEntities.d.ts +26 -0
  50. package/dist/utils/isBrowser.d.ts +1 -0
  51. package/dist/utils/regexp.d.ts +6 -0
  52. package/dist/utils/url.d.ts +6 -0
  53. package/package.json +6 -3
  54. package/dist/components/ButtonBackTo.d.ts +0 -8
  55. package/dist/components/TruncatedTextTooltip.d.ts +0 -9
  56. package/dist/components/index.d.ts +0 -1
  57. package/dist/theme/foundations/animations.ts +0 -12
  58. package/dist/theme/foundations/borders.ts +0 -13
  59. package/dist/theme/foundations/breakpoints.ts +0 -10
  60. package/dist/theme/foundations/colors.ts +0 -162
  61. package/dist/theme/foundations/durations.ts +0 -15
  62. package/dist/theme/foundations/semanticTokens.ts +0 -471
  63. package/dist/theme/foundations/shadows.ts +0 -19
  64. package/dist/theme/foundations/typography.ts +0 -93
  65. package/dist/theme/foundations/zIndex.ts +0 -20
  66. package/dist/theme/globalCss.ts +0 -57
  67. package/dist/theme/globals/address-entity.ts +0 -33
  68. package/dist/theme/globals/recaptcha.ts +0 -20
  69. package/dist/theme/globals/scrollbar.ts +0 -32
  70. package/dist/theme/recipes/accordion.recipe.ts +0 -145
  71. package/dist/theme/recipes/alert.recipe.ts +0 -135
  72. package/dist/theme/recipes/badge.recipe.ts +0 -83
  73. package/dist/theme/recipes/button.recipe.ts +0 -285
  74. package/dist/theme/recipes/checkbox.recipe.ts +0 -56
  75. package/dist/theme/recipes/checkmark.recipe.ts +0 -73
  76. package/dist/theme/recipes/close-button.recipe.ts +0 -34
  77. package/dist/theme/recipes/dialog.recipe.ts +0 -213
  78. package/dist/theme/recipes/drawer.recipe.ts +0 -173
  79. package/dist/theme/recipes/field.recipe.ts +0 -175
  80. package/dist/theme/recipes/index.ts +0 -68
  81. package/dist/theme/recipes/input.recipe.ts +0 -119
  82. package/dist/theme/recipes/link.recipe.ts +0 -78
  83. package/dist/theme/recipes/list.recipe.ts +0 -67
  84. package/dist/theme/recipes/menu.recipe.ts +0 -105
  85. package/dist/theme/recipes/pin-input.recipe.ts +0 -35
  86. package/dist/theme/recipes/popover.recipe.ts +0 -71
  87. package/dist/theme/recipes/progress-circle.recipe.ts +0 -74
  88. package/dist/theme/recipes/radio-group.recipe.ts +0 -73
  89. package/dist/theme/recipes/radiomark.recipe.ts +0 -91
  90. package/dist/theme/recipes/rating-group.recipe.ts +0 -93
  91. package/dist/theme/recipes/select.recipe.ts +0 -277
  92. package/dist/theme/recipes/skeleton.recipe.ts +0 -56
  93. package/dist/theme/recipes/spinner.recipe.ts +0 -31
  94. package/dist/theme/recipes/stat.recipe.ts +0 -101
  95. package/dist/theme/recipes/switch.recipe.ts +0 -130
  96. package/dist/theme/recipes/table.recipe.ts +0 -84
  97. package/dist/theme/recipes/tabs.recipe.ts +0 -219
  98. package/dist/theme/recipes/tag.recipe.ts +0 -145
  99. package/dist/theme/recipes/textarea.recipe.ts +0 -86
  100. package/dist/theme/recipes/toast.recipe.ts +0 -97
  101. package/dist/theme/recipes/tooltip.recipe.ts +0 -85
  102. package/dist/theme/theme.ts +0 -41
  103. package/dist/theme/utils/entries.ts +0 -12
@@ -33,9 +33,31 @@ export * from '../../chakra/tag';
33
33
  export * from '../../chakra/textarea';
34
34
  export * from '../../chakra/toaster';
35
35
  export * from '../../chakra/tooltip';
36
- export { AspectRatio, Box, Center, Circle, ClientOnly, Code, ColorPicker, ColorSwatch, Fieldset, Flex, For, FormatNumber, FormatByte, Grid, GridItem, Group, HStack, Icon, LinkBox, LinkOverlay, List, ListItem, LocaleProvider, Portal, Presence, Progress, QrCode, SegmentGroup, Separator, Show, Slider, Spinner, StackSeparator, Stat, Status, Text, Theme, VisuallyHidden, VStack, Wrap, useBreakpointValue, useCheckboxGroup, useToken, useUpdateEffect, chakra, createListCollection, } from '@chakra-ui/react';
36
+ export { AspectRatio, Box, Center, Circle, ClientOnly, Code, ColorPicker, ColorSwatch, Fieldset, Flex, For, FormatNumber, FormatByte, Grid, GridItem, Group, HStack, Icon, LinkBox, LinkOverlay, List, ListItem, LocaleProvider, Portal, Presence, Progress, QrCode, SegmentGroup, Separator, Show, Slider, Spinner, StackSeparator, Stat, Status, Text, Theme, VisuallyHidden, VStack, Wrap, useBreakpointValue, useCheckboxGroup, useToken, chakra, createListCollection, } from '@chakra-ui/react';
37
37
  export { default as theme } from '../../theme/theme';
38
+ export { customConfig as themeConfig } from '../../theme/theme';
39
+ export * as AdaptiveTabs from '../../components/AdaptiveTabs/index';
40
+ export * from '../../components/RoutedTabs/index';
41
+ export * from '../../components/buttons/BackToButton';
42
+ export * from '../../components/buttons/ClearButton';
43
+ export * from '../../components/Hint/Hint';
44
+ export * from '../../components/filters/FilterInput';
45
+ export * from '../../components/forms/components';
46
+ export * from '../../components/forms/fields';
47
+ export * from '../../components/forms/inputs';
48
+ export * from '../../components/forms/utils';
49
+ export * from '../../components/forms/validators';
50
+ export * from '../../components/truncation/TruncatedTextTooltip';
38
51
  export { default as getComponentDisplayName } from '../../utils/getComponentDisplayName';
39
- export { default as useClipboard } from '../../hooks/useClipboard';
52
+ export * as html from '../../utils/htmlEntities';
53
+ export * as consts from '../../utils/consts';
54
+ export * as regexp from '../../utils/regexp';
55
+ export * as guards from '../../utils/guards';
56
+ export * from '../../utils/url';
57
+ export * from '../../utils/isBrowser';
58
+ export { useClipboard } from '../../hooks/useClipboard';
40
59
  export { useDisclosure } from '../../hooks/useDisclosure';
41
- export { default as useViewportSize } from '../../hooks/useViewportSize';
60
+ export { useUpdateEffect } from '../../hooks/useUpdateEffect';
61
+ export { useFirstMountState } from '../../hooks/useFirstMountState';
62
+ export { useIsSticky } from '../../hooks/useIsSticky';
63
+ export { useViewportSize } from '../../hooks/useViewportSize';
@@ -1,2 +1,3 @@
1
+ export declare const customConfig: import('@chakra-ui/react').SystemConfig;
1
2
  declare const _default: import('@chakra-ui/react').SystemContext;
2
3
  export default _default;
@@ -0,0 +1,15 @@
1
+ import { default as BigNumber } from 'bignumber.js';
2
+ export declare const WEI: BigNumber;
3
+ export declare const GWEI: BigNumber;
4
+ export declare const WEI_IN_GWEI: BigNumber;
5
+ export declare const ZERO: BigNumber;
6
+ export declare const SECOND = 1000;
7
+ export declare const MINUTE: number;
8
+ export declare const HOUR: number;
9
+ export declare const DAY: number;
10
+ export declare const WEEK: number;
11
+ export declare const MONTH: number;
12
+ export declare const YEAR: number;
13
+ export declare const Kb = 1000;
14
+ export declare const Mb: number;
15
+ export declare const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
@@ -0,0 +1,2 @@
1
+ export declare function castToString(payload: unknown): string | undefined;
2
+ export declare function castToNumber(payload: unknown): number | undefined;
@@ -0,0 +1,26 @@
1
+ export declare const asymp: string;
2
+ export declare const tilde: string;
3
+ export declare const hellip: string;
4
+ export declare const nbsp: string;
5
+ export declare const thinsp: string;
6
+ export declare const hairsp: string;
7
+ export declare const space: string;
8
+ export declare const nbdash: string;
9
+ export declare const mdash: string;
10
+ export declare const ndash: string;
11
+ export declare const laquo: string;
12
+ export declare const raquo: string;
13
+ export declare const middot: string;
14
+ export declare const blackCircle: string;
15
+ export declare const blackRightwardsArrowhead: string;
16
+ export declare const degree: string;
17
+ export declare const times: string;
18
+ export declare const disk: string;
19
+ export declare const minus: string;
20
+ export declare const leftLineArrow: string;
21
+ export declare const rightLineArrow: string;
22
+ export declare const apos: string;
23
+ export declare const shift: string;
24
+ export declare const cmd: string;
25
+ export declare const alt: string;
26
+ export declare const copy: string;
@@ -0,0 +1 @@
1
+ export declare function isBrowser(): boolean;
@@ -0,0 +1,6 @@
1
+ export declare const URL_PREFIX: RegExp;
2
+ export declare const IPFS_PREFIX: RegExp;
3
+ export declare const HEX_REGEXP: RegExp;
4
+ export declare const HEX_REGEXP_WITH_0X: RegExp;
5
+ export declare const FILE_EXTENSION: RegExp;
6
+ export declare const BLOCK_HEIGHT: RegExp;
@@ -0,0 +1,6 @@
1
+ export declare const stripTrailingSlash: (str: string) => string;
2
+ export declare const stripLeadingSlash: (str: string) => string;
3
+ export declare function makePrettyLink(url: string | undefined): {
4
+ href: string;
5
+ domain: string;
6
+ } | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blockscout/ui-toolkit",
3
- "version": "0.0.1-alpha.2",
3
+ "version": "0.0.1-alpha.3",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -22,12 +22,15 @@
22
22
  "peerDependencies": {
23
23
  "@chakra-ui/react": ">=3.15.0",
24
24
  "@emotion/react": ">=11.14.0",
25
+ "next": ">=15.2.3",
26
+ "next-themes": ">=0.4.4",
25
27
  "react": ">=18.3.1",
26
28
  "react-dom": ">=18.3.1",
27
- "next": ">=15.2.3",
28
- "next-themes": ">=0.4.4"
29
+ "react-hook-form": ">=7.52.1"
29
30
  },
30
31
  "devDependencies": {
32
+ "@svgr/plugin-jsx": "8.1.0",
33
+ "@svgr/plugin-svgo": "8.1.0",
31
34
  "@types/node": "20.16.7",
32
35
  "@types/react": "18.3.12",
33
36
  "@types/react-dom": "18.3.1",
@@ -1,8 +0,0 @@
1
- import { default as React } from 'react';
2
- import { IconButtonProps } from '../chakra/icon-button';
3
- interface Props extends IconButtonProps {
4
- href?: string;
5
- hint?: string;
6
- }
7
- declare const _default: React.MemoExoticComponent<({ href, hint, ...rest }: Props) => React.JSX.Element>;
8
- export default _default;
@@ -1,9 +0,0 @@
1
- import { Placement } from '@floating-ui/dom';
2
- import { default as React } from 'react';
3
- interface Props {
4
- children: React.ReactNode;
5
- label: React.ReactNode;
6
- placement?: Placement;
7
- }
8
- declare const _default: React.MemoExoticComponent<({ children, label, placement }: Props) => React.JSX.Element>;
9
- export default _default;
@@ -1 +0,0 @@
1
- export * from './TruncatedTextTooltip';
@@ -1,12 +0,0 @@
1
- export const keyframes = {
2
- fromLeftToRight: {
3
- from: {
4
- left: '0%',
5
- transform: 'translateX(0%)',
6
- },
7
- to: {
8
- left: '100%',
9
- transform: 'translateX(-100%)',
10
- },
11
- },
12
- };
@@ -1,13 +0,0 @@
1
- import type { ThemingConfig } from '@chakra-ui/react';
2
-
3
- import type { ExcludeUndefined } from 'types/utils';
4
-
5
- export const radii: ExcludeUndefined<ThemingConfig['tokens']>['radii'] = {
6
- none: { value: '0' },
7
- sm: { value: '4px' },
8
- base: { value: '8px' },
9
- md: { value: '12px' },
10
- lg: { value: '16px' },
11
- xl: { value: '24px' },
12
- full: { value: '9999px' },
13
- };
@@ -1,10 +0,0 @@
1
- const breakpoints = {
2
- sm: '415px',
3
- lg: '1000px',
4
- xl: '1440px',
5
- '2xl': '1920px',
6
- // these breakpoint are needed just to make others work
7
- '3xl': '3000px',
8
- };
9
-
10
- export default breakpoints;
@@ -1,162 +0,0 @@
1
- const colors = {
2
- green: {
3
- '50': { value: '#F0FFF4' },
4
- '100': { value: '#C6F6D5' },
5
- '200': { value: '#9AE6B4' },
6
- '300': { value: '#68D391' },
7
- '400': { value: '#48BB78' },
8
- '500': { value: '#38A169' },
9
- '600': { value: '#25855A' },
10
- '700': { value: '#276749' },
11
- '800': { value: '#22543D' },
12
- '900': { value: '#1C4532' },
13
- },
14
- blue: {
15
- '50': { value: '#EBF8FF' },
16
- '100': { value: '#BEE3F8' },
17
- '200': { value: '#90CDF4' },
18
- '300': { value: '#63B3ED' },
19
- '400': { value: '#4299E1' },
20
- '500': { value: '#3182CE' },
21
- '600': { value: '#2B6CB0' },
22
- '700': { value: '#2C5282' },
23
- '800': { value: '#2A4365' },
24
- '900': { value: '#1A365D' },
25
- },
26
- red: {
27
- '50': { value: '#FFF5F5' },
28
- '100': { value: '#FED7D7' },
29
- '200': { value: '#FEB2B2' },
30
- '300': { value: '#FC8181' },
31
- '400': { value: '#F56565' },
32
- '500': { value: '#E53E3E' },
33
- '600': { value: '#C53030' },
34
- '700': { value: '#9B2C2C' },
35
- '800': { value: '#822727' },
36
- '900': { value: '#63171B' },
37
- },
38
- orange: {
39
- '50': { value: '#FFFAF0' },
40
- '100': { value: '#FEEBCB' },
41
- '200': { value: '#FBD38D' },
42
- '300': { value: '#F6AD55' },
43
- '400': { value: '#ED8936' },
44
- '500': { value: '#DD6B20' },
45
- '600': { value: '#C05621' },
46
- '700': { value: '#9C4221' },
47
- '800': { value: '#7B341E' },
48
- '900': { value: '#652B19' },
49
- },
50
- yellow: {
51
- '50': { value: '#FFFFF0' },
52
- '100': { value: '#FEFCBF' },
53
- '200': { value: '#FAF089' },
54
- '300': { value: '#F6E05E' },
55
- '400': { value: '#ECC94B' },
56
- '500': { value: '#D69E2E' },
57
- '600': { value: '#B7791F' },
58
- '700': { value: '#975A16' },
59
- '800': { value: '#744210' },
60
- '900': { value: '#5F370E' },
61
- },
62
- gray: {
63
- '50': { value: '#F7FAFC' },
64
- '100': { value: '#EDF2F7' },
65
- '200': { value: '#E2E8F0' },
66
- '300': { value: '#CBD5E0' },
67
- '400': { value: '#A0AEC0' },
68
- '500': { value: '#718096' },
69
- '600': { value: '#4A5568' },
70
- '700': { value: '#2D3748' },
71
- '800': { value: '#1A202C' },
72
- '900': { value: '#171923' },
73
- },
74
- teal: {
75
- '50': { value: '#E6FFFA' },
76
- '100': { value: '#B2F5EA' },
77
- '200': { value: '#81E6D9' },
78
- '300': { value: '#4FD1C5' },
79
- '400': { value: '#38B2AC' },
80
- '500': { value: '#319795' },
81
- '600': { value: '#2C7A7B' },
82
- '700': { value: '#285E61' },
83
- '800': { value: '#234E52' },
84
- '900': { value: '#1D4044' },
85
- },
86
- cyan: {
87
- '50': { value: '#EDFDFD' },
88
- '100': { value: '#C4F1F9' },
89
- '200': { value: '#9DECF9' },
90
- '300': { value: '#76E4F7' },
91
- '400': { value: '#0BC5EA' },
92
- '500': { value: '#00B5D8' },
93
- '600': { value: '#00A3C4' },
94
- '700': { value: '#0987A0' },
95
- '800': { value: '#086F83' },
96
- '900': { value: '#065666' },
97
- },
98
- purple: {
99
- '50': { value: '#FAF5FF' },
100
- '100': { value: '#E9D8FD' },
101
- '200': { value: '#D6BCFA' },
102
- '300': { value: '#B794F4' },
103
- '400': { value: '#9F7AEA' },
104
- '500': { value: '#805AD5' },
105
- '600': { value: '#6B46C1' },
106
- '700': { value: '#553C9A' },
107
- '800': { value: '#44337A' },
108
- '900': { value: '#322659' },
109
- },
110
- pink: {
111
- '50': { value: '#FFF5F7' },
112
- '100': { value: '#FED7E2' },
113
- '200': { value: '#FBB6CE' },
114
- '300': { value: '#F687B3' },
115
- '400': { value: '#ED64A6' },
116
- '500': { value: '#D53F8C' },
117
- '600': { value: '#B83280' },
118
- '700': { value: '#97266D' },
119
- '800': { value: '#702459' },
120
- '900': { value: '#521B41' },
121
- },
122
- black: { value: '#101112' },
123
- white: { value: '#ffffff' },
124
- whiteAlpha: {
125
- '50': { value: 'RGBA(255, 255, 255, 0.04)' },
126
- '100': { value: 'RGBA(255, 255, 255, 0.06)' },
127
- '200': { value: 'RGBA(255, 255, 255, 0.08)' },
128
- '300': { value: 'RGBA(255, 255, 255, 0.16)' },
129
- '400': { value: 'RGBA(255, 255, 255, 0.24)' },
130
- '500': { value: 'RGBA(255, 255, 255, 0.36)' },
131
- '600': { value: 'RGBA(255, 255, 255, 0.48)' },
132
- '700': { value: 'RGBA(255, 255, 255, 0.64)' },
133
- '800': { value: 'RGBA(255, 255, 255, 0.80)' },
134
- '900': { value: 'RGBA(255, 255, 255, 0.92)' },
135
- },
136
- blackAlpha: {
137
- '50': { value: 'RGBA(16, 17, 18, 0.04)' },
138
- '100': { value: 'RGBA(16, 17, 18, 0.06)' },
139
- '200': { value: 'RGBA(16, 17, 18, 0.08)' },
140
- '300': { value: 'RGBA(16, 17, 18, 0.16)' },
141
- '400': { value: 'RGBA(16, 17, 18, 0.24)' },
142
- '500': { value: 'RGBA(16, 17, 18, 0.36)' },
143
- '600': { value: 'RGBA(16, 17, 18, 0.48)' },
144
- '700': { value: 'RGBA(16, 17, 18, 0.64)' },
145
- '800': { value: 'RGBA(16, 17, 18, 0.80)' },
146
- '900': { value: 'RGBA(16, 17, 18, 0.92)' },
147
- },
148
- // BRAND COLORS
149
- github: { value: '#171923' },
150
- telegram: { value: '#2775CA' },
151
- linkedin: { value: '#1564BA' },
152
- discord: { value: '#9747FF' },
153
- slack: { value: '#1BA27A' },
154
- twitter: { value: '#000000' },
155
- opensea: { value: '#2081E2' },
156
- facebook: { value: '#4460A0' },
157
- medium: { value: '#231F20' },
158
- reddit: { value: '#FF4500' },
159
- celo: { value: '#FCFF52' },
160
- };
161
-
162
- export default colors;
@@ -1,15 +0,0 @@
1
- import type { ThemingConfig } from '@chakra-ui/react';
2
-
3
- import type { ExcludeUndefined } from 'types/utils';
4
-
5
- const durations: ExcludeUndefined<ThemingConfig['tokens']>['durations'] = {
6
- 'ultra-fast': { value: '50ms' },
7
- faster: { value: '100ms' },
8
- fast: { value: '150ms' },
9
- normal: { value: '200ms' },
10
- slow: { value: '300ms' },
11
- slower: { value: '400ms' },
12
- 'ultra-slow': { value: '500ms' },
13
- };
14
-
15
- export default durations;