Theme.js
149 lines
| 1 | import { extendTheme } from '@chakra-ui/react'; |
| 2 | |
| 3 | const Theme = extendTheme({ |
| 4 | colors: { |
| 5 | primary: { |
| 6 | 15: '#FAF8FC', |
| 7 | 25: '#f6f3fa', |
| 8 | 50: '#eee8f7', |
| 9 | 100: '#cab7e5', |
| 10 | 200: '#b094d8', |
| 11 | 300: '#8c64c6', |
| 12 | 400: '#7545bb', |
| 13 | 500: '#5317aa', |
| 14 | 600: '#4c159b', |
| 15 | 700: '#3b1079', |
| 16 | 800: '#2e0d5e', |
| 17 | 900: '#230a47', |
| 18 | }, |
| 19 | grey: { |
| 20 | 0: '#FFFFFF', |
| 21 | 15: '#FDFDFD', |
| 22 | 25: '#F4F4F4', |
| 23 | 50: '#E9E9E9', |
| 24 | 60: '#E1E1E1', |
| 25 | 75: '#BDBDBD', |
| 26 | 100: '#BABABA', |
| 27 | 150: '#8A8A8A', |
| 28 | 175: '#7A7A7A', |
| 29 | 200: '#999999', |
| 30 | 300: '#6B6B6B', |
| 31 | 350: '#5C5C5C', |
| 32 | 400: '#383838', |
| 33 | 500: '#222222', |
| 34 | 600: '#1F1F1F', |
| 35 | 700: '#181818', |
| 36 | 800: '#131313', |
| 37 | 900: '#0E0E0E', |
| 38 | }, |
| 39 | orange: '#ff8c39', |
| 40 | }, |
| 41 | styles: { |
| 42 | global: { |
| 43 | '.wp-admin #everest-forms': { |
| 44 | ms: '-20px', |
| 45 | }, |
| 46 | '.toplevel_page_everest-forms #wpwrap': { |
| 47 | bgColor: 'primary.50', |
| 48 | }, |
| 49 | '.ba-modal-open': { |
| 50 | '#adminmenuwrap': { |
| 51 | zIndex: 999, |
| 52 | }, |
| 53 | }, |
| 54 | }, |
| 55 | }, |
| 56 | components: { |
| 57 | Button: { |
| 58 | baseStyle: { |
| 59 | borderRadius: 'base', |
| 60 | fontWeight: 'medium', |
| 61 | _focus: { |
| 62 | boxShadow: 'none', |
| 63 | }, |
| 64 | }, |
| 65 | variants: { |
| 66 | solid: (props) => { |
| 67 | const { colorScheme } = props; |
| 68 | if (colorScheme === 'primary') { |
| 69 | return { |
| 70 | bg: 'primary.400', |
| 71 | color: 'white', |
| 72 | _hover: { |
| 73 | bg: 'primary.500', |
| 74 | _disabled: { |
| 75 | bg: 'primary.400', |
| 76 | }, |
| 77 | }, |
| 78 | _active: { |
| 79 | bg: 'primary.600', |
| 80 | }, |
| 81 | }; |
| 82 | } |
| 83 | }, |
| 84 | outline: (props) => { |
| 85 | const { colorScheme } = props; |
| 86 | if (colorScheme === 'primary') { |
| 87 | return { |
| 88 | borderColor: 'primary.400', |
| 89 | color: 'primary.400', |
| 90 | _hover: { |
| 91 | bg: 'primary.15', |
| 92 | }, |
| 93 | _active: { |
| 94 | bg: 'primary.25', |
| 95 | }, |
| 96 | }; |
| 97 | } |
| 98 | }, |
| 99 | ghost: (props) => { |
| 100 | const { colorScheme } = props; |
| 101 | if (colorScheme === 'primary') { |
| 102 | return { |
| 103 | color: 'primary.400', |
| 104 | _hover: { |
| 105 | bg: 'primary.15', |
| 106 | }, |
| 107 | _active: { |
| 108 | bg: 'primary.25', |
| 109 | }, |
| 110 | }; |
| 111 | } |
| 112 | }, |
| 113 | }, |
| 114 | sizes: { |
| 115 | sm: { |
| 116 | fontSize: 'sm', |
| 117 | px: 3, |
| 118 | py: 2, |
| 119 | }, |
| 120 | md: { |
| 121 | fontSize: 'md', |
| 122 | px: 4, |
| 123 | py: 2, |
| 124 | }, |
| 125 | lg: { |
| 126 | fontSize: 'lg', |
| 127 | px: 6, |
| 128 | py: 3, |
| 129 | }, |
| 130 | }, |
| 131 | defaultProps: { |
| 132 | colorScheme: 'primary', |
| 133 | }, |
| 134 | }, |
| 135 | Heading: { |
| 136 | baseStyle: { |
| 137 | margin: 0, |
| 138 | }, |
| 139 | }, |
| 140 | Text: { |
| 141 | baseStyle: { |
| 142 | margin: 0, |
| 143 | }, |
| 144 | }, |
| 145 | }, |
| 146 | }); |
| 147 | |
| 148 | export default Theme; |
| 149 |