_config-child-theme-deep.scss 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. /**
  2. * Redefine Sass map values for child theme output.
  3. * - See: style-child-theme.scss
  4. */
  5. /**
  6. * Global
  7. */
  8. // Vertical Rhythm Multiplier
  9. $baseline-unit: 8px;
  10. $typescale-root: 20px; // Set 16px/1em default on html
  11. $typescale-base: 1rem; // Set 1em default on body == $typescale-root;
  12. $typescale-ratio: 1.2; // Run ratio math on 1em == $typescale-base * $typescale-root;
  13. $config-global: (
  14. /* Fonts */
  15. "font": (
  16. /* Font Family */
  17. "family": (
  18. "primary": (
  19. "fallback": "Poppins\, sans-serif",
  20. "css-var": '--font-headings',
  21. ),
  22. "secondary": (
  23. "fallback": "Poppins\, serif",
  24. "css-var": '--font-base',
  25. ),
  26. "code": "monospace, monospace",
  27. "ui": (
  28. "fallback": "-apple-system\, BlinkMacSystemFont\, \"Segoe UI\"\, \"Roboto\"\, \"Oxygen\"\, \"Ubuntu\"\, \"Cantarell\"\, \"Fira Sans\"\, \"Droid Sans\"\, \"Helvetica Neue\"\, sans-serif",
  29. "css-var": '--font-base',
  30. ),
  31. ),
  32. /* Font Size */
  33. "size": (
  34. "root": $typescale-root,
  35. "ratio": $typescale-ratio,
  36. "xs": ($typescale-base / $typescale-ratio / $typescale-ratio),
  37. "sm": ($typescale-base / $typescale-ratio),
  38. "base": $typescale-base,
  39. "md": ($typescale-base * $typescale-ratio),
  40. "lg": ($typescale-base * $typescale-ratio * $typescale-ratio),
  41. "xl": ($typescale-base * $typescale-ratio * $typescale-ratio * $typescale-ratio),
  42. "xxl": ($typescale-base * $typescale-ratio * $typescale-ratio * $typescale-ratio * $typescale-ratio),
  43. "xxxl": ($typescale-base * $typescale-ratio * $typescale-ratio * $typescale-ratio * $typescale-ratio * $typescale-ratio),
  44. "xxxxl": ($typescale-base * $typescale-ratio * $typescale-ratio * $typescale-ratio * $typescale-ratio * $typescale-ratio * $typescale-ratio),
  45. ),
  46. /* Letter Spacing */
  47. "letter-spacing": (
  48. "base": normal,
  49. "xs": normal,
  50. "sm": normal,
  51. "md": normal,
  52. "lg": normal,
  53. "xl": -0.015em,
  54. "xxl": -0.015em,
  55. "xxxl": -0.015em,
  56. ),
  57. /* Line Height */
  58. "line-height": (
  59. "base": strip-unit($typescale-base),
  60. "body": 1.6,
  61. "heading": 1.125,
  62. ),
  63. ),
  64. /* Colors */
  65. "color": (
  66. "primary": (
  67. "default": #000000,
  68. "hover": #666666,
  69. ),
  70. "secondary": (
  71. "default": #1a1a1a,
  72. "hover": #666666,
  73. ),
  74. "foreground": (
  75. "default": #010101,
  76. "light": #666666, // must be accessible against background
  77. "dark": #333333, // must be accessible against background
  78. ),
  79. "background": (
  80. "default": #ffffff,
  81. "light": #f2f2f2, // must be accessible against foreground-default
  82. "dark": #d9d9d9, // must be accessible against foreground-default
  83. ),
  84. "border": (
  85. "default": #e6e6e6,
  86. "light": #f2f2f2,
  87. "dark": #d9d9d9,
  88. ),
  89. "alert": (
  90. "success": yellowgreen,
  91. "info": skyblue,
  92. "warning": gold,
  93. "error": salmon,
  94. ),
  95. "text-selection": lightblue,
  96. "black": black,
  97. "white": white,
  98. ),
  99. /* Spacing */
  100. "spacing": (
  101. "unit": (2 * $baseline-unit), // 16px
  102. "measure": unset, // Use ch units here. ie: 60ch = 60 character max-width
  103. "horizontal": (2 * $baseline-unit), // 16px
  104. "vertical": (4 * $baseline-unit), // 32px matches default spacing in the editor.
  105. ),
  106. /* Breakpoints */
  107. "breakpoint": (
  108. "sm": 560px,
  109. "md": 640px,
  110. "lg": 782px,
  111. "xl": 1024px,
  112. "xxl": 1280px,
  113. ),
  114. /* Elevation */
  115. "elevation": (
  116. "none": 0px 0px 0px 0px rgba( 0, 0, 0, 0 ),
  117. "2dp": 0px 0px 4px 2px rgba( 0, 0, 0, 0.1 ),
  118. "4dp": 0px 0px 8px 2px rgba( 0, 0, 0, 0.1 ),
  119. "6dp": 2px 2px 4px 2px rgba( 0, 0, 0, 0.1 ),
  120. "8dp": 2px 2px 8px 0px rgba( 0, 0, 0, 0.1 ),
  121. "10dp": 4px 4px 8px 0px rgba( 0, 0, 0, 0.1 ),
  122. ),
  123. /* Border radius */
  124. "border-radius": (
  125. "sm": (0.25 * $typescale-root),
  126. "md": (0.5 * $typescale-root),
  127. "lg": $typescale-root,
  128. "pill": (10 * $typescale-root),
  129. ),
  130. );
  131. /**
  132. * Elements
  133. */
  134. $config-elements: (
  135. "form": (
  136. // Colors
  137. "color": (
  138. "text": map-deep-get($config-global, "color", "black"),
  139. "border": map-deep-get($config-global, "color", "border", "default"),
  140. "border-focus": map-deep-get($config-global, "color", "primary", "hover"),
  141. ),
  142. // Fonts
  143. "font": (
  144. "family": (
  145. "fallback": map-deep-get($config-global, "font", "family", "primary", "fallback"),
  146. "css-var": map-deep-get($config-global, "font", "family", "primary", "css-var"),
  147. ),
  148. "line-height": map-deep-get($config-global, "font", "line-height", "md"),
  149. "size": map-deep-get($config-global, "font", "size", "base"),
  150. "weight": bold,
  151. ),
  152. // Borders
  153. "border": (
  154. "width": 1px,
  155. "radius": 3px,
  156. ),
  157. "padding": #{map-deep-get($config-global, "spacing", "unit")},
  158. ),
  159. );
  160. /**
  161. * Button
  162. */
  163. $config-button: (
  164. // Colors
  165. "color": (
  166. "text": map-deep-get($config-global, "color", "white"),
  167. "text-hover": map-deep-get($config-global, "color", "white"),
  168. "background": map-deep-get($config-global, "color", "primary", "default"),
  169. "background-hover": map-deep-get($config-global, "color", "primary", "hover"),
  170. ),
  171. // Fonts
  172. "font": (
  173. "family": (
  174. "fallback": map-deep-get($config-global, "font", "family", "ui", "fallback"),
  175. "css-var": map-deep-get($config-global, "font", "family", "ui", "css-var"),
  176. ),
  177. "size": map-deep-get($config-global, "font", "size", "sm"),
  178. "weight": 600,
  179. "line-height": 1,
  180. ),
  181. // Borders
  182. "border-radius": map-deep-get($config-global, "border-radius", "sm"),
  183. "border-width": 2px,
  184. // Padding
  185. "padding": (
  186. "vertical": map-deep-get($config-global, "spacing", "unit"),
  187. "horizontal": map-deep-get($config-global, "spacing", "unit"),
  188. ),
  189. );
  190. /**
  191. * Cover
  192. */
  193. $config-cover: (
  194. "color": (
  195. "foreground": #{map-deep-get($config-global, "color", "white")},
  196. "background": #{map-deep-get($config-global, "color", "black")},
  197. )
  198. );
  199. /**
  200. * Heading
  201. */
  202. $config-heading: (
  203. // Fonts & Typography
  204. "font": (
  205. // Family
  206. "family": (
  207. "fallback": map-deep-get($config-global, "font", "family", "primary", "fallback"),
  208. "css-var": map-deep-get($config-global, "font", "family", "primary", "css-var"),
  209. ),
  210. // Size
  211. "size": (
  212. "h6": map-deep-get($config-global, "font", "size", "sm"),
  213. "h5": map-deep-get($config-global, "font", "size", "base"),
  214. "h4": map-deep-get($config-global, "font", "size", "md"),
  215. "h3": map-deep-get($config-global, "font", "size", "lg"),
  216. "h2": map-deep-get($config-global, "font", "size", "xl"),
  217. "h1": map-deep-get($config-global, "font", "size", "xxl"),
  218. ),
  219. // Letter spacing
  220. "line-height": (
  221. "h6": map-deep-get($config-global, "font", "line-height", "heading"),
  222. "h5": map-deep-get($config-global, "font", "line-height", "heading"),
  223. "h4": map-deep-get($config-global, "font", "line-height", "heading"),
  224. "h3": map-deep-get($config-global, "font", "line-height", "heading"),
  225. "h2": map-deep-get($config-global, "font", "line-height", "heading"),
  226. "h1": map-deep-get($config-global, "font", "line-height", "heading"),
  227. ),
  228. // Letter spacing
  229. "letter-spacing": (
  230. "h6": map-deep-get($config-global, "font", "letter-spacing", "sm"),
  231. "h5": map-deep-get($config-global, "font", "letter-spacing", "md"),
  232. "h4": map-deep-get($config-global, "font", "letter-spacing", "lg"),
  233. "h3": map-deep-get($config-global, "font", "letter-spacing", "xl"),
  234. "h2": map-deep-get($config-global, "font", "letter-spacing", "xxl"),
  235. "h1": map-deep-get($config-global, "font", "letter-spacing", "xxxl"),
  236. ),
  237. // Font Weight
  238. "weight": 600,
  239. ),
  240. );
  241. /**
  242. * List
  243. */
  244. $config-list: (
  245. // Fonts
  246. "font": (
  247. "family": (
  248. "fallback": map-deep-get($config-global, "font", "family", "primary", "fallback"),
  249. "css-var": map-deep-get($config-global, "font", "family", "primary", "css-var"),
  250. ),
  251. ),
  252. );
  253. /**
  254. * Pullquote
  255. */
  256. $config-pullquote: (
  257. // Font
  258. "font": (
  259. "family": (
  260. "fallback": map-deep-get($config-global, "font", "family", "primary", "fallback"),
  261. "css-var": map-deep-get($config-global, "font", "family", "primary", "css-var"),
  262. ),
  263. ),
  264. // Border
  265. "color": (
  266. "border": #{map-deep-get($config-global, "color", "border", "default")},
  267. "background": #{map-deep-get($config-global, "color", "primary", "default")},
  268. ),
  269. // Border
  270. "border": (
  271. "width": #{0.5 * $baseline-unit},
  272. ),
  273. );
  274. /**
  275. * Quote
  276. */
  277. $config-quote: (
  278. // Font
  279. "font": (
  280. "family": (
  281. "fallback": map-deep-get($config-global, "font", "family", "primary", "fallback"),
  282. "css-var": map-deep-get($config-global, "font", "family", "primary", "css-var"),
  283. ),
  284. ),
  285. );
  286. /**
  287. * Separator
  288. */
  289. $config-separator: (
  290. "height": #{0.25 * $baseline-unit},
  291. "width": #{6 * map-deep-get($config-global, "spacing", "horizontal")},
  292. );
  293. /**
  294. * Header
  295. */
  296. $config-header: (
  297. "branding": (
  298. // Colors
  299. "color": (
  300. "text": map-deep-get($config-global, "color", "foreground", "light"),
  301. "link": map-deep-get($config-global, "color", "foreground", "default"),
  302. "link-hover": map-deep-get($config-global, "color", "primary", "hover"),
  303. ),
  304. // Fonts & Typography
  305. "title": (
  306. // Fonts
  307. "font": (
  308. "family": (
  309. "fallback": map-deep-get($config-global, "font", "family", "primary", "fallback"),
  310. "css-var": map-deep-get($config-global, "font", "family", "primary", "css-var"),
  311. ),
  312. "size": map-deep-get($config-global, "font", "size", "lg"),
  313. "weight": 600,
  314. "line-height": 1,
  315. ),
  316. ),
  317. // Fonts & Typography
  318. "description": (
  319. // Fonts
  320. "font": (
  321. "family": (
  322. "fallback": map-deep-get($config-global, "font", "family", "primary", "fallback"),
  323. "css-var": map-deep-get($config-global, "font", "family", "primary", "css-var"),
  324. ),
  325. "size": map-deep-get($config-global, "font", "size", "sm"),
  326. ),
  327. ),
  328. ),
  329. "main-nav": (
  330. // Colors
  331. "color": (
  332. "text": map-deep-get($config-global, "color", "foreground", "default"),
  333. "link": map-deep-get($config-global, "color", "primary", "default"),
  334. "link-hover": map-deep-get($config-global, "color", "primary", "hover"),
  335. ),
  336. // Fonts
  337. "font": (
  338. "family": (
  339. "fallback": map-deep-get($config-global, "font", "family", "primary", "fallback"),
  340. "css-var": map-deep-get($config-global, "font", "family", "primary", "css-var"),
  341. ),
  342. "size": map-deep-get($config-global, "font", "size", "sm"),
  343. "weight": 400,
  344. "line-height": 1,
  345. ),
  346. "link-padding": $baseline-unit,
  347. ),
  348. "social-nav": (
  349. // Colors
  350. "color": (
  351. "link": map-deep-get($config-global, "color", "foreground", "default"),
  352. "link-hover": map-deep-get($config-global, "color", "primary", "hover"),
  353. ),
  354. "link-padding": calc( 0.5 * calc(0.66 * #{map-deep-get($config-global, "spacing", "unit")} ) ),
  355. ),
  356. );
  357. /**
  358. * Footer
  359. */
  360. $config-footer: (
  361. // Colors
  362. "color": (
  363. "text": map-deep-get($config-global, "color", "foreground", "light"),
  364. "link": map-deep-get($config-global, "color", "primary", "default"),
  365. "link-hover": map-deep-get($config-global, "color", "primary", "hover"),
  366. ),
  367. // Fonts
  368. "font": (
  369. "family": (
  370. "fallback": map-deep-get($config-global, "font", "family", "primary", "fallback"),
  371. "css-var": map-deep-get($config-global, "font", "family", "primary", "css-var"),
  372. ),
  373. "size": map-deep-get($config-global, "font", "size", "sm"),
  374. "line-height": map-deep-get($config-global, "font", "line-height", "sm"),
  375. ),
  376. );