react-email 3.0.3 → 3.0.5

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 (224) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cli/index.js +96 -100
  3. package/dist/cli/index.mjs +75 -64
  4. package/dist/index.d.mts +20 -0
  5. package/dist/index.d.ts +20 -0
  6. package/dist/index.js +96 -0
  7. package/dist/index.mjs +21 -0
  8. package/dist/package/index.d.mts +33 -0
  9. package/dist/package/index.d.ts +33 -0
  10. package/dist/package/index.js +62 -0
  11. package/dist/package/index.mjs +7 -0
  12. package/dist/preview/.next/BUILD_ID +1 -1
  13. package/dist/preview/.next/app-build-manifest.json +31 -31
  14. package/dist/preview/.next/app-path-routes-manifest.json +1 -1
  15. package/dist/preview/.next/build-manifest.json +16 -15
  16. package/dist/preview/.next/cache/.rscinfo +1 -0
  17. package/dist/preview/.next/cache/eslint/.cache_1vyas3k +1 -0
  18. package/dist/preview/.next/cache/webpack/client-production/0.pack +0 -0
  19. package/dist/preview/.next/cache/webpack/client-production/index.pack +0 -0
  20. package/dist/preview/.next/cache/webpack/edge-server-production/0.pack +0 -0
  21. package/dist/preview/.next/cache/webpack/edge-server-production/index.pack +0 -0
  22. package/dist/preview/.next/cache/webpack/server-production/0.pack +0 -0
  23. package/dist/preview/.next/cache/webpack/server-production/index.pack +0 -0
  24. package/dist/preview/.next/diagnostics/build-diagnostics.json +6 -0
  25. package/dist/preview/.next/diagnostics/framework.json +1 -0
  26. package/dist/preview/.next/images-manifest.json +1 -1
  27. package/dist/preview/.next/next-minimal-server.js.nft.json +1 -1
  28. package/dist/preview/.next/next-server.js.nft.json +1 -1
  29. package/dist/preview/.next/prerender-manifest.json +1 -1
  30. package/dist/preview/.next/required-server-files.json +1 -1
  31. package/dist/preview/.next/routes-manifest.json +1 -1
  32. package/dist/preview/.next/server/app/_not-found/page.js +1 -1
  33. package/dist/preview/.next/server/app/_not-found/page.js.nft.json +1 -1
  34. package/dist/preview/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  35. package/dist/preview/.next/server/app/favicon.ico/route.js +1 -12
  36. package/dist/preview/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  37. package/dist/preview/.next/server/app/page.js +1 -1
  38. package/dist/preview/.next/server/app/page.js.nft.json +1 -1
  39. package/dist/preview/.next/server/app/page_client-reference-manifest.js +1 -1
  40. package/dist/preview/.next/server/app/preview/[...slug]/page.js +6 -6
  41. package/dist/preview/.next/server/app/preview/[...slug]/page.js.nft.json +1 -1
  42. package/dist/preview/.next/server/app/preview/[...slug]/page_client-reference-manifest.js +1 -1
  43. package/dist/preview/.next/server/app-paths-manifest.json +1 -1
  44. package/dist/preview/.next/server/chunks/300.js +13 -0
  45. package/dist/preview/.next/server/chunks/420.js +1 -0
  46. package/dist/preview/.next/server/chunks/625.js +5 -0
  47. package/dist/preview/.next/server/chunks/631.js +6 -0
  48. package/dist/preview/.next/server/chunks/720.js +10 -0
  49. package/dist/preview/.next/server/functions-config-manifest.json +1 -1
  50. package/dist/preview/.next/server/middleware-build-manifest.js +1 -1
  51. package/dist/preview/.next/server/next-font-manifest.js +1 -1
  52. package/dist/preview/.next/server/next-font-manifest.json +1 -1
  53. package/dist/preview/.next/server/pages/500.html +1 -1
  54. package/dist/preview/.next/server/pages/_app.js +1 -1
  55. package/dist/preview/.next/server/pages/_app.js.nft.json +1 -1
  56. package/dist/preview/.next/server/pages/_document.js +1 -1
  57. package/dist/preview/.next/server/pages/_document.js.nft.json +1 -1
  58. package/dist/preview/.next/server/pages/_error.js +1 -1
  59. package/dist/preview/.next/server/pages/_error.js.nft.json +1 -1
  60. package/dist/preview/.next/server/server-reference-manifest.js +1 -1
  61. package/dist/preview/.next/server/server-reference-manifest.json +1 -1
  62. package/dist/preview/.next/server/webpack-runtime.js +1 -1
  63. package/dist/preview/.next/static/6K68y2QEZ1dLbv-Xhi30p/_buildManifest.js +1 -0
  64. package/dist/preview/.next/static/chunks/12-b9450aa0845e7574.js +1 -0
  65. package/dist/preview/.next/static/chunks/154-69b91a0c2fd801b8.js +1 -0
  66. package/dist/preview/.next/static/chunks/447-886131c35ca42b91.js +1 -0
  67. package/dist/preview/.next/static/chunks/5fec7a0a-5179023f3f5a9421.js +1 -0
  68. package/dist/preview/.next/static/chunks/797-46f6c20952f0a280.js +2 -0
  69. package/dist/preview/.next/static/chunks/860-38d96c8819ba6f19.js +1 -0
  70. package/dist/preview/.next/static/chunks/app/_not-found/page-96d3eac723be3ee2.js +1 -0
  71. package/dist/preview/.next/static/chunks/app/layout-e1b6f1534cbbe5bd.js +1 -0
  72. package/dist/preview/.next/static/chunks/app/page-2c3e297e38c526ef.js +1 -0
  73. package/dist/preview/.next/static/chunks/app/preview/[...slug]/page-2b4988ba6daf34e1.js +1 -0
  74. package/dist/preview/.next/static/chunks/framework-e7cae9cecd5c9ba2.js +1 -0
  75. package/dist/preview/.next/static/chunks/main-app-2c7f96205a73f128.js +1 -0
  76. package/dist/preview/.next/static/chunks/main-df761fde212f9cda.js +1 -0
  77. package/dist/preview/.next/static/chunks/pages/_app-203a61b355820ccf.js +1 -0
  78. package/dist/preview/.next/static/chunks/pages/_error-1764ca54938748c8.js +1 -0
  79. package/dist/preview/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  80. package/dist/preview/.next/static/chunks/webpack-9255716c9496e606.js +1 -0
  81. package/dist/preview/.next/static/css/ec5d7e66bd3b6cb8.css +1 -0
  82. package/dist/preview/.next/trace +20 -52
  83. package/dist/preview/.next/types/app/layout.ts +11 -6
  84. package/dist/preview/.next/types/app/preview/[...slug]/page.ts +11 -6
  85. package/dist/preview/.next/types/cache-life.d.ts +141 -0
  86. package/next-env.d.ts +1 -1
  87. package/package.json +12 -12
  88. package/src/actions/get-email-path-from-slug.ts +3 -2
  89. package/src/actions/get-emails-directory-metadata.spec.ts +1 -0
  90. package/src/actions/get-emails-directory-metadata.ts +62 -59
  91. package/src/actions/render-email-by-path.tsx +16 -5
  92. package/src/app/preview/[...slug]/page.tsx +19 -9
  93. package/src/app/preview/[...slug]/preview.tsx +6 -7
  94. package/src/contexts/emails.tsx +2 -56
  95. package/src/hooks/use-email-rendering-result.ts +44 -0
  96. package/src/hooks/use-rendering-metadata.ts +5 -5
  97. package/src/package/body/dist/index.d.mts +6 -0
  98. package/src/package/body/dist/index.d.ts +6 -0
  99. package/src/package/body/dist/index.js +79 -0
  100. package/src/package/body/dist/index.mjs +45 -0
  101. package/src/package/button/dist/index.d.mts +6 -0
  102. package/src/package/button/dist/index.d.ts +6 -0
  103. package/src/package/button/dist/index.js +252 -0
  104. package/src/package/button/dist/index.mjs +218 -0
  105. package/src/package/code-block/dist/index.d.mts +4906 -0
  106. package/src/package/code-block/dist/index.d.ts +4906 -0
  107. package/src/package/code-block/dist/index.js +18205 -0
  108. package/src/package/code-block/dist/index.mjs +18133 -0
  109. package/src/package/code-inline/dist/index.d.mts +11 -0
  110. package/src/package/code-inline/dist/index.d.ts +11 -0
  111. package/src/package/code-inline/dist/index.js +106 -0
  112. package/src/package/code-inline/dist/index.mjs +72 -0
  113. package/src/package/column/dist/index.d.mts +6 -0
  114. package/src/package/column/dist/index.d.ts +6 -0
  115. package/src/package/column/dist/index.js +79 -0
  116. package/src/package/column/dist/index.mjs +45 -0
  117. package/src/package/components/dist/index.d.mts +20 -0
  118. package/src/package/components/dist/index.d.ts +20 -0
  119. package/src/package/components/dist/index.js +62 -0
  120. package/src/package/components/dist/index.mjs +21 -0
  121. package/src/package/container/dist/index.d.mts +6 -0
  122. package/src/package/container/dist/index.d.ts +6 -0
  123. package/src/package/container/dist/index.js +93 -0
  124. package/src/package/container/dist/index.mjs +59 -0
  125. package/src/package/font/dist/index.d.mts +25 -0
  126. package/src/package/font/dist/index.d.ts +25 -0
  127. package/src/package/font/dist/index.js +55 -0
  128. package/src/package/font/dist/index.mjs +28 -0
  129. package/src/package/head/dist/index.d.mts +6 -0
  130. package/src/package/head/dist/index.d.ts +6 -0
  131. package/src/package/head/dist/index.js +83 -0
  132. package/src/package/head/dist/index.mjs +49 -0
  133. package/src/package/heading/dist/index.d.mts +43 -0
  134. package/src/package/heading/dist/index.d.ts +43 -0
  135. package/src/package/heading/dist/index.js +113 -0
  136. package/src/package/heading/dist/index.mjs +79 -0
  137. package/src/package/hr/dist/index.d.mts +6 -0
  138. package/src/package/hr/dist/index.d.ts +6 -0
  139. package/src/package/hr/dist/index.js +89 -0
  140. package/src/package/hr/dist/index.mjs +55 -0
  141. package/src/package/html/dist/index.d.mts +6 -0
  142. package/src/package/html/dist/index.d.ts +6 -0
  143. package/src/package/html/dist/index.js +79 -0
  144. package/src/package/html/dist/index.mjs +45 -0
  145. package/src/package/img/dist/index.d.mts +6 -0
  146. package/src/package/img/dist/index.d.ts +6 -0
  147. package/src/package/img/dist/index.js +94 -0
  148. package/src/package/img/dist/index.mjs +60 -0
  149. package/src/package/link/dist/index.d.mts +6 -0
  150. package/src/package/link/dist/index.d.ts +6 -0
  151. package/src/package/link/dist/index.js +90 -0
  152. package/src/package/link/dist/index.mjs +56 -0
  153. package/src/package/markdown/dist/index.d.mts +15 -0
  154. package/src/package/markdown/dist/index.d.ts +15 -0
  155. package/src/package/markdown/dist/index.js +92 -0
  156. package/src/package/markdown/dist/index.mjs +58 -0
  157. package/src/package/preview/dist/index.d.mts +12 -0
  158. package/src/package/preview/dist/index.d.ts +12 -0
  159. package/src/package/preview/dist/index.js +108 -0
  160. package/src/package/preview/dist/index.mjs +73 -0
  161. package/src/package/render/dist/browser/index.d.mts +24 -0
  162. package/src/package/render/dist/browser/index.d.ts +24 -0
  163. package/src/package/render/dist/browser/index.js +250 -0
  164. package/src/package/render/dist/browser/index.mjs +214 -0
  165. package/src/package/render/dist/index.d.mts +23 -0
  166. package/src/package/render/dist/index.d.ts +23 -0
  167. package/src/package/render/dist/index.js +768 -0
  168. package/src/package/render/dist/index.mjs +733 -0
  169. package/src/package/render/dist/node/index.d.mts +27 -0
  170. package/src/package/render/dist/node/index.d.ts +27 -0
  171. package/src/package/render/dist/node/index.js +212 -0
  172. package/src/package/render/dist/node/index.mjs +176 -0
  173. package/src/package/row/dist/index.d.mts +10 -0
  174. package/src/package/row/dist/index.d.ts +10 -0
  175. package/src/package/row/dist/index.js +93 -0
  176. package/src/package/row/dist/index.mjs +59 -0
  177. package/src/package/section/dist/index.d.mts +6 -0
  178. package/src/package/section/dist/index.d.ts +6 -0
  179. package/src/package/section/dist/index.js +93 -0
  180. package/src/package/section/dist/index.mjs +59 -0
  181. package/src/package/tailwind/dist/index.d.ts +19 -0
  182. package/src/package/tailwind/dist/index.js +48 -0
  183. package/src/package/tailwind/dist/index.mjs +17167 -0
  184. package/src/package/tailwind/dist/tailwindcss/config.d.ts +376 -0
  185. package/src/package/tailwind/dist/tailwindcss/generated/.gitkeep +0 -0
  186. package/src/package/tailwind/dist/tailwindcss/generated/colors.d.ts +298 -0
  187. package/src/package/tailwind/dist/tailwindcss/generated/corePluginList.d.ts +1 -0
  188. package/src/package/tailwind/dist/tailwindcss/generated/default-theme.d.ts +397 -0
  189. package/src/package/tailwind/dist/tailwindcss/index.d.ts +11 -0
  190. package/src/package/text/dist/index.d.mts +6 -0
  191. package/src/package/text/dist/index.d.ts +6 -0
  192. package/src/package/text/dist/index.js +89 -0
  193. package/src/package/text/dist/index.mjs +55 -0
  194. package/src/utils/types/hot-reload-event.ts +3 -6
  195. package/dist/preview/.next/cache/eslint/.cache_117y9un +0 -1
  196. package/dist/preview/.next/server/chunks/128.js +0 -7
  197. package/dist/preview/.next/server/chunks/176.js +0 -2
  198. package/dist/preview/.next/server/chunks/287.js +0 -4
  199. package/dist/preview/.next/server/chunks/303.js +0 -6
  200. package/dist/preview/.next/server/chunks/359.js +0 -10
  201. package/dist/preview/.next/server/chunks/6.js +0 -1
  202. package/dist/preview/.next/server/chunks/894.js +0 -4
  203. package/dist/preview/.next/server/chunks/font-manifest.json +0 -1
  204. package/dist/preview/.next/server/font-manifest.json +0 -1
  205. package/dist/preview/.next/static/9wK7iUJPUvFYJNYOqHNpo/_buildManifest.js +0 -1
  206. package/dist/preview/.next/static/chunks/121-c9990f9db62882f2.js +0 -2
  207. package/dist/preview/.next/static/chunks/262-1ec6780d76508af8.js +0 -1
  208. package/dist/preview/.next/static/chunks/599-b4e686757f7b900d.js +0 -1
  209. package/dist/preview/.next/static/chunks/732-2b6186d8c8624033.js +0 -1
  210. package/dist/preview/.next/static/chunks/783-41562adc25d0c844.js +0 -9
  211. package/dist/preview/.next/static/chunks/app/_not-found/page-02dfc5a8a0bd636e.js +0 -1
  212. package/dist/preview/.next/static/chunks/app/layout-62d01ca567f6fd12.js +0 -1
  213. package/dist/preview/.next/static/chunks/app/page-630c6c846e3efc69.js +0 -1
  214. package/dist/preview/.next/static/chunks/app/preview/[...slug]/page-6547e9f3ba86c271.js +0 -1
  215. package/dist/preview/.next/static/chunks/f38cb6f6-40e76da092bb0490.js +0 -1
  216. package/dist/preview/.next/static/chunks/framework-bef83a85c94ff7de.js +0 -1
  217. package/dist/preview/.next/static/chunks/main-app-6ed588927d8fd56c.js +0 -1
  218. package/dist/preview/.next/static/chunks/main-ee2ceeb6c8bf53ac.js +0 -1
  219. package/dist/preview/.next/static/chunks/pages/_app-02aac361ebb5625a.js +0 -1
  220. package/dist/preview/.next/static/chunks/pages/_error-52f603c388364756.js +0 -1
  221. package/dist/preview/.next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -1
  222. package/dist/preview/.next/static/chunks/webpack-cf1ab84f284a4073.js +0 -1
  223. package/dist/preview/.next/static/css/0a13d10225a26b9d.css +0 -1
  224. /package/dist/preview/.next/static/{9wK7iUJPUvFYJNYOqHNpo → 6K68y2QEZ1dLbv-Xhi30p}/_ssgManifest.js +0 -0
@@ -0,0 +1,376 @@
1
+ import type { CorePluginList } from './generated/corePluginList'
2
+ import type { DefaultColors } from './generated/colors'
3
+
4
+ // Helpers
5
+ type Expand<T> = T extends object
6
+ ? T extends infer O
7
+ ? { [K in keyof O]: Expand<O[K]> }
8
+ : never
9
+ : T
10
+ type KeyValuePair<K extends keyof any = string, V = string> = Record<K, V>
11
+ interface RecursiveKeyValuePair<K extends keyof any = string, V = string> {
12
+ [key: string]: V | RecursiveKeyValuePair<K, V>
13
+ }
14
+ export type ResolvableTo<T> = T | ((utils: PluginUtils) => T)
15
+ type CSSRuleObject = RecursiveKeyValuePair<string, null | string | string[]>
16
+
17
+ interface PluginUtils {
18
+ colors: DefaultColors
19
+ theme(path: string, defaultValue?: unknown): any
20
+ breakpoints<I = Record<string, unknown>, O = I>(arg: I): O
21
+ rgb(arg: string): (arg: Partial<{ opacityVariable: string; opacityValue: number }>) => string
22
+ hsl(arg: string): (arg: Partial<{ opacityVariable: string; opacityValue: number }>) => string
23
+ }
24
+
25
+ // Content related config
26
+ type FilePath = string
27
+ type RawFile = { raw: string; extension?: string }
28
+ type ExtractorFn = (content: string) => string[]
29
+ type TransformerFn = (content: string) => string
30
+ type ContentConfig =
31
+ | (FilePath | RawFile)[]
32
+ | {
33
+ files: (FilePath | RawFile)[]
34
+ relative?: boolean
35
+ extract?: ExtractorFn | { [extension: string]: ExtractorFn }
36
+ transform?: TransformerFn | { [extension: string]: TransformerFn }
37
+ }
38
+
39
+ // Important related config
40
+ type ImportantConfig = boolean | string
41
+
42
+ // Prefix related config
43
+ type PrefixConfig = string
44
+
45
+ // Separator related config
46
+ type SeparatorConfig = string
47
+
48
+ // Safelist related config
49
+ type SafelistConfig = string | { pattern: RegExp; variants?: string[] }
50
+
51
+ // Blocklist related config
52
+ type BlocklistConfig = string
53
+
54
+ // Presets related config
55
+ type PresetsConfig = Partial<Config>
56
+
57
+ // Future related config
58
+ type FutureConfigValues =
59
+ | 'hoverOnlyWhenSupported'
60
+ | 'respectDefaultRingColorOpacity'
61
+ | 'disableColorOpacityUtilitiesByDefault'
62
+ | 'relativeContentPathsByDefault'
63
+ type FutureConfig = Expand<'all' | Partial<Record<FutureConfigValues, boolean>>> | []
64
+
65
+ // Experimental related config
66
+ type ExperimentalConfigValues = 'optimizeUniversalDefaults' | 'matchVariant'
67
+ type ExperimentalConfig = Expand<'all' | Partial<Record<ExperimentalConfigValues, boolean>>> | []
68
+
69
+ // DarkMode related config
70
+ type DarkModeConfig =
71
+ // Use the `media` query strategy.
72
+ | 'media'
73
+ // Use the `class` strategy, which requires a `.dark` class on the `html`.
74
+ | 'class'
75
+ // Use the `class` strategy with a custom class instead of `.dark`.
76
+ | ['class', string]
77
+ // Use the `selector` strategy — same as `class` but uses `:where()` for more predicable behavior
78
+ | 'selector'
79
+ // Use the `selector` strategy with a custom selector instead of `.dark`.
80
+ | ['selector', string]
81
+ // Use the `variant` strategy, which allows you to completely customize the selector
82
+ // It takes a string or an array of strings, which are passed directly to `addVariant()`
83
+ | ['variant', string | string[]]
84
+
85
+ type Screen = { raw: string } | { min: string } | { max: string } | { min: string; max: string }
86
+ type ScreensConfig = string[] | KeyValuePair<string, string | Screen | Screen[]>
87
+
88
+ // Theme related config
89
+ export interface ThemeConfig {
90
+ // Responsiveness
91
+ screens: ResolvableTo<ScreensConfig>
92
+ supports: ResolvableTo<Record<string, string>>
93
+ data: ResolvableTo<Record<string, string>>
94
+
95
+ // Reusable base configs
96
+ colors: ResolvableTo<RecursiveKeyValuePair>
97
+ spacing: ResolvableTo<KeyValuePair>
98
+
99
+ // Components
100
+ container: ResolvableTo<
101
+ Partial<{
102
+ screens: ScreensConfig
103
+ center: boolean
104
+ padding: string | Record<string, string>
105
+ }>
106
+ >
107
+
108
+ // Utilities
109
+ inset: ThemeConfig['spacing']
110
+ zIndex: ResolvableTo<KeyValuePair>
111
+ order: ResolvableTo<KeyValuePair>
112
+ gridColumn: ResolvableTo<KeyValuePair>
113
+ gridColumnStart: ResolvableTo<KeyValuePair>
114
+ gridColumnEnd: ResolvableTo<KeyValuePair>
115
+ gridRow: ResolvableTo<KeyValuePair>
116
+ gridRowStart: ResolvableTo<KeyValuePair>
117
+ gridRowEnd: ResolvableTo<KeyValuePair>
118
+ margin: ThemeConfig['spacing']
119
+ aspectRatio: ResolvableTo<KeyValuePair>
120
+ height: ThemeConfig['spacing']
121
+ maxHeight: ThemeConfig['spacing']
122
+ minHeight: ResolvableTo<KeyValuePair>
123
+ width: ThemeConfig['spacing']
124
+ maxWidth: ResolvableTo<KeyValuePair>
125
+ minWidth: ResolvableTo<KeyValuePair>
126
+ flex: ResolvableTo<KeyValuePair>
127
+ flexShrink: ResolvableTo<KeyValuePair>
128
+ flexGrow: ResolvableTo<KeyValuePair>
129
+ flexBasis: ThemeConfig['spacing']
130
+ borderSpacing: ThemeConfig['spacing']
131
+ transformOrigin: ResolvableTo<KeyValuePair>
132
+ translate: ThemeConfig['spacing']
133
+ rotate: ResolvableTo<KeyValuePair>
134
+ skew: ResolvableTo<KeyValuePair>
135
+ scale: ResolvableTo<KeyValuePair>
136
+ animation: ResolvableTo<KeyValuePair>
137
+ keyframes: ResolvableTo<KeyValuePair<string, KeyValuePair<string, KeyValuePair>>>
138
+ cursor: ResolvableTo<KeyValuePair>
139
+ scrollMargin: ThemeConfig['spacing']
140
+ scrollPadding: ThemeConfig['spacing']
141
+ listStyleType: ResolvableTo<KeyValuePair>
142
+ columns: ResolvableTo<KeyValuePair>
143
+ gridAutoColumns: ResolvableTo<KeyValuePair>
144
+ gridAutoRows: ResolvableTo<KeyValuePair>
145
+ gridTemplateColumns: ResolvableTo<KeyValuePair>
146
+ gridTemplateRows: ResolvableTo<KeyValuePair>
147
+ gap: ThemeConfig['spacing']
148
+ space: ThemeConfig['spacing']
149
+ divideWidth: ThemeConfig['borderWidth']
150
+ divideColor: ThemeConfig['borderColor']
151
+ divideOpacity: ThemeConfig['borderOpacity']
152
+ borderRadius: ResolvableTo<KeyValuePair>
153
+ borderWidth: ResolvableTo<KeyValuePair>
154
+ borderColor: ThemeConfig['colors']
155
+ borderOpacity: ThemeConfig['opacity']
156
+ backgroundColor: ThemeConfig['colors']
157
+ backgroundOpacity: ThemeConfig['opacity']
158
+ backgroundImage: ResolvableTo<KeyValuePair>
159
+ gradientColorStops: ThemeConfig['colors']
160
+ backgroundSize: ResolvableTo<KeyValuePair>
161
+ backgroundPosition: ResolvableTo<KeyValuePair>
162
+ fill: ThemeConfig['colors']
163
+ stroke: ThemeConfig['colors']
164
+ strokeWidth: ResolvableTo<KeyValuePair>
165
+ objectPosition: ResolvableTo<KeyValuePair>
166
+ padding: ThemeConfig['spacing']
167
+ textIndent: ThemeConfig['spacing']
168
+ fontFamily: ResolvableTo<
169
+ KeyValuePair<
170
+ string,
171
+ | string
172
+ | string[]
173
+ | [
174
+ fontFamily: string | string[],
175
+ configuration: Partial<{
176
+ fontFeatureSettings: string
177
+ fontVariationSettings: string
178
+ }>
179
+ ]
180
+ >
181
+ >
182
+ fontSize: ResolvableTo<
183
+ KeyValuePair<
184
+ string,
185
+ | string
186
+ | [fontSize: string, lineHeight: string]
187
+ | [
188
+ fontSize: string,
189
+ configuration: Partial<{
190
+ lineHeight: string
191
+ letterSpacing: string
192
+ fontWeight: string | number
193
+ }>
194
+ ]
195
+ >
196
+ >
197
+ fontWeight: ResolvableTo<KeyValuePair>
198
+ lineHeight: ResolvableTo<KeyValuePair>
199
+ letterSpacing: ResolvableTo<KeyValuePair>
200
+ textColor: ThemeConfig['colors']
201
+ textOpacity: ThemeConfig['opacity']
202
+ textDecorationColor: ThemeConfig['colors']
203
+ textDecorationThickness: ResolvableTo<KeyValuePair>
204
+ textUnderlineOffset: ResolvableTo<KeyValuePair>
205
+ placeholderColor: ThemeConfig['colors']
206
+ placeholderOpacity: ThemeConfig['opacity']
207
+ caretColor: ThemeConfig['colors']
208
+ accentColor: ThemeConfig['colors']
209
+ opacity: ResolvableTo<KeyValuePair>
210
+ boxShadow: ResolvableTo<KeyValuePair>
211
+ boxShadowColor: ThemeConfig['colors']
212
+ outlineWidth: ResolvableTo<KeyValuePair>
213
+ outlineOffset: ResolvableTo<KeyValuePair>
214
+ outlineColor: ThemeConfig['colors']
215
+ ringWidth: ResolvableTo<KeyValuePair>
216
+ ringColor: ThemeConfig['colors']
217
+ ringOpacity: ThemeConfig['opacity']
218
+ ringOffsetWidth: ResolvableTo<KeyValuePair>
219
+ ringOffsetColor: ThemeConfig['colors']
220
+ blur: ResolvableTo<KeyValuePair>
221
+ brightness: ResolvableTo<KeyValuePair>
222
+ contrast: ResolvableTo<KeyValuePair>
223
+ dropShadow: ResolvableTo<KeyValuePair<string, string | string[]>>
224
+ grayscale: ResolvableTo<KeyValuePair>
225
+ hueRotate: ResolvableTo<KeyValuePair>
226
+ invert: ResolvableTo<KeyValuePair>
227
+ saturate: ResolvableTo<KeyValuePair>
228
+ sepia: ResolvableTo<KeyValuePair>
229
+ backdropBlur: ThemeConfig['blur']
230
+ backdropBrightness: ThemeConfig['brightness']
231
+ backdropContrast: ThemeConfig['contrast']
232
+ backdropGrayscale: ThemeConfig['grayscale']
233
+ backdropHueRotate: ThemeConfig['hueRotate']
234
+ backdropInvert: ThemeConfig['invert']
235
+ backdropOpacity: ThemeConfig['opacity']
236
+ backdropSaturate: ThemeConfig['saturate']
237
+ backdropSepia: ThemeConfig['sepia']
238
+ transitionProperty: ResolvableTo<KeyValuePair>
239
+ transitionTimingFunction: ResolvableTo<KeyValuePair>
240
+ transitionDelay: ResolvableTo<KeyValuePair>
241
+ transitionDuration: ResolvableTo<KeyValuePair>
242
+ willChange: ResolvableTo<KeyValuePair>
243
+ content: ResolvableTo<KeyValuePair>
244
+ }
245
+
246
+ interface CustomThemeConfig extends ThemeConfig {
247
+ [key: string]: any
248
+ }
249
+
250
+ // Core plugins related config
251
+ type CorePluginsConfig = CorePluginList[] | Expand<Partial<Record<CorePluginList, boolean>>>
252
+
253
+ // Plugins related config
254
+ type ValueType =
255
+ | 'any'
256
+ | 'color'
257
+ | 'url'
258
+ | 'image'
259
+ | 'length'
260
+ | 'percentage'
261
+ | 'position'
262
+ | 'lookup'
263
+ | 'generic-name'
264
+ | 'family-name'
265
+ | 'number'
266
+ | 'line-width'
267
+ | 'absolute-size'
268
+ | 'relative-size'
269
+ | 'shadow'
270
+ export interface PluginAPI {
271
+ // for registering new static utility styles
272
+ addUtilities(
273
+ utilities: CSSRuleObject | CSSRuleObject[],
274
+ options?: Partial<{
275
+ respectPrefix: boolean
276
+ respectImportant: boolean
277
+ }>
278
+ ): void
279
+ // for registering new dynamic utility styles
280
+ matchUtilities<T = string, U = string>(
281
+ utilities: KeyValuePair<
282
+ string,
283
+ (value: T | string, extra: { modifier: U | string | null }) => CSSRuleObject | null
284
+ >,
285
+ options?: Partial<{
286
+ respectPrefix: boolean
287
+ respectImportant: boolean
288
+ type: ValueType | ValueType[]
289
+ values: KeyValuePair<string, T>
290
+ modifiers: 'any' | KeyValuePair<string, U>
291
+ supportsNegativeValues: boolean
292
+ }>
293
+ ): void
294
+ // for registering new static component styles
295
+ addComponents(
296
+ components: CSSRuleObject | CSSRuleObject[],
297
+ options?: Partial<{
298
+ respectPrefix: boolean
299
+ respectImportant: boolean
300
+ }>
301
+ ): void
302
+ // for registering new dynamic component styles
303
+ matchComponents<T = string, U = string>(
304
+ components: KeyValuePair<
305
+ string,
306
+ (value: T | string, extra: { modifier: U | string | null }) => CSSRuleObject | null
307
+ >,
308
+ options?: Partial<{
309
+ respectPrefix: boolean
310
+ respectImportant: boolean
311
+ type: ValueType | ValueType[]
312
+ values: KeyValuePair<string, T>
313
+ modifiers: 'any' | KeyValuePair<string, U>
314
+ supportsNegativeValues: boolean
315
+ }>
316
+ ): void
317
+ // for registering new base styles
318
+ addBase(base: CSSRuleObject | CSSRuleObject[]): void
319
+ // for registering custom variants
320
+ addVariant(name: string, definition: string | string[] | (() => string) | (() => string)[]): void
321
+ matchVariant<T = string>(
322
+ name: string,
323
+ cb: (value: T | string, extra: { modifier: string | null }) => string | string[],
324
+ options?: {
325
+ values?: KeyValuePair<string, T>
326
+ sort?(
327
+ a: { value: T | string; modifier: string | null },
328
+ b: { value: T | string; modifier: string | null }
329
+ ): number
330
+ }
331
+ ): void
332
+ // for looking up values in the user’s theme configuration
333
+ theme: <TDefaultValue = Config['theme']>(
334
+ path?: string,
335
+ defaultValue?: TDefaultValue
336
+ ) => TDefaultValue
337
+ // for looking up values in the user’s Tailwind configuration
338
+ config: <TDefaultValue = Config>(path?: string, defaultValue?: TDefaultValue) => TDefaultValue
339
+ // for checking if a core plugin is enabled
340
+ corePlugins(path: string): boolean
341
+ // for manually escaping strings meant to be used in class names
342
+ e: (className: string) => string
343
+ }
344
+ export type PluginCreator = (api: PluginAPI) => void
345
+ export type PluginsConfig = (
346
+ | PluginCreator
347
+ | { handler: PluginCreator; config?: Partial<Config> }
348
+ | {
349
+ (options: any): { handler: PluginCreator; config?: Partial<Config> }
350
+ __isOptionsFunction: true
351
+ }
352
+ )[]
353
+
354
+ // Top level config related
355
+ interface RequiredConfig {
356
+ content: ContentConfig
357
+ }
358
+
359
+ interface OptionalConfig {
360
+ important: Partial<ImportantConfig>
361
+ prefix: Partial<PrefixConfig>
362
+ separator: Partial<SeparatorConfig>
363
+ safelist: Array<SafelistConfig>
364
+ blocklist: Array<BlocklistConfig>
365
+ presets: Array<PresetsConfig>
366
+ future: Partial<FutureConfig>
367
+ experimental: Partial<ExperimentalConfig>
368
+ darkMode: Partial<DarkModeConfig>
369
+ theme: Partial<CustomThemeConfig & { extend: Partial<CustomThemeConfig> }>
370
+ corePlugins: Partial<CorePluginsConfig>
371
+ plugins: Partial<PluginsConfig>
372
+ // Custom
373
+ [key: string]: any
374
+ }
375
+
376
+ export type Config = RequiredConfig & Partial<OptionalConfig>
@@ -0,0 +1,298 @@
1
+ export interface DefaultColors {
2
+ inherit: 'inherit'
3
+ current: 'currentColor'
4
+ transparent: 'transparent'
5
+ black: '#000'
6
+ white: '#fff'
7
+ slate: {
8
+ '50': '#f8fafc'
9
+ '100': '#f1f5f9'
10
+ '200': '#e2e8f0'
11
+ '300': '#cbd5e1'
12
+ '400': '#94a3b8'
13
+ '500': '#64748b'
14
+ '600': '#475569'
15
+ '700': '#334155'
16
+ '800': '#1e293b'
17
+ '900': '#0f172a'
18
+ '950': '#020617'
19
+ }
20
+ gray: {
21
+ '50': '#f9fafb'
22
+ '100': '#f3f4f6'
23
+ '200': '#e5e7eb'
24
+ '300': '#d1d5db'
25
+ '400': '#9ca3af'
26
+ '500': '#6b7280'
27
+ '600': '#4b5563'
28
+ '700': '#374151'
29
+ '800': '#1f2937'
30
+ '900': '#111827'
31
+ '950': '#030712'
32
+ }
33
+ zinc: {
34
+ '50': '#fafafa'
35
+ '100': '#f4f4f5'
36
+ '200': '#e4e4e7'
37
+ '300': '#d4d4d8'
38
+ '400': '#a1a1aa'
39
+ '500': '#71717a'
40
+ '600': '#52525b'
41
+ '700': '#3f3f46'
42
+ '800': '#27272a'
43
+ '900': '#18181b'
44
+ '950': '#09090b'
45
+ }
46
+ neutral: {
47
+ '50': '#fafafa'
48
+ '100': '#f5f5f5'
49
+ '200': '#e5e5e5'
50
+ '300': '#d4d4d4'
51
+ '400': '#a3a3a3'
52
+ '500': '#737373'
53
+ '600': '#525252'
54
+ '700': '#404040'
55
+ '800': '#262626'
56
+ '900': '#171717'
57
+ '950': '#0a0a0a'
58
+ }
59
+ stone: {
60
+ '50': '#fafaf9'
61
+ '100': '#f5f5f4'
62
+ '200': '#e7e5e4'
63
+ '300': '#d6d3d1'
64
+ '400': '#a8a29e'
65
+ '500': '#78716c'
66
+ '600': '#57534e'
67
+ '700': '#44403c'
68
+ '800': '#292524'
69
+ '900': '#1c1917'
70
+ '950': '#0c0a09'
71
+ }
72
+ red: {
73
+ '50': '#fef2f2'
74
+ '100': '#fee2e2'
75
+ '200': '#fecaca'
76
+ '300': '#fca5a5'
77
+ '400': '#f87171'
78
+ '500': '#ef4444'
79
+ '600': '#dc2626'
80
+ '700': '#b91c1c'
81
+ '800': '#991b1b'
82
+ '900': '#7f1d1d'
83
+ '950': '#450a0a'
84
+ }
85
+ orange: {
86
+ '50': '#fff7ed'
87
+ '100': '#ffedd5'
88
+ '200': '#fed7aa'
89
+ '300': '#fdba74'
90
+ '400': '#fb923c'
91
+ '500': '#f97316'
92
+ '600': '#ea580c'
93
+ '700': '#c2410c'
94
+ '800': '#9a3412'
95
+ '900': '#7c2d12'
96
+ '950': '#431407'
97
+ }
98
+ amber: {
99
+ '50': '#fffbeb'
100
+ '100': '#fef3c7'
101
+ '200': '#fde68a'
102
+ '300': '#fcd34d'
103
+ '400': '#fbbf24'
104
+ '500': '#f59e0b'
105
+ '600': '#d97706'
106
+ '700': '#b45309'
107
+ '800': '#92400e'
108
+ '900': '#78350f'
109
+ '950': '#451a03'
110
+ }
111
+ yellow: {
112
+ '50': '#fefce8'
113
+ '100': '#fef9c3'
114
+ '200': '#fef08a'
115
+ '300': '#fde047'
116
+ '400': '#facc15'
117
+ '500': '#eab308'
118
+ '600': '#ca8a04'
119
+ '700': '#a16207'
120
+ '800': '#854d0e'
121
+ '900': '#713f12'
122
+ '950': '#422006'
123
+ }
124
+ lime: {
125
+ '50': '#f7fee7'
126
+ '100': '#ecfccb'
127
+ '200': '#d9f99d'
128
+ '300': '#bef264'
129
+ '400': '#a3e635'
130
+ '500': '#84cc16'
131
+ '600': '#65a30d'
132
+ '700': '#4d7c0f'
133
+ '800': '#3f6212'
134
+ '900': '#365314'
135
+ '950': '#1a2e05'
136
+ }
137
+ green: {
138
+ '50': '#f0fdf4'
139
+ '100': '#dcfce7'
140
+ '200': '#bbf7d0'
141
+ '300': '#86efac'
142
+ '400': '#4ade80'
143
+ '500': '#22c55e'
144
+ '600': '#16a34a'
145
+ '700': '#15803d'
146
+ '800': '#166534'
147
+ '900': '#14532d'
148
+ '950': '#052e16'
149
+ }
150
+ emerald: {
151
+ '50': '#ecfdf5'
152
+ '100': '#d1fae5'
153
+ '200': '#a7f3d0'
154
+ '300': '#6ee7b7'
155
+ '400': '#34d399'
156
+ '500': '#10b981'
157
+ '600': '#059669'
158
+ '700': '#047857'
159
+ '800': '#065f46'
160
+ '900': '#064e3b'
161
+ '950': '#022c22'
162
+ }
163
+ teal: {
164
+ '50': '#f0fdfa'
165
+ '100': '#ccfbf1'
166
+ '200': '#99f6e4'
167
+ '300': '#5eead4'
168
+ '400': '#2dd4bf'
169
+ '500': '#14b8a6'
170
+ '600': '#0d9488'
171
+ '700': '#0f766e'
172
+ '800': '#115e59'
173
+ '900': '#134e4a'
174
+ '950': '#042f2e'
175
+ }
176
+ cyan: {
177
+ '50': '#ecfeff'
178
+ '100': '#cffafe'
179
+ '200': '#a5f3fc'
180
+ '300': '#67e8f9'
181
+ '400': '#22d3ee'
182
+ '500': '#06b6d4'
183
+ '600': '#0891b2'
184
+ '700': '#0e7490'
185
+ '800': '#155e75'
186
+ '900': '#164e63'
187
+ '950': '#083344'
188
+ }
189
+ sky: {
190
+ '50': '#f0f9ff'
191
+ '100': '#e0f2fe'
192
+ '200': '#bae6fd'
193
+ '300': '#7dd3fc'
194
+ '400': '#38bdf8'
195
+ '500': '#0ea5e9'
196
+ '600': '#0284c7'
197
+ '700': '#0369a1'
198
+ '800': '#075985'
199
+ '900': '#0c4a6e'
200
+ '950': '#082f49'
201
+ }
202
+ blue: {
203
+ '50': '#eff6ff'
204
+ '100': '#dbeafe'
205
+ '200': '#bfdbfe'
206
+ '300': '#93c5fd'
207
+ '400': '#60a5fa'
208
+ '500': '#3b82f6'
209
+ '600': '#2563eb'
210
+ '700': '#1d4ed8'
211
+ '800': '#1e40af'
212
+ '900': '#1e3a8a'
213
+ '950': '#172554'
214
+ }
215
+ indigo: {
216
+ '50': '#eef2ff'
217
+ '100': '#e0e7ff'
218
+ '200': '#c7d2fe'
219
+ '300': '#a5b4fc'
220
+ '400': '#818cf8'
221
+ '500': '#6366f1'
222
+ '600': '#4f46e5'
223
+ '700': '#4338ca'
224
+ '800': '#3730a3'
225
+ '900': '#312e81'
226
+ '950': '#1e1b4b'
227
+ }
228
+ violet: {
229
+ '50': '#f5f3ff'
230
+ '100': '#ede9fe'
231
+ '200': '#ddd6fe'
232
+ '300': '#c4b5fd'
233
+ '400': '#a78bfa'
234
+ '500': '#8b5cf6'
235
+ '600': '#7c3aed'
236
+ '700': '#6d28d9'
237
+ '800': '#5b21b6'
238
+ '900': '#4c1d95'
239
+ '950': '#2e1065'
240
+ }
241
+ purple: {
242
+ '50': '#faf5ff'
243
+ '100': '#f3e8ff'
244
+ '200': '#e9d5ff'
245
+ '300': '#d8b4fe'
246
+ '400': '#c084fc'
247
+ '500': '#a855f7'
248
+ '600': '#9333ea'
249
+ '700': '#7e22ce'
250
+ '800': '#6b21a8'
251
+ '900': '#581c87'
252
+ '950': '#3b0764'
253
+ }
254
+ fuchsia: {
255
+ '50': '#fdf4ff'
256
+ '100': '#fae8ff'
257
+ '200': '#f5d0fe'
258
+ '300': '#f0abfc'
259
+ '400': '#e879f9'
260
+ '500': '#d946ef'
261
+ '600': '#c026d3'
262
+ '700': '#a21caf'
263
+ '800': '#86198f'
264
+ '900': '#701a75'
265
+ '950': '#4a044e'
266
+ }
267
+ pink: {
268
+ '50': '#fdf2f8'
269
+ '100': '#fce7f3'
270
+ '200': '#fbcfe8'
271
+ '300': '#f9a8d4'
272
+ '400': '#f472b6'
273
+ '500': '#ec4899'
274
+ '600': '#db2777'
275
+ '700': '#be185d'
276
+ '800': '#9d174d'
277
+ '900': '#831843'
278
+ '950': '#500724'
279
+ }
280
+ rose: {
281
+ '50': '#fff1f2'
282
+ '100': '#ffe4e6'
283
+ '200': '#fecdd3'
284
+ '300': '#fda4af'
285
+ '400': '#fb7185'
286
+ '500': '#f43f5e'
287
+ '600': '#e11d48'
288
+ '700': '#be123c'
289
+ '800': '#9f1239'
290
+ '900': '#881337'
291
+ '950': '#4c0519'
292
+ }
293
+ /** @deprecated As of Tailwind CSS v2.2, `lightBlue` has been renamed to `sky`. Update your configuration file to silence this warning. */ lightBlue: DefaultColors['sky']
294
+ /** @deprecated As of Tailwind CSS v3.0, `warmGray` has been renamed to `stone`. Update your configuration file to silence this warning. */ warmGray: DefaultColors['stone']
295
+ /** @deprecated As of Tailwind CSS v3.0, `trueGray` has been renamed to `neutral`. Update your configuration file to silence this warning. */ trueGray: DefaultColors['neutral']
296
+ /** @deprecated As of Tailwind CSS v3.0, `coolGray` has been renamed to `gray`. Update your configuration file to silence this warning. */ coolGray: DefaultColors['gray']
297
+ /** @deprecated As of Tailwind CSS v3.0, `blueGray` has been renamed to `slate`. Update your configuration file to silence this warning. */ blueGray: DefaultColors['slate']
298
+ }
@@ -0,0 +1 @@
1
+ export type CorePluginList = 'preflight' | 'container' | 'accessibility' | 'pointerEvents' | 'visibility' | 'position' | 'inset' | 'isolation' | 'zIndex' | 'order' | 'gridColumn' | 'gridColumnStart' | 'gridColumnEnd' | 'gridRow' | 'gridRowStart' | 'gridRowEnd' | 'float' | 'clear' | 'margin' | 'boxSizing' | 'lineClamp' | 'display' | 'aspectRatio' | 'size' | 'height' | 'maxHeight' | 'minHeight' | 'width' | 'minWidth' | 'maxWidth' | 'flex' | 'flexShrink' | 'flexGrow' | 'flexBasis' | 'tableLayout' | 'captionSide' | 'borderCollapse' | 'borderSpacing' | 'transformOrigin' | 'translate' | 'rotate' | 'skew' | 'scale' | 'transform' | 'animation' | 'cursor' | 'touchAction' | 'userSelect' | 'resize' | 'scrollSnapType' | 'scrollSnapAlign' | 'scrollSnapStop' | 'scrollMargin' | 'scrollPadding' | 'listStylePosition' | 'listStyleType' | 'listStyleImage' | 'appearance' | 'columns' | 'breakBefore' | 'breakInside' | 'breakAfter' | 'gridAutoColumns' | 'gridAutoFlow' | 'gridAutoRows' | 'gridTemplateColumns' | 'gridTemplateRows' | 'flexDirection' | 'flexWrap' | 'placeContent' | 'placeItems' | 'alignContent' | 'alignItems' | 'justifyContent' | 'justifyItems' | 'gap' | 'space' | 'divideWidth' | 'divideStyle' | 'divideColor' | 'divideOpacity' | 'placeSelf' | 'alignSelf' | 'justifySelf' | 'overflow' | 'overscrollBehavior' | 'scrollBehavior' | 'textOverflow' | 'hyphens' | 'whitespace' | 'textWrap' | 'wordBreak' | 'borderRadius' | 'borderWidth' | 'borderStyle' | 'borderColor' | 'borderOpacity' | 'backgroundColor' | 'backgroundOpacity' | 'backgroundImage' | 'gradientColorStops' | 'boxDecorationBreak' | 'backgroundSize' | 'backgroundAttachment' | 'backgroundClip' | 'backgroundPosition' | 'backgroundRepeat' | 'backgroundOrigin' | 'fill' | 'stroke' | 'strokeWidth' | 'objectFit' | 'objectPosition' | 'padding' | 'textAlign' | 'textIndent' | 'verticalAlign' | 'fontFamily' | 'fontSize' | 'fontWeight' | 'textTransform' | 'fontStyle' | 'fontVariantNumeric' | 'lineHeight' | 'letterSpacing' | 'textColor' | 'textOpacity' | 'textDecoration' | 'textDecorationColor' | 'textDecorationStyle' | 'textDecorationThickness' | 'textUnderlineOffset' | 'fontSmoothing' | 'placeholderColor' | 'placeholderOpacity' | 'caretColor' | 'accentColor' | 'opacity' | 'backgroundBlendMode' | 'mixBlendMode' | 'boxShadow' | 'boxShadowColor' | 'outlineStyle' | 'outlineWidth' | 'outlineOffset' | 'outlineColor' | 'ringWidth' | 'ringColor' | 'ringOpacity' | 'ringOffsetWidth' | 'ringOffsetColor' | 'blur' | 'brightness' | 'contrast' | 'dropShadow' | 'grayscale' | 'hueRotate' | 'invert' | 'saturate' | 'sepia' | 'filter' | 'backdropBlur' | 'backdropBrightness' | 'backdropContrast' | 'backdropGrayscale' | 'backdropHueRotate' | 'backdropInvert' | 'backdropOpacity' | 'backdropSaturate' | 'backdropSepia' | 'backdropFilter' | 'transitionProperty' | 'transitionDelay' | 'transitionDuration' | 'transitionTimingFunction' | 'willChange' | 'contain' | 'content' | 'forcedColorAdjust'