@aragon/gov-ui-kit 1.6.0 → 1.8.0

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 (66) hide show
  1. package/CHANGELOG.md +98 -13
  2. package/build.css +1 -5
  3. package/dist/index.es.js +1 -1
  4. package/dist/index.es.js.map +1 -1
  5. package/dist/types/.storybook/main.d.ts +1 -1
  6. package/dist/types/.storybook/preview.d.ts +1 -1
  7. package/dist/types/.storybook/theme.d.ts +1 -1
  8. package/dist/types/src/core/assets/copy/coreCopy.d.ts +3 -0
  9. package/dist/types/src/core/components/clipboard/clipboard.d.ts +28 -0
  10. package/dist/types/src/core/components/clipboard/index.d.ts +1 -0
  11. package/dist/types/src/core/components/dataList/dataListItem/dataListItem.d.ts +2 -2
  12. package/dist/types/src/core/components/definitionList/definitionListItem/definitionListItem.d.ts +8 -4
  13. package/dist/types/src/core/components/definitionList/definitionListItem/definitionListItemContent.d.ts +13 -0
  14. package/dist/types/src/core/components/index.d.ts +1 -0
  15. package/dist/types/src/core/components/link/link/link.api.d.ts +6 -7
  16. package/dist/types/src/core/components/toggles/toggleGroup/toggleGroup.d.ts +5 -0
  17. package/dist/types/src/core/components/tooltip/tooltip.d.ts +4 -0
  18. package/dist/types/src/core/hooks/index.d.ts +1 -0
  19. package/dist/types/src/core/hooks/useCopy/index.d.ts +1 -0
  20. package/dist/types/src/core/hooks/useCopy/useCopy.d.ts +11 -0
  21. package/dist/types/src/modules/assets/copy/modulesCopy.d.ts +16 -12
  22. package/dist/types/src/modules/components/proposal/proposalUtils.d.ts +2 -11
  23. package/dist/types/src/modules/components/proposal/proposalVoting/index.d.ts +3 -1
  24. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingBodyContent/proposalVotingBodyContent.d.ts +7 -7
  25. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingBodySummaryList/proposalVotingBodySummaryList.d.ts +2 -2
  26. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingBodySummaryListItem/proposalVotingBodySummaryListItem.d.ts +3 -3
  27. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingBreakdownMultisig/proposalVotingBreakdownMultisig.d.ts +10 -1
  28. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingBreakdownToken/proposalVotingBreakdownToken.d.ts +5 -0
  29. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingContainer/proposalVotingContainer.d.ts +7 -5
  30. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingContext/index.d.ts +2 -0
  31. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingContext/proposalVotingContext.api.d.ts +21 -0
  32. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingContext/proposalVotingContext.d.ts +3 -0
  33. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingProgress/proposalVotingProgressItem.d.ts +13 -4
  34. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingStage/proposalVotingStage.d.ts +12 -11
  35. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingStageContainer/index.d.ts +1 -0
  36. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingStageContainer/proposalVotingStageContainer.d.ts +12 -0
  37. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingStatus/index.d.ts +1 -0
  38. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingStatus/proposalVotingStatus.d.ts +26 -0
  39. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingStatus/proposalVotingStatusAdvanceable.d.ts +12 -0
  40. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingTabs/proposalVotingTabs.d.ts +2 -2
  41. package/dist/types/src/modules/components/vote/voteDataListItem/voteDataListItemStructure/voteDataListItemStructure.d.ts +7 -2
  42. package/dist/types/src/modules/components/vote/voteProposalDataListItem/voteProposalDataListItemStructure/voteProposalDataListItemStructure.d.ts +7 -2
  43. package/dist/types/src/modules/components/vote/voteUtils.d.ts +2 -2
  44. package/dist/types/src/modules/types/definitionSetting.d.ts +1 -1
  45. package/index.css +1 -4
  46. package/package.json +50 -56
  47. package/src/core/components/illustrations/index.css +2 -2
  48. package/src/theme/index.css +2 -1
  49. package/src/theme/tokens/index.css +1 -1
  50. package/src/theme/tokens/primitives/borderRadius.css +9 -8
  51. package/src/theme/tokens/primitives/breakpoints.css +16 -0
  52. package/src/theme/tokens/primitives/colors.css +69 -59
  53. package/src/theme/tokens/primitives/focusRing.css +56 -0
  54. package/src/theme/tokens/primitives/index.css +3 -1
  55. package/src/theme/tokens/primitives/shadows.css +40 -38
  56. package/src/theme/tokens/primitives/spacing.css +2 -36
  57. package/src/theme/tokens/primitives/typography.css +20 -22
  58. package/src/theme/utils/animations.css +23 -0
  59. package/src/theme/utils/index.css +3 -0
  60. package/src/theme/utils/prose.css +72 -0
  61. package/src/theme/utils/pseudoElements.css +27 -0
  62. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingStageContext/index.d.ts +0 -1
  63. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingStageContext/proposalVotingStageContext.d.ts +0 -17
  64. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingStageStatus/index.d.ts +0 -1
  65. package/dist/types/src/modules/components/proposal/proposalVoting/proposalVotingStageStatus/proposalVotingStageStatus.d.ts +0 -18
  66. package/tailwind.config.js +0 -376
@@ -1,28 +1,26 @@
1
- :root {
2
- /******* Font Weight *******/
3
- --guk-font-weight-normal: 400;
4
- --guk-font-weight-semibold: 600;
1
+ @theme {
2
+ --font-*: initial;
5
3
 
6
- /******* Font Size *******/
7
- --guk-font-size-xs: 0.75rem;
8
- --guk-font-size-sm: 0.875rem;
9
- --guk-font-size-base: 1rem;
10
- --guk-font-size-lg: 1.125rem;
11
- --guk-font-size-xl: 1.25rem;
12
- --guk-font-size-2xl: 1.5rem;
13
- --guk-font-size-3xl: 1.875rem;
14
- --guk-font-size-4xl: 2.25rem;
15
- --guk-font-size-5xl: 3rem;
16
-
17
- /******* Line Height *******/
18
- --guk-line-height-normal: 1.5;
19
- --guk-line-height-tight: 1.25;
20
- --guk-line-height-relaxed: 1.65;
21
-
22
- /******* Font Family *******/
23
- --guk-font-family:
4
+ --font-sans:
24
5
  "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,
25
6
  "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
7
+
8
+ --font-weight-normal: 400;
9
+ --font-weight-semibold: 600;
10
+
11
+ --text-xs: 0.75rem;
12
+ --text-sm: 0.875rem;
13
+ --text-base: 1rem;
14
+ --text-lg: 1.125rem;
15
+ --text-xl: 1.25rem;
16
+ --text-2xl: 1.5rem;
17
+ --text-3xl: 1.875rem;
18
+ --text-4xl: 2.25rem;
19
+ --text-5xl: 3rem;
20
+
21
+ --leading-tight: 1.25;
22
+ --leading-normal: 1.5;
23
+ --leading-relaxed: 1.65;
26
24
  }
27
25
 
28
26
  @font-face {
@@ -0,0 +1,23 @@
1
+ @theme {
2
+ --animate-shake: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
3
+
4
+ @keyframes shake {
5
+ 10%,
6
+ 90% {
7
+ transform: translate3d(-1px, 0, 0);
8
+ }
9
+ 20%,
10
+ 80% {
11
+ transform: translate3d(2px, 0, 0);
12
+ }
13
+ 30%,
14
+ 50%,
15
+ 70% {
16
+ transform: translate3d(-4px, 0, 0);
17
+ }
18
+ 40%,
19
+ 60% {
20
+ transform: translate3d(4px, 0, 0);
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,3 @@
1
+ @import "./animations.css";
2
+ @import "./prose.css";
3
+ @import "./pseudoElements.css";
@@ -0,0 +1,72 @@
1
+ @plugin "@tailwindcss/typography";
2
+
3
+ @utility prose {
4
+ h1 {
5
+ @apply mt-2 mb-10 text-2xl md:text-3xl;
6
+ }
7
+
8
+ h2 {
9
+ @apply mt-2 mb-8 text-xl md:text-2xl;
10
+ }
11
+
12
+ h3 {
13
+ @apply mt-2 mb-6 text-lg md:text-xl;
14
+ }
15
+
16
+ h4 {
17
+ @apply mt-0 mb-4 text-base md:text-lg;
18
+ }
19
+
20
+ h5 {
21
+ @apply mt-0 mb-2 text-sm md:text-base;
22
+ }
23
+
24
+ h6 {
25
+ @apply mt-0 mb-1 text-xs md:text-sm;
26
+ }
27
+
28
+ p {
29
+ @apply mt-0 mb-0 text-base md:text-lg;
30
+ }
31
+
32
+ a {
33
+ @apply text-primary-400 hover:text-primary-600 active:text-primary-800 no-underline;
34
+ }
35
+
36
+ strong {
37
+ @apply text-base text-neutral-500 md:text-lg;
38
+ }
39
+
40
+ em {
41
+ @apply text-base text-neutral-500 md:text-lg;
42
+ }
43
+
44
+ blockquote {
45
+ @apply shadow-neutral-md rounded-lg border border-neutral-200 bg-neutral-50 p-10;
46
+ }
47
+
48
+ pre {
49
+ @apply rounded-lg bg-neutral-900 text-neutral-50;
50
+ }
51
+
52
+ code {
53
+ @apply rounded-md bg-neutral-900 p-1 text-neutral-50 before:pl-1 before:content-[''] after:pr-1 after:content-[''];
54
+ }
55
+
56
+ img,
57
+ video {
58
+ @apply shadow-neutral-md overflow-hidden rounded-xl;
59
+ }
60
+
61
+ hr {
62
+ @apply mt-10 border border-neutral-200;
63
+ }
64
+ }
65
+
66
+ @utility prose-neutral {
67
+ --tw-prose-body: var(--color-neutral-500);
68
+ --tw-prose-headings: var(--color-neutral-800);
69
+ --tw-prose-lead: var(--color-neutral-600);
70
+ --tw-prose-links: var(--color-primary-400);
71
+ --tw-prose-quotes: var(--color-neutral-800);
72
+ }
@@ -0,0 +1,27 @@
1
+ @utility calendar-icon-hidden {
2
+ &::-webkit-calendar-picker-indicator {
3
+ appearance: none;
4
+ display: none;
5
+ }
6
+
7
+ &::-webkit-inner-spin-button {
8
+ appearance: none;
9
+ display: none;
10
+ }
11
+ }
12
+
13
+ @utility search-cancel-hidden {
14
+ &::-webkit-search-cancel-button {
15
+ appearance: none;
16
+ }
17
+ }
18
+
19
+ @utility spin-buttons-hidden {
20
+ &::-webkit-inner-spin-button {
21
+ appearance: none;
22
+ }
23
+
24
+ &::-webkit-outer-spin-button {
25
+ appearance: none;
26
+ }
27
+ }
@@ -1 +0,0 @@
1
- export { ProposalVotingStageContextProvider, useProposalVotingStageContext, type IProposalVotingStageContext, } from './proposalVotingStageContext';
@@ -1,17 +0,0 @@
1
- import type { IProposalVotingStageProps } from '../proposalVotingStage/proposalVotingStage';
2
- export interface IProposalVotingStageContext extends Pick<IProposalVotingStageProps, 'startDate' | 'endDate'> {
3
- /**
4
- * List of plugin addresses to be displayed in the body summary list.
5
- */
6
- bodyList?: string[];
7
- /**
8
- * The active body to be displayed.
9
- */
10
- activeBody?: string;
11
- /**
12
- * Function to set the active body.
13
- */
14
- setActiveBody?: (id: string | undefined) => void;
15
- }
16
- export declare const ProposalVotingStageContextProvider: import("react").Provider<IProposalVotingStageContext | null>;
17
- export declare const useProposalVotingStageContext: () => IProposalVotingStageContext;
@@ -1 +0,0 @@
1
- export { ProposalVotingStageStatus, type IProposalVotingStageStatusProps } from './proposalVotingStageStatus';
@@ -1,18 +0,0 @@
1
- import type { ComponentProps } from 'react';
2
- import { ProposalVotingStatus } from '../../proposalUtils';
3
- export interface IProposalVotingStageStatusProps extends ComponentProps<'div'> {
4
- /**
5
- * Status of the proposal.
6
- * @default ProposalVotingStatus.PENDING
7
- */
8
- status?: ProposalVotingStatus;
9
- /**
10
- * End date of the proposal in timestamp or ISO format.
11
- */
12
- endDate?: string | number;
13
- /**
14
- * Defines if the proposal is a multi-stage proposal.
15
- */
16
- isMultiStage?: boolean;
17
- }
18
- export declare const ProposalVotingStageStatus: React.FC<IProposalVotingStageStatusProps>;
@@ -1,376 +0,0 @@
1
- /** @type {import('tailwindcss').Config} */
2
- module.exports = {
3
- content: ['./src/**/*.{jsx,ts,tsx,mdx}', './docs/**/*.{jsx,tsx,mdx}', '.storybook/*.{jsx,tsx}'],
4
- theme: {
5
- colors: {
6
- primary: {
7
- 50: 'var(--guk-color-primary-50)',
8
- 100: 'var(--guk-color-primary-100)',
9
- 200: 'var(--guk-color-primary-200)',
10
- 300: 'var(--guk-color-primary-300)',
11
- 400: 'var(--guk-color-primary-400)',
12
- 500: 'var(--guk-color-primary-500)',
13
- 600: 'var(--guk-color-primary-600)',
14
- 700: 'var(--guk-color-primary-700)',
15
- 800: 'var(--guk-color-primary-800)',
16
- 900: 'var(--guk-color-primary-900)',
17
- },
18
- neutral: {
19
- 0: 'var(--guk-color-neutral-0)',
20
- 50: 'var(--guk-color-neutral-50)',
21
- 100: 'var(--guk-color-neutral-100)',
22
- 200: 'var(--guk-color-neutral-200)',
23
- 300: 'var(--guk-color-neutral-300)',
24
- 400: 'var(--guk-color-neutral-400)',
25
- 500: 'var(--guk-color-neutral-500)',
26
- 600: 'var(--guk-color-neutral-600)',
27
- 700: 'var(--guk-color-neutral-700)',
28
- 800: 'var(--guk-color-neutral-800)',
29
- 900: 'var(--guk-color-neutral-900)',
30
- },
31
- info: {
32
- 100: 'var(--guk-color-info-100)',
33
- 200: 'var(--guk-color-info-200)',
34
- 300: 'var(--guk-color-info-300)',
35
- 400: 'var(--guk-color-info-400)',
36
- 500: 'var(--guk-color-info-500)',
37
- 600: 'var(--guk-color-info-600)',
38
- 700: 'var(--guk-color-info-700)',
39
- 800: 'var(--guk-color-info-800)',
40
- 900: 'var(--guk-color-info-900)',
41
- },
42
- success: {
43
- 100: 'var(--guk-color-success-100)',
44
- 200: 'var(--guk-color-success-200)',
45
- 300: 'var(--guk-color-success-300)',
46
- 400: 'var(--guk-color-success-400)',
47
- 500: 'var(--guk-color-success-500)',
48
- 600: 'var(--guk-color-success-600)',
49
- 700: 'var(--guk-color-success-700)',
50
- 800: 'var(--guk-color-success-800)',
51
- 900: 'var(--guk-color-success-900)',
52
- },
53
- warning: {
54
- 100: 'var(--guk-color-warning-100)',
55
- 200: 'var(--guk-color-warning-200)',
56
- 300: 'var(--guk-color-warning-300)',
57
- 400: 'var(--guk-color-warning-400)',
58
- 500: 'var(--guk-color-warning-500)',
59
- 600: 'var(--guk-color-warning-600)',
60
- 700: 'var(--guk-color-warning-700)',
61
- 800: 'var(--guk-color-warning-800)',
62
- 900: 'var(--guk-color-warning-900)',
63
- },
64
- critical: {
65
- 100: 'var(--guk-color-critical-100)',
66
- 200: 'var(--guk-color-critical-200)',
67
- 300: 'var(--guk-color-critical-300)',
68
- 400: 'var(--guk-color-critical-400)',
69
- 500: 'var(--guk-color-critical-500)',
70
- 600: 'var(--guk-color-critical-600)',
71
- 700: 'var(--guk-color-critical-700)',
72
- 800: 'var(--guk-color-critical-800)',
73
- 900: 'var(--guk-color-critical-900)',
74
- },
75
- transparent: 'var(--guk-color-transparent)',
76
- },
77
- spacing: {
78
- 0: 'var(--guk-space-0)', // 0px
79
- 0.25: 'var(--guk-space-0-25)', // 1px
80
- 0.5: 'var(--guk-space-0-5)', // 2px
81
- 1: 'var(--guk-space-base)', // 4px
82
- 1.5: 'var(--guk-space-1-5)', // 6px
83
- 2: 'var(--guk-space-2)', // 8px
84
- 2.5: 'var(--guk-space-2-5)', // 10px
85
- 3: 'var(--guk-space-3)', // 12px
86
- 3.5: 'var(--guk-space-3-5)', // 14px
87
- 4: 'var(--guk-space-4)', // 16px
88
- 5: 'var(--guk-space-5)', // 20px
89
- 6: 'var(--guk-space-6)', // 24px
90
- 7: 'var(--guk-space-7)', // 28px
91
- 8: 'var(--guk-space-8)', // 32px
92
- 9: 'var(--guk-space-9)', // 36px
93
- 10: 'var(--guk-space-10)', // 40px
94
- 11: 'var(--guk-space-11)', // 44px
95
- 12: 'var(--guk-space-12)', // 48px
96
- 14: 'var(--guk-space-14)', // 56px
97
- 16: 'var(--guk-space-16)', // 64px
98
- 20: 'var(--guk-space-20)', // 80px
99
- 24: 'var(--guk-space-24)', // 96px
100
- 28: 'var(--guk-space-28)', // 112px
101
- 32: 'var(--guk-space-32)', // 128px
102
- 36: 'var(--guk-space-36)', // 144px
103
- 40: 'var(--guk-space-40)', // 160px
104
- 44: 'var(--guk-space-44)', // 176px
105
- 48: 'var(--guk-space-48)', // 192px
106
- 52: 'var(--guk-space-52)', // 208px
107
- 56: 'var(--guk-space-56)', // 224px
108
- 60: 'var(--guk-space-60)', // 240px
109
- 64: 'var(--guk-space-64)', // 256px
110
- 72: 'var(--guk-space-72)', // 288px
111
- 80: 'var(--guk-space-80)', // 320px
112
- 96: 'var(--guk-space-96)', // 384px
113
- },
114
- ringWidth: {
115
- DEFAULT: '3px',
116
- },
117
- ringColor: {
118
- primary: 'var(--guk-color-primary-200)',
119
- success: 'var(--guk-color-success-200)',
120
- warning: 'var(--guk-color-warning-200)',
121
- critical: 'var(--guk-color-critical-200)',
122
- },
123
- ringOffsetWidth: {
124
- DEFAULT: '2px',
125
- },
126
- borderRadius: {
127
- DEFAULT: 'var(--guk-border-rounded)',
128
- lg: 'var(--guk-border-rounded-lg)',
129
- xl: 'var(--guk-border-rounded-xl)',
130
- '2xl': 'var(--guk-border-rounded-2xl)',
131
- '3xl': 'var(--guk-border-rounded-3xl)',
132
- full: 'var(--guk-border-rounded-full)',
133
- none: 'var(--guk-border-rounded-none)',
134
- },
135
- boxShadow: {
136
- 'neutral-sm': 'var(--guk-shadow-neutral-sm)',
137
- neutral: 'var(--guk-shadow-neutral)',
138
- 'neutral-md': 'var(--guk-shadow-neutral-md)',
139
- 'neutral-ld': 'var(--guk-shadow-neutral-lg)',
140
- 'neutral-xl': 'var(--guk-shadow-neutral-xl)',
141
- 'neutral-2xl': 'var(--guk-shadow-neutral-2xl)',
142
-
143
- 'primary-sm': 'var(--guk-shadow-primary-sm)',
144
- primary: 'var(--guk-shadow-primary)',
145
- 'primary-md': 'var(--guk-shadow-primary-md)',
146
- 'primary-lg': 'var(--guk-shadow-primary-lg)',
147
- 'primary-xl': 'var(--guk-shadow-primary-xl)',
148
- 'primary-2xl': 'var(--guk-shadow-primary-2xl)',
149
-
150
- 'success-sm': 'var(--guk-shadow-success-sm)',
151
- success: 'var(--guk-shadow-success)',
152
- 'success-md': 'var(--guk-shadow-success-md)',
153
- 'success-lg': 'var(--guk-shadow-success-lg)',
154
- 'success-xl': 'var(--guk-shadow-success-xl)',
155
- 'success-2xl': 'var(--guk-shadow-success-2xl)',
156
-
157
- 'warning-sm': 'var(--guk-shadow-warning-sm)',
158
- warning: 'var(--guk-shadow-warning)',
159
- 'warning-md': 'var(--guk-shadow-warning-md)',
160
- 'warning-lg': 'var(--guk-shadow-warning-lg)',
161
- 'warning-xl': 'var(--guk-shadow-warning-xl)',
162
- 'warning-2xl': 'var(--guk-shadow-warning-2xl)',
163
-
164
- 'critical-sm': 'var(--guk-shadow-critical-sm)',
165
- critical: 'var(--guk-shadow-critical)',
166
- 'critical-md': 'var(--guk-shadow-critical-md)',
167
- 'critical-lg': 'var(--guk-shadow-critical-lg)',
168
- 'critical-xl': 'var(--guk-shadow-critical-xl)',
169
- 'critical-2xl': 'var(--guk-shadow-critical-2xl)',
170
-
171
- 'info-sm': 'var(--guk-shadow-info-sm)',
172
- info: 'var(--guk-shadow-info)',
173
- 'info-md': 'var(--guk-shadow-info-md)',
174
- 'info-lg': 'var(--guk-shadow-info-lg)',
175
- 'info-xl': 'var(--guk-shadow-info-xl)',
176
- 'info-2xl': 'var(--guk-shadow-info-2xl)',
177
-
178
- none: 'var(--guk-shadow-none)',
179
- },
180
- screens: {
181
- sm: '640px',
182
- md: '786px',
183
- lg: '1024px',
184
- xl: '1280px',
185
- '2xl': '1536px',
186
- },
187
- fontFamily: {
188
- sans: [`var(--guk-font-family)`],
189
- },
190
- fontSize: {
191
- xs: 'var(--guk-font-size-xs)',
192
- sm: 'var(--guk-font-size-sm)',
193
- base: 'var(--guk-font-size-base)',
194
- lg: 'var(--guk-font-size-lg)',
195
- xl: 'var(--guk-font-size-xl)',
196
- '2xl': 'var(--guk-font-size-2xl)',
197
- '3xl': 'var(--guk-font-size-3xl)',
198
- '4xl': 'var(--guk-font-size-4xl)',
199
- '5xl': 'var(--guk-font-size-5xl)',
200
- },
201
- fontWeight: {
202
- normal: 'var(--guk-font-weight-normal)',
203
- semibold: 'var(--guk-font-weight-semibold)',
204
- },
205
- lineHeight: {
206
- normal: 'var(--guk-line-height-normal)',
207
- tight: 'var(--guk-line-height-tight)',
208
- relaxed: 'var(--guk-line-height-relaxed)',
209
- },
210
- extend: {
211
- animation: {
212
- shake: 'shake 0.82s cubic-bezier(0.36,0.07,0.19,0.97) both',
213
- },
214
- keyframes: {
215
- shake: {
216
- '10%, 90%': {
217
- transform: 'translate3d(-1px, 0, 0)',
218
- },
219
- '20%, 80%': {
220
- transform: 'translate3d(2px, 0, 0)',
221
- },
222
- '30%, 50%, 70%': {
223
- transform: 'translate3d(-4px, 0, 0)',
224
- },
225
- '40%, 60%': {
226
- transform: 'translate3d(4px, 0, 0)',
227
- },
228
- },
229
- },
230
- backgroundImage: {
231
- 'modal-overlay': 'linear-gradient(180deg, rgba(245, 247, 250, 0) 0%, #F5F7FA 100%)',
232
- 'modal-header': 'linear-gradient(180deg, #F5F7FA 0%, rgba(245, 247, 250, 0) 100%)',
233
- 'modal-footer': 'linear-gradient(180deg, rgba(245, 247, 250, 0) 0%, #F5F7FA 100%)',
234
- },
235
- typography: ({ theme }) => ({
236
- DEFAULT: {
237
- css: {
238
- '--tw-prose-body': theme('colors.neutral.500'),
239
- '--tw-prose-headings': theme('colors.neutral.800'),
240
- '--tw-prose-lead': theme('colors.neutral.600'),
241
- '--tw-prose-links': theme('colors.primary.400'),
242
-
243
- color: theme('colors.neutral.500'),
244
- maxWidth: 'none',
245
-
246
- h1: {
247
- marginTop: theme('spacing.2'),
248
- marginBottom: theme('spacing.10'),
249
- fontSize: theme('fontSize.2xl'),
250
- '@screen md': {
251
- fontSize: theme('fontSize.3xl'),
252
- },
253
- },
254
- h2: {
255
- marginTop: theme('spacing.2'),
256
- marginBottom: theme('spacing.8'),
257
- fontSize: theme('fontSize.xl'),
258
- '@screen md': {
259
- fontSize: theme('fontSize.2xl'),
260
- },
261
- },
262
- h3: {
263
- marginTop: theme('spacing.2'),
264
- marginBottom: theme('spacing.6'),
265
- fontSize: theme('fontSize.lg'),
266
- '@screen md': {
267
- fontSize: theme('fontSize.xl'),
268
- },
269
- },
270
- h4: {
271
- marginBottom: theme('spacing.4'),
272
- fontSize: theme('fontSize.base'),
273
- '@screen md': {
274
- fontSize: theme('fontSize.lg'),
275
- },
276
- },
277
- h5: {
278
- marginBottom: theme('spacing.2'),
279
- fontSize: theme('fontSize.sm'),
280
- '@screen md': {
281
- fontSize: theme('fontSize.base'),
282
- },
283
- },
284
- h6: {
285
- marginBottom: theme('spacing.1'),
286
- fontSize: theme('fontSize.xs'),
287
- '@screen md': {
288
- fontSize: theme('fontSize.sm'),
289
- },
290
- },
291
- p: {
292
- marginTop: '0',
293
- marginBottom: '0',
294
- fontSize: theme('fontSize.base'),
295
- '@screen md': {
296
- fontSize: theme('fontSize.lg'),
297
- },
298
- },
299
- a: {
300
- color: theme('colors.primary.400'),
301
- textDecoration: 'none',
302
- '&:hover': {
303
- color: theme('colors.primary.600'),
304
- },
305
- '&:active': {
306
- color: theme('colors.primary.800'),
307
- },
308
- },
309
- strong: {
310
- fontSize: theme('fontSize.base'),
311
- '@screen md': {
312
- fontSize: theme('fontSize.lg'),
313
- },
314
- color: theme('colors.neutral.500'),
315
- },
316
- em: {
317
- fontSize: theme('fontSize.base'),
318
- '@screen md': {
319
- fontSize: theme('fontSize.lg'),
320
- },
321
- color: theme('colors.neutral.500'),
322
- },
323
- blockquote: {
324
- borderRadius: theme('borderRadius.lg'),
325
- border: `1px solid ${theme('colors.neutral.200')}`,
326
- backgroundColor: theme('colors.neutral.50'),
327
- padding: theme('spacing.10'),
328
- boxShadow: theme('boxShadow.md'),
329
- },
330
- pre: {
331
- borderRadius: theme('borderRadius.lg'),
332
- backgroundColor: theme('colors.neutral.900'),
333
- color: theme('colors.neutral.50'),
334
- },
335
- code: {
336
- backgroundColor: theme('colors.neutral.900'),
337
- color: theme('colors.neutral.50'),
338
- padding: theme('spacing.1'),
339
- 'border-radius': '0.25rem',
340
- },
341
- 'code::before': {
342
- content: '""',
343
- 'padding-left': '0.25rem',
344
- },
345
- 'code::after': {
346
- content: '""',
347
- 'padding-right': '0.25rem',
348
- },
349
- img: {
350
- overflow: 'hidden',
351
- borderRadius: theme('borderRadius.xl'),
352
- boxShadow: theme('boxShadow.md'),
353
- },
354
- video: {
355
- overflow: 'hidden',
356
- borderRadius: theme('borderRadius.xl'),
357
- boxShadow: theme('boxShadow.md'),
358
- },
359
- hr: {
360
- marginTop: theme('spacing.10'),
361
- borderColor: theme('colors.neutral.200'),
362
- },
363
- },
364
- },
365
- }),
366
- },
367
- },
368
- plugins: [
369
- require('@tailwindcss/typography'),
370
- require('tailwindcss/plugin')(({ addVariant }) => {
371
- addVariant('search-cancel', '&::-webkit-search-cancel-button');
372
- addVariant('calendar-icon', ['&::-webkit-calendar-picker-indicator', '&::-webkit-inner-spin-button']);
373
- addVariant('spin-buttons', ['&::-webkit-inner-spin-button', '&::-webkit-outer-spin-button']);
374
- }),
375
- ],
376
- };