jekyll-v4-theme-primer 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (297) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.md +22 -0
  3. data/README.md +116 -0
  4. data/_includes/.gitkeep +1 -0
  5. data/_includes/head-custom-google-analytics.html +10 -0
  6. data/_includes/head-custom.html +9 -0
  7. data/_includes/theme.html +11 -0
  8. data/_layouts/default.html +29 -0
  9. data/_layouts/home.html +4 -0
  10. data/_layouts/page.html +4 -0
  11. data/_layouts/post.html +4 -0
  12. data/_sass/@primer/css/actionlist/action-list-item-divider.scss +48 -0
  13. data/_sass/@primer/css/actionlist/action-list-item.scss +593 -0
  14. data/_sass/@primer/css/actionlist/action-list-tree.scss +118 -0
  15. data/_sass/@primer/css/actionlist/action-list-variables.scss +8 -0
  16. data/_sass/@primer/css/actionlist/action-list.scss +67 -0
  17. data/_sass/@primer/css/actionlist/index.scss +6 -0
  18. data/_sass/@primer/css/alerts/flash.scss +1 -0
  19. data/_sass/@primer/css/alerts/index.scss +3 -0
  20. data/_sass/@primer/css/autocomplete/autocomplete.scss +1 -0
  21. data/_sass/@primer/css/autocomplete/index.scss +4 -0
  22. data/_sass/@primer/css/autocomplete/suggester.scss +92 -0
  23. data/_sass/@primer/css/avatars/avatar-parent-child.scss +17 -0
  24. data/_sass/@primer/css/avatars/avatar-stack.scss +1 -0
  25. data/_sass/@primer/css/avatars/avatar.scss +1 -0
  26. data/_sass/@primer/css/avatars/circle-badge.scss +55 -0
  27. data/_sass/@primer/css/avatars/index.scss +7 -0
  28. data/_sass/@primer/css/base/base.scss +160 -0
  29. data/_sass/@primer/css/base/index.scss +6 -0
  30. data/_sass/@primer/css/base/kbd.scss +19 -0
  31. data/_sass/@primer/css/base/normalize.scss +381 -0
  32. data/_sass/@primer/css/base/octicons.scss +6 -0
  33. data/_sass/@primer/css/base/typography-base.scss +89 -0
  34. data/_sass/@primer/css/blankslate/blankslate.scss +1 -0
  35. data/_sass/@primer/css/blankslate/index.scss +2 -0
  36. data/_sass/@primer/css/box/box-overlay.scss +42 -0
  37. data/_sass/@primer/css/box/box.scss +1 -0
  38. data/_sass/@primer/css/box/index.scss +3 -0
  39. data/_sass/@primer/css/branch-name/branch-name.scss +31 -0
  40. data/_sass/@primer/css/branch-name/index.scss +3 -0
  41. data/_sass/@primer/css/breadcrumb/breadcrumb.scss +1 -0
  42. data/_sass/@primer/css/breadcrumb/index.scss +3 -0
  43. data/_sass/@primer/css/buttons/button-group.scss +92 -0
  44. data/_sass/@primer/css/buttons/button.scss +340 -0
  45. data/_sass/@primer/css/buttons/index.scss +4 -0
  46. data/_sass/@primer/css/buttons/misc.scss +231 -0
  47. data/_sass/@primer/css/color-modes/index.scss +12 -0
  48. data/_sass/@primer/css/color-modes/native.scss +22 -0
  49. data/_sass/@primer/css/color-modes/themes/dark.scss +6 -0
  50. data/_sass/@primer/css/color-modes/themes/dark_colorblind.scss +6 -0
  51. data/_sass/@primer/css/color-modes/themes/dark_dimmed.scss +6 -0
  52. data/_sass/@primer/css/color-modes/themes/dark_high_contrast.scss +6 -0
  53. data/_sass/@primer/css/color-modes/themes/dark_tritanopia.scss +6 -0
  54. data/_sass/@primer/css/color-modes/themes/light.scss +6 -0
  55. data/_sass/@primer/css/color-modes/themes/light_colorblind.scss +6 -0
  56. data/_sass/@primer/css/color-modes/themes/light_high_contrast.scss +6 -0
  57. data/_sass/@primer/css/color-modes/themes/light_tritanopia.scss +6 -0
  58. data/_sass/@primer/css/core/index.scss +30 -0
  59. data/_sass/@primer/css/dropdown/dropdown.scss +1 -0
  60. data/_sass/@primer/css/dropdown/index.scss +2 -0
  61. data/_sass/@primer/css/forms/FormControl.scss +1 -0
  62. data/_sass/@primer/css/forms/form-control.scss +267 -0
  63. data/_sass/@primer/css/forms/form-group.scss +287 -0
  64. data/_sass/@primer/css/forms/form-select.scss +46 -0
  65. data/_sass/@primer/css/forms/form-validation.scss +369 -0
  66. data/_sass/@primer/css/forms/index.scss +9 -0
  67. data/_sass/@primer/css/forms/input-group.scss +71 -0
  68. data/_sass/@primer/css/forms/radio-group.scss +62 -0
  69. data/_sass/@primer/css/header/header.scss +47 -0
  70. data/_sass/@primer/css/header/index.scss +2 -0
  71. data/_sass/@primer/css/index.scss +19 -0
  72. data/_sass/@primer/css/labels/counters.scss +1 -0
  73. data/_sass/@primer/css/labels/diffstat.scss +37 -0
  74. data/_sass/@primer/css/labels/index.scss +7 -0
  75. data/_sass/@primer/css/labels/issue-labels.scss +23 -0
  76. data/_sass/@primer/css/labels/labels.scss +1 -0
  77. data/_sass/@primer/css/labels/mixins.scss +37 -0
  78. data/_sass/@primer/css/labels/states.scss +1 -0
  79. data/_sass/@primer/css/layout/app-frame.scss +156 -0
  80. data/_sass/@primer/css/layout/container.scss +30 -0
  81. data/_sass/@primer/css/layout/grid-offset.scss +20 -0
  82. data/_sass/@primer/css/layout/grid.scss +65 -0
  83. data/_sass/@primer/css/layout/index.scss +8 -0
  84. data/_sass/@primer/css/layout/layout.scss +1 -0
  85. data/_sass/@primer/css/layout/page-layout.scss +413 -0
  86. data/_sass/@primer/css/layout/stack.scss +220 -0
  87. data/_sass/@primer/css/links/index.scss +3 -0
  88. data/_sass/@primer/css/links/link.scss +60 -0
  89. data/_sass/@primer/css/loaders/index.scss +2 -0
  90. data/_sass/@primer/css/loaders/loaders.scss +19 -0
  91. data/_sass/@primer/css/markdown/blob-csv.scss +29 -0
  92. data/_sass/@primer/css/markdown/code.scss +77 -0
  93. data/_sass/@primer/css/markdown/footnotes.scss +55 -0
  94. data/_sass/@primer/css/markdown/headings.scss +96 -0
  95. data/_sass/@primer/css/markdown/images.scss +130 -0
  96. data/_sass/@primer/css/markdown/index.scss +9 -0
  97. data/_sass/@primer/css/markdown/lists.scss +98 -0
  98. data/_sass/@primer/css/markdown/markdown-body.scss +96 -0
  99. data/_sass/@primer/css/markdown/tables.scss +36 -0
  100. data/_sass/@primer/css/marketing/buttons/button.scss +164 -0
  101. data/_sass/@primer/css/marketing/buttons/index.scss +3 -0
  102. data/_sass/@primer/css/marketing/index.scss +15 -0
  103. data/_sass/@primer/css/marketing/links/index.scss +3 -0
  104. data/_sass/@primer/css/marketing/links/link.scss +50 -0
  105. data/_sass/@primer/css/marketing/support/index.scss +2 -0
  106. data/_sass/@primer/css/marketing/support/variables.scss +127 -0
  107. data/_sass/@primer/css/marketing/type/index.scss +3 -0
  108. data/_sass/@primer/css/marketing/type/typography.scss +118 -0
  109. data/_sass/@primer/css/marketing/utilities/animations.scss +51 -0
  110. data/_sass/@primer/css/marketing/utilities/borders.scss +4 -0
  111. data/_sass/@primer/css/marketing/utilities/filters.scss +3 -0
  112. data/_sass/@primer/css/marketing/utilities/index.scss +6 -0
  113. data/_sass/@primer/css/marketing/utilities/layout.scss +51 -0
  114. data/_sass/@primer/css/navigation/filter-list.scss +82 -0
  115. data/_sass/@primer/css/navigation/index.scss +8 -0
  116. data/_sass/@primer/css/navigation/menu.scss +1 -0
  117. data/_sass/@primer/css/navigation/sidenav.scss +99 -0
  118. data/_sass/@primer/css/navigation/subnav.scss +146 -0
  119. data/_sass/@primer/css/navigation/tabnav.scss +1 -0
  120. data/_sass/@primer/css/navigation/underline-nav.scss +1 -0
  121. data/_sass/@primer/css/overlay/index.scss +2 -0
  122. data/_sass/@primer/css/overlay/overlay.scss +1 -0
  123. data/_sass/@primer/css/pagination/index.scss +3 -0
  124. data/_sass/@primer/css/pagination/pagination.scss +156 -0
  125. data/_sass/@primer/css/popover/index.scss +3 -0
  126. data/_sass/@primer/css/popover/popover.scss +1 -0
  127. data/_sass/@primer/css/primitives/index.scss +10 -0
  128. data/_sass/@primer/css/primitives/temp-typography-tokens.scss +22 -0
  129. data/_sass/@primer/css/product/index.scss +28 -0
  130. data/_sass/@primer/css/progress/index.scss +3 -0
  131. data/_sass/@primer/css/progress/progress.scss +1 -0
  132. data/_sass/@primer/css/select-menu/index.scss +3 -0
  133. data/_sass/@primer/css/select-menu/select-menu.scss +463 -0
  134. data/_sass/@primer/css/subhead/index.scss +3 -0
  135. data/_sass/@primer/css/subhead/subhead.scss +1 -0
  136. data/_sass/@primer/css/support/index.scss +10 -0
  137. data/_sass/@primer/css/support/mixins/color-modes.scss +109 -0
  138. data/_sass/@primer/css/support/mixins/layout.scss +58 -0
  139. data/_sass/@primer/css/support/mixins/misc.scss +73 -0
  140. data/_sass/@primer/css/support/mixins/typography.scss +91 -0
  141. data/_sass/@primer/css/support/variables/layout.scss +230 -0
  142. data/_sass/@primer/css/support/variables/misc.scss +18 -0
  143. data/_sass/@primer/css/support/variables/typography.scss +43 -0
  144. data/_sass/@primer/css/table-object/index.scss +1 -0
  145. data/_sass/@primer/css/table-object/table-object.scss +23 -0
  146. data/_sass/@primer/css/timeline/index.scss +2 -0
  147. data/_sass/@primer/css/timeline/timeline-item.scss +1 -0
  148. data/_sass/@primer/css/toasts/index.scss +2 -0
  149. data/_sass/@primer/css/toasts/toasts.scss +127 -0
  150. data/_sass/@primer/css/toggle-switch/index.scss +2 -0
  151. data/_sass/@primer/css/toggle-switch/toggle-switch.scss +1 -0
  152. data/_sass/@primer/css/tooltips/index.scss +2 -0
  153. data/_sass/@primer/css/tooltips/tooltips.scss +281 -0
  154. data/_sass/@primer/css/truncate/index.scss +2 -0
  155. data/_sass/@primer/css/truncate/truncate.scss +2 -0
  156. data/_sass/@primer/css/utilities/animations.scss +196 -0
  157. data/_sass/@primer/css/utilities/borders.scss +74 -0
  158. data/_sass/@primer/css/utilities/box-shadow.scss +25 -0
  159. data/_sass/@primer/css/utilities/colors.scss +95 -0
  160. data/_sass/@primer/css/utilities/details.scss +105 -0
  161. data/_sass/@primer/css/utilities/flexbox.scss +52 -0
  162. data/_sass/@primer/css/utilities/index.scss +14 -0
  163. data/_sass/@primer/css/utilities/layout.scss +96 -0
  164. data/_sass/@primer/css/utilities/margin.scss +71 -0
  165. data/_sass/@primer/css/utilities/padding.scss +56 -0
  166. data/_sass/@primer/css/utilities/typography.scss +332 -0
  167. data/_sass/@primer/css/utilities/visibility-display.scss +123 -0
  168. data/_sass/@primer/primitives/dist/scss/colors/_dark.scss +443 -0
  169. data/_sass/@primer/primitives/dist/scss/colors/_dark_colorblind.scss +443 -0
  170. data/_sass/@primer/primitives/dist/scss/colors/_dark_dimmed.scss +443 -0
  171. data/_sass/@primer/primitives/dist/scss/colors/_dark_high_contrast.scss +443 -0
  172. data/_sass/@primer/primitives/dist/scss/colors/_dark_tritanopia.scss +443 -0
  173. data/_sass/@primer/primitives/dist/scss/colors/_light.scss +443 -0
  174. data/_sass/@primer/primitives/dist/scss/colors/_light_colorblind.scss +443 -0
  175. data/_sass/@primer/primitives/dist/scss/colors/_light_high_contrast.scss +443 -0
  176. data/_sass/@primer/primitives/dist/scss/colors/_light_tritanopia.scss +443 -0
  177. data/_sass/@primer/primitives/dist/scss/spacing/_normal.scss +11 -0
  178. data/_sass/@primer/primitives/dist/scss/typography/_normal.scss +15 -0
  179. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/base/size/size.scss +21 -0
  180. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/base/typography/typography.scss +8 -0
  181. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/functional/size/border.scss +14 -0
  182. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/functional/size/breakpoints.scss +10 -0
  183. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/functional/size/size-coarse.scss +7 -0
  184. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/functional/size/size-fine.scss +7 -0
  185. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/functional/size/size.scss +51 -0
  186. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/functional/size/viewport.scss +10 -0
  187. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/functional/typography/typography.scss +44 -0
  188. data/_sass/@primer/view-components/LICENSE.txt +21 -0
  189. data/_sass/@primer/view-components/README.md +17 -0
  190. data/_sass/@primer/view-components/app/assets/javascripts/primer_view_components.js +2 -0
  191. data/_sass/@primer/view-components/app/assets/javascripts/primer_view_components.js.map +1 -0
  192. data/_sass/@primer/view-components/app/assets/styles/primer_view_components.css +3 -0
  193. data/_sass/@primer/view-components/app/assets/styles/primer_view_components.css.map +1 -0
  194. data/_sass/@primer/view-components/app/components/primer/alpha/action_list.css +1 -0
  195. data/_sass/@primer/view-components/app/components/primer/alpha/action_list.css.json +1 -0
  196. data/_sass/@primer/view-components/app/components/primer/alpha/auto_complete.css +1 -0
  197. data/_sass/@primer/view-components/app/components/primer/alpha/auto_complete.css.json +1 -0
  198. data/_sass/@primer/view-components/app/components/primer/alpha/banner.css +1 -0
  199. data/_sass/@primer/view-components/app/components/primer/alpha/banner.css.json +1 -0
  200. data/_sass/@primer/view-components/app/components/primer/alpha/button_marketing.css +1 -0
  201. data/_sass/@primer/view-components/app/components/primer/alpha/button_marketing.css.json +1 -0
  202. data/_sass/@primer/view-components/app/components/primer/alpha/dialog.css +1 -0
  203. data/_sass/@primer/view-components/app/components/primer/alpha/dialog.css.json +1 -0
  204. data/_sass/@primer/view-components/app/components/primer/alpha/dropdown/menu.d.ts +1 -0
  205. data/_sass/@primer/view-components/app/components/primer/alpha/dropdown/menu.js +1 -0
  206. data/_sass/@primer/view-components/app/components/primer/alpha/dropdown.css +1 -0
  207. data/_sass/@primer/view-components/app/components/primer/alpha/dropdown.css.json +1 -0
  208. data/_sass/@primer/view-components/app/components/primer/alpha/dropdown.d.ts +1 -0
  209. data/_sass/@primer/view-components/app/components/primer/alpha/dropdown.js +1 -0
  210. data/_sass/@primer/view-components/app/components/primer/alpha/image_crop.d.ts +1 -0
  211. data/_sass/@primer/view-components/app/components/primer/alpha/image_crop.js +1 -0
  212. data/_sass/@primer/view-components/app/components/primer/alpha/layout.css +1 -0
  213. data/_sass/@primer/view-components/app/components/primer/alpha/layout.css.json +1 -0
  214. data/_sass/@primer/view-components/app/components/primer/alpha/menu.css +1 -0
  215. data/_sass/@primer/view-components/app/components/primer/alpha/menu.css.json +1 -0
  216. data/_sass/@primer/view-components/app/components/primer/alpha/modal_dialog.d.ts +18 -0
  217. data/_sass/@primer/view-components/app/components/primer/alpha/modal_dialog.js +150 -0
  218. data/_sass/@primer/view-components/app/components/primer/alpha/nav_list.d.ts +25 -0
  219. data/_sass/@primer/view-components/app/components/primer/alpha/nav_list.js +130 -0
  220. data/_sass/@primer/view-components/app/components/primer/alpha/segmented_control.css +1 -0
  221. data/_sass/@primer/view-components/app/components/primer/alpha/segmented_control.css.json +1 -0
  222. data/_sass/@primer/view-components/app/components/primer/alpha/segmented_control.d.ts +12 -0
  223. data/_sass/@primer/view-components/app/components/primer/alpha/segmented_control.js +47 -0
  224. data/_sass/@primer/view-components/app/components/primer/alpha/tab_nav.css +1 -0
  225. data/_sass/@primer/view-components/app/components/primer/alpha/tab_nav.css.json +1 -0
  226. data/_sass/@primer/view-components/app/components/primer/alpha/text_field.css +3 -0
  227. data/_sass/@primer/view-components/app/components/primer/alpha/text_field.css.json +1 -0
  228. data/_sass/@primer/view-components/app/components/primer/alpha/toggle_switch.css +1 -0
  229. data/_sass/@primer/view-components/app/components/primer/alpha/toggle_switch.css.json +1 -0
  230. data/_sass/@primer/view-components/app/components/primer/alpha/toggle_switch.d.ts +29 -0
  231. data/_sass/@primer/view-components/app/components/primer/alpha/toggle_switch.js +144 -0
  232. data/_sass/@primer/view-components/app/components/primer/alpha/tool_tip.d.ts +25 -0
  233. data/_sass/@primer/view-components/app/components/primer/alpha/tool_tip.js +389 -0
  234. data/_sass/@primer/view-components/app/components/primer/alpha/underline_nav.css +1 -0
  235. data/_sass/@primer/view-components/app/components/primer/alpha/underline_nav.css.json +1 -0
  236. data/_sass/@primer/view-components/app/components/primer/alpha/x_banner.d.ts +11 -0
  237. data/_sass/@primer/view-components/app/components/primer/alpha/x_banner.js +35 -0
  238. data/_sass/@primer/view-components/app/components/primer/beta/auto_complete/auto_complete.d.ts +1 -0
  239. data/_sass/@primer/view-components/app/components/primer/beta/auto_complete/auto_complete.js +1 -0
  240. data/_sass/@primer/view-components/app/components/primer/beta/avatar.css +1 -0
  241. data/_sass/@primer/view-components/app/components/primer/beta/avatar.css.json +1 -0
  242. data/_sass/@primer/view-components/app/components/primer/beta/avatar_stack.css +1 -0
  243. data/_sass/@primer/view-components/app/components/primer/beta/avatar_stack.css.json +1 -0
  244. data/_sass/@primer/view-components/app/components/primer/beta/blankslate.css +1 -0
  245. data/_sass/@primer/view-components/app/components/primer/beta/blankslate.css.json +1 -0
  246. data/_sass/@primer/view-components/app/components/primer/beta/border_box.css +1 -0
  247. data/_sass/@primer/view-components/app/components/primer/beta/border_box.css.json +1 -0
  248. data/_sass/@primer/view-components/app/components/primer/beta/breadcrumbs.css +1 -0
  249. data/_sass/@primer/view-components/app/components/primer/beta/breadcrumbs.css.json +1 -0
  250. data/_sass/@primer/view-components/app/components/primer/beta/button.css +1 -0
  251. data/_sass/@primer/view-components/app/components/primer/beta/button.css.json +1 -0
  252. data/_sass/@primer/view-components/app/components/primer/beta/clipboard_copy.d.ts +1 -0
  253. data/_sass/@primer/view-components/app/components/primer/beta/clipboard_copy.js +43 -0
  254. data/_sass/@primer/view-components/app/components/primer/beta/counter.css +1 -0
  255. data/_sass/@primer/view-components/app/components/primer/beta/counter.css.json +1 -0
  256. data/_sass/@primer/view-components/app/components/primer/beta/flash.css +1 -0
  257. data/_sass/@primer/view-components/app/components/primer/beta/flash.css.json +1 -0
  258. data/_sass/@primer/view-components/app/components/primer/beta/label.css +1 -0
  259. data/_sass/@primer/view-components/app/components/primer/beta/label.css.json +1 -0
  260. data/_sass/@primer/view-components/app/components/primer/beta/link.css +1 -0
  261. data/_sass/@primer/view-components/app/components/primer/beta/link.css.json +1 -0
  262. data/_sass/@primer/view-components/app/components/primer/beta/popover.css +1 -0
  263. data/_sass/@primer/view-components/app/components/primer/beta/popover.css.json +1 -0
  264. data/_sass/@primer/view-components/app/components/primer/beta/progress_bar.css +1 -0
  265. data/_sass/@primer/view-components/app/components/primer/beta/progress_bar.css.json +1 -0
  266. data/_sass/@primer/view-components/app/components/primer/beta/truncate.css +1 -0
  267. data/_sass/@primer/view-components/app/components/primer/beta/truncate.css.json +1 -0
  268. data/_sass/@primer/view-components/app/components/primer/local_time.d.ts +1 -0
  269. data/_sass/@primer/view-components/app/components/primer/local_time.js +1 -0
  270. data/_sass/@primer/view-components/app/components/primer/primer.d.ts +15 -0
  271. data/_sass/@primer/view-components/app/components/primer/primer.js +15 -0
  272. data/_sass/@primer/view-components/app/components/primer/state_component.css +1 -0
  273. data/_sass/@primer/view-components/app/components/primer/state_component.css.json +1 -0
  274. data/_sass/@primer/view-components/app/components/primer/subhead_component.css +1 -0
  275. data/_sass/@primer/view-components/app/components/primer/subhead_component.css.json +1 -0
  276. data/_sass/@primer/view-components/app/components/primer/tab_container_component.d.ts +1 -0
  277. data/_sass/@primer/view-components/app/components/primer/tab_container_component.js +1 -0
  278. data/_sass/@primer/view-components/app/components/primer/time_ago_component.d.ts +1 -0
  279. data/_sass/@primer/view-components/app/components/primer/time_ago_component.js +1 -0
  280. data/_sass/@primer/view-components/app/components/primer/timeline_item_component.css +1 -0
  281. data/_sass/@primer/view-components/app/components/primer/timeline_item_component.css.json +1 -0
  282. data/_sass/@primer/view-components/app/components/primer/truncate.css +1 -0
  283. data/_sass/@primer/view-components/app/components/primer/truncate.css.json +1 -0
  284. data/_sass/@primer/view-components/lib/primer/forms/primer_multi_input.d.ts +10 -0
  285. data/_sass/@primer/view-components/lib/primer/forms/primer_multi_input.js +45 -0
  286. data/_sass/@primer/view-components/lib/primer/forms/primer_text_field.d.ts +1 -0
  287. data/_sass/@primer/view-components/lib/primer/forms/primer_text_field.js +62 -0
  288. data/_sass/@primer/view-components/package.json +95 -0
  289. data/_sass/@primer/view-components/static/arguments.json +2586 -0
  290. data/_sass/@primer/view-components/static/audited_at.json +100 -0
  291. data/_sass/@primer/view-components/static/constants.json +1157 -0
  292. data/_sass/@primer/view-components/static/statuses.json +100 -0
  293. data/_sass/jekyll-theme-primer.scss +8 -0
  294. data/_sass/primer.scss +4 -0
  295. data/_sass/rouge.scss +213 -0
  296. data/assets/css/style.scss +4 -0
  297. metadata +444 -0
@@ -0,0 +1,156 @@
1
+ // stylelint-disable max-nesting-depth
2
+ // stylelint-disable primer/spacing
3
+ // stylelint-disable primer/borders
4
+
5
+ .AppFrame {
6
+
7
+ // AppFrame structure
8
+ // ===================
9
+ //
10
+ // .AppFrame
11
+ // ├─ .AppFrame-a11yNav
12
+ // │ ├─ .AppFrame-a11yLink
13
+ // │
14
+ // ├─ .AppFrame-main
15
+ // │ ├─ .AppFrame-header-wrapper
16
+ // │ │ ├─ .AppFrame-header
17
+ // │ │ ├─ .AppFrame-subheader
18
+ // │ │
19
+ // │ ├─ #start-of-content
20
+ // │ ├─ .AppFrame-body
21
+ // │
22
+ // │ .AppFrame-footer
23
+
24
+ // Accessibility navigation
25
+
26
+ .AppFrame-a11yNav {
27
+ position: absolute;
28
+ z-index: 1000;
29
+ display: flex;
30
+ width: 100%;
31
+ padding: var(--base-size-16, 16px);
32
+ background: var(--color-canvas-inset);
33
+ padding-block-end: calc(var(--base-size-16, 16px) - var(--primer-borderWidth-thin, 1px));
34
+ isolation: isolate;
35
+ align-items: center;
36
+ gap: var(--base-size-8, 8px);
37
+
38
+ &:not(:focus-within) {
39
+ width: 1px;
40
+ height: 1px;
41
+ padding: 0;
42
+ margin: -1px;
43
+ overflow: hidden;
44
+ clip: rect(1px, 1px, 1px, 1px);
45
+ border: 0;
46
+ }
47
+
48
+ &:focus-within {
49
+ top: 0;
50
+ left: 0;
51
+
52
+ // Narrow viewport
53
+ @media (max-width: #{map-get($breakpoints, 'md') - 0.02px}) {
54
+ justify-content: center;
55
+ }
56
+ }
57
+ }
58
+
59
+ .AppFrame-a11yLink {
60
+ transition: none;
61
+
62
+ &:not(:focus) {
63
+ display: block;
64
+ width: var(--base-size-8, 8px);
65
+ height: var(--base-size-8, 8px);
66
+ overflow: hidden;
67
+ text-indent: var(--base-size-128, 128px);
68
+ pointer-events: none;
69
+ background: var(--color-border-default);
70
+ border-radius: var(--primer-borderRadius-full, 100vh);
71
+ }
72
+
73
+ &:focus {
74
+ z-index: 20;
75
+ display: grid;
76
+ width: auto;
77
+ height: auto;
78
+ min-height: var(--primer-control-medium-size, 32px);
79
+ padding: 0 var(--primer-control-medium-paddingInline-spacious, 16px);
80
+ overflow: auto;
81
+ color: var(--color-fg-on-emphasis);
82
+ background: var(--color-accent-emphasis);
83
+ border-radius: var(--primer-borderRadius-full, 100vh);
84
+ align-items: center;
85
+
86
+ @media (pointer: coarse) {
87
+ &::after {
88
+ @include minTouchTarget(var(--primer-control-minTarget-coarse, 44px));
89
+ }
90
+ }
91
+
92
+ @media (prefers-reduced-motion: no-preference) {
93
+ animation: AppFrame-a11yLink-focus 200ms ease-out;
94
+ }
95
+
96
+ @keyframes AppFrame-a11yLink-focus {
97
+ 0% {
98
+ color: var(--color-accent-emphasis);
99
+ transform: scale(0.3, 0.25);
100
+ }
101
+
102
+ 50% {
103
+ color: var(--color-accent-emphasis);
104
+ transform: scale(1, 1);
105
+ }
106
+
107
+ 55% {
108
+ color: var(--color-fg-on-emphasis);
109
+ }
110
+
111
+ 100% {
112
+ transform: scaleX(1);
113
+ }
114
+ }
115
+ }
116
+ }
117
+
118
+ .AppFrame-main {
119
+ display: flex;
120
+ min-height: 100vh;
121
+ flex-direction: column;
122
+
123
+ @supports (height: 100dvh) {
124
+ min-height: 100dvh;
125
+ }
126
+ }
127
+
128
+ .AppFrame-header-wrapper {
129
+ position: relative;
130
+ height: min-content;
131
+ overflow: visible;
132
+
133
+ .AppFrame-header {
134
+ position: sticky;
135
+ top: 0;
136
+ z-index: 1;
137
+ }
138
+ }
139
+
140
+ .AppFrame-header {
141
+ flex: 0 0 auto;
142
+ }
143
+
144
+ .AppFrame-subheader {
145
+ flex: 0 0 auto;
146
+ }
147
+
148
+ .AppFrame-body {
149
+ flex: 1 0;
150
+ height: 100%;
151
+ }
152
+
153
+ .AppFrame-footer {
154
+ flex: 0 0 auto;
155
+ }
156
+ }
@@ -0,0 +1,30 @@
1
+ // Fixed-width, centered column for site content.
2
+ // Handy container styles that match our breakpoints
3
+
4
+ // 544px
5
+ .container-sm {
6
+ max-width: $width-sm;
7
+ margin-right: auto;
8
+ margin-left: auto;
9
+ }
10
+
11
+ // 768px
12
+ .container-md {
13
+ max-width: $container-md;
14
+ margin-right: auto;
15
+ margin-left: auto;
16
+ }
17
+
18
+ // 1004px - this matches the current fixed width: 980px + padding: px-3
19
+ .container-lg {
20
+ max-width: $container-lg;
21
+ margin-right: auto;
22
+ margin-left: auto;
23
+ }
24
+
25
+ // 1280px
26
+ .container-xl {
27
+ max-width: $container-xl;
28
+ margin-right: auto;
29
+ margin-left: auto;
30
+ }
@@ -0,0 +1,20 @@
1
+ // Optional offset options to work with grid.scss
2
+
3
+ // Offset Columns
4
+
5
+ // stylelint-disable primer/spacing
6
+ @each $breakpoint, $variant in $responsive-variants {
7
+ @include breakpoint($breakpoint) {
8
+ .offset#{$variant}-1 { margin-left: (1 * 0.0833333333 * 100%) !important; }
9
+ .offset#{$variant}-2 { margin-left: (2 * 0.0833333333 * 100%) !important; }
10
+ .offset#{$variant}-3 { margin-left: (3 * 0.0833333333 * 100%) !important; }
11
+ .offset#{$variant}-4 { margin-left: (4 * 0.0833333333 * 100%) !important; }
12
+ .offset#{$variant}-5 { margin-left: (5 * 0.0833333333 * 100%) !important; }
13
+ .offset#{$variant}-6 { margin-left: (6 * 0.0833333333 * 100%) !important; }
14
+ .offset#{$variant}-7 { margin-left: (7 * 0.0833333333 * 100%) !important; }
15
+ .offset#{$variant}-8 { margin-left: (8 * 0.0833333333 * 100%) !important; }
16
+ .offset#{$variant}-9 { margin-left: (9 * 0.0833333333 * 100%) !important; }
17
+ .offset#{$variant}-10 { margin-left: (10 * 0.0833333333 * 100%) !important; }
18
+ .offset#{$variant}-11 { margin-left: (11 * 0.0833333333 * 100%) !important; }
19
+ }
20
+ }
@@ -0,0 +1,65 @@
1
+ // GRID
2
+
3
+ // Columns
4
+ .col-1 { width: (1 * 0.0833333333 * 100%); }
5
+ .col-2 { width: (2 * 0.0833333333 * 100%); }
6
+ .col-3 { width: (3 * 0.0833333333 * 100%); }
7
+ .col-4 { width: (4 * 0.0833333333 * 100%); }
8
+ .col-5 { width: (5 * 0.0833333333 * 100%); }
9
+ .col-6 { width: (6 * 0.0833333333 * 100%); }
10
+ .col-7 { width: (7 * 0.0833333333 * 100%); }
11
+ .col-8 { width: (8 * 0.0833333333 * 100%); }
12
+ .col-9 { width: (9 * 0.0833333333 * 100%); }
13
+ .col-10 { width: (10 * 0.0833333333 * 100%); }
14
+ .col-11 { width: (11 * 0.0833333333 * 100%); }
15
+ .col-12 { width: 100%; }
16
+
17
+ @each $breakpoint in map-keys($breakpoints) {
18
+ @include breakpoint($breakpoint) {
19
+ .col-#{$breakpoint}-1 { width: ( 1 * 0.0833333333 * 100%); }
20
+ .col-#{$breakpoint}-2 { width: ( 2 * 0.0833333333 * 100%); }
21
+ .col-#{$breakpoint}-3 { width: ( 3 * 0.0833333333 * 100%); }
22
+ .col-#{$breakpoint}-4 { width: ( 4 * 0.0833333333 * 100%); }
23
+ .col-#{$breakpoint}-5 { width: ( 5 * 0.0833333333 * 100%); }
24
+ .col-#{$breakpoint}-6 { width: ( 6 * 0.0833333333 * 100%); }
25
+ .col-#{$breakpoint}-7 { width: ( 7 * 0.0833333333 * 100%); }
26
+ .col-#{$breakpoint}-8 { width: ( 8 * 0.0833333333 * 100%); }
27
+ .col-#{$breakpoint}-9 { width: ( 9 * 0.0833333333 * 100%); }
28
+ .col-#{$breakpoint}-10 { width: ( 10 * 0.0833333333 * 100%); }
29
+ .col-#{$breakpoint}-11 { width: ( 11 * 0.0833333333 * 100%); }
30
+ .col-#{$breakpoint}-12 { width: 100%; }
31
+ }
32
+ }
33
+
34
+ // Gutters
35
+ // Apply padding and a negative margin to the outside of the container
36
+ // stylelint-disable primer/spacing
37
+ @mixin gutters ($gutter-width: $spacer-3) {
38
+ margin-right: -$gutter-width;
39
+ margin-left: -$gutter-width;
40
+
41
+ > [class*='col-'] {
42
+ padding-right: $gutter-width !important;
43
+ padding-left: $gutter-width !important;
44
+ }
45
+ }
46
+
47
+ .gutter {
48
+ @include gutters($spacer-3);
49
+ }
50
+
51
+ .gutter-condensed {
52
+ @include gutters($spacer-2);
53
+ }
54
+
55
+ .gutter-spacious {
56
+ @include gutters($spacer-4);
57
+ }
58
+
59
+ @each $breakpoint in map-keys($breakpoints) {
60
+ @include breakpoint($breakpoint) {
61
+ .gutter-#{$breakpoint} { @include gutters($spacer-3); }
62
+ .gutter-#{$breakpoint}-condensed { @include gutters($spacer-2); }
63
+ .gutter-#{$breakpoint}-spacious { @include gutters($spacer-4); }
64
+ }
65
+ }
@@ -0,0 +1,8 @@
1
+ @import '../support/index.scss';
2
+ @import './app-frame.scss';
3
+ @import './container.scss';
4
+ @import './grid.scss';
5
+ @import './grid-offset.scss';
6
+ @import './layout.scss';
7
+ @import './page-layout.scss';
8
+ @import './stack.scss';
@@ -0,0 +1 @@
1
+ @import '@primer/view-components/app/components/primer/alpha/layout';
@@ -0,0 +1,413 @@
1
+ // stylelint-disable max-nesting-depth
2
+ // stylelint-disable selector-max-specificity
3
+ // stylelint-disable no-duplicate-selectors
4
+
5
+ $Layout-divider-color: var(--color-border-default) !default;
6
+ $Layout-responsive-variant-max-breakpoint: 'md' !default;
7
+
8
+ :root {
9
+ --Layout-pane-width: #{map-get($sidebar-width, 'sm')};
10
+ --Layout-content-width: 100%;
11
+ --Layout-template-columns: 1fr var(--Layout-pane-width);
12
+ --Layout-template-areas: 'content pane';
13
+ --Layout-column-gap: #{$spacer-3};
14
+ --Layout-row-gap: #{$spacer-3};
15
+
16
+ // the `px` unit is mandatory for `calc()` execution. See https://stackoverflow.com/a/32518348
17
+ // stylelint-disable length-zero-no-unit
18
+ --Layout-outer-spacing-x: 0px; // wrapper margin x
19
+ --Layout-outer-spacing-y: 0px; // wrapper margin y
20
+ --Layout-inner-spacing-min: 0px; // default region padding
21
+ --Layout-inner-spacing-max: 0px; // relaxed content horizontal padding
22
+ // stylelint-enable length-zero-no-unit
23
+ }
24
+
25
+ // Layout beta mixins
26
+
27
+ // responsive region dividers
28
+
29
+ @mixin Layout-line-divider {
30
+ position: absolute;
31
+ left: calc(var(--Layout-outer-spacing-x) * -1);
32
+ display: block;
33
+ width: calc(100% + (var(--Layout-outer-spacing-x) * 2));
34
+ height: 1px;
35
+ content: '';
36
+ background-color: $Layout-divider-color;
37
+ }
38
+
39
+ @mixin Layout-filled-divider {
40
+ position: absolute;
41
+ bottom: calc(#{$spacer-2} * -1); // -8px
42
+ left: calc(var(--Layout-outer-spacing-x) * -1);
43
+ display: block;
44
+ width: calc(100% + (var(--Layout-outer-spacing-x) * 2));
45
+ height: #{$spacer-2}; // 8px
46
+ content: '';
47
+ background-color: var(--color-canvas-inset);
48
+ box-shadow: inset 0 1px $Layout-divider-color, inset 0 -1px $Layout-divider-color;
49
+ }
50
+
51
+ .PageLayout {
52
+ display: block;
53
+ // stylelint-disable-next-line primer/spacing
54
+ margin: var(--Layout-outer-spacing-y) var(--Layout-outer-spacing-x);
55
+
56
+ // multi-column desktop-friendly layout
57
+
58
+ @include breakpoint($Layout-responsive-variant-max-breakpoint) {
59
+
60
+ // Set a `content` region width, to work with loading states when
61
+ // `pane` is not yet loaded. See https://github.com/primer/css/pull/1818
62
+ $Layout-content-full-width: minmax(0, calc(100% - var(--Layout-pane-width) - var(--Layout-column-gap)));
63
+
64
+ &.PageLayout--panePos-start {
65
+ --Layout-template-columns: var(--Layout-pane-width) #{$Layout-content-full-width};
66
+ --Layout-template-areas: 'pane content';
67
+ }
68
+
69
+ &.PageLayout--panePos-end {
70
+ --Layout-template-columns: #{$Layout-content-full-width} var(--Layout-pane-width);
71
+ --Layout-template-areas: 'content pane';
72
+ }
73
+
74
+ // header divider
75
+
76
+ .PageLayout-header--hasDivider {
77
+ // stylelint-disable-next-line primer/spacing
78
+ padding-bottom: max(var(--Layout-row-gap), var(--Layout-inner-spacing-min));
79
+ // stylelint-disable-next-line primer/borders
80
+ border-bottom: $border-width solid $Layout-divider-color;
81
+ }
82
+
83
+ // footer divider
84
+
85
+ .PageLayout-footer--hasDivider {
86
+ // stylelint-disable-next-line primer/spacing
87
+ padding-top: max(var(--Layout-row-gap), var(--Layout-inner-spacing-min));
88
+ // stylelint-disable-next-line primer/borders
89
+ border-top: $border-width solid $Layout-divider-color;
90
+ }
91
+
92
+ // pane divider
93
+
94
+ &.PageLayout--hasPaneDivider {
95
+ &.PageLayout--panePos-start {
96
+ .PageLayout-pane {
97
+ // stylelint-disable-next-line primer/borders
98
+ border-right: $border-width solid $Layout-divider-color;
99
+ }
100
+
101
+ &:not(.PageLayout--columnGap-none) {
102
+ .PageLayout-pane {
103
+ // stylelint-disable-next-line primer/spacing
104
+ padding-right: calc(var(--Layout-column-gap) - #{$border-width});
105
+ // stylelint-disable-next-line primer/spacing
106
+ margin-right: calc(var(--Layout-column-gap) * -1);
107
+ }
108
+
109
+ .PageLayout-content {
110
+ // stylelint-disable-next-line primer/spacing
111
+ margin-left: var(--Layout-column-gap);
112
+ }
113
+ }
114
+ }
115
+
116
+ &.PageLayout--panePos-end {
117
+ .PageLayout-pane {
118
+ // stylelint-disable-next-line primer/borders
119
+ border-left: $border-width solid $Layout-divider-color;
120
+ }
121
+
122
+ &:not(.PageLayout--columnGap-none) {
123
+ .PageLayout-pane {
124
+ // stylelint-disable-next-line primer/spacing
125
+ padding-left: calc(var(--Layout-column-gap) - #{$border-width});
126
+ // stylelint-disable-next-line primer/spacing
127
+ margin-left: calc(var(--Layout-column-gap) * -1);
128
+ }
129
+
130
+ .PageLayout-content {
131
+ // stylelint-disable-next-line primer/spacing
132
+ margin-right: var(--Layout-column-gap);
133
+ }
134
+ }
135
+ }
136
+ }
137
+
138
+ // sticky pane
139
+
140
+ .PageLayout-pane--sticky {
141
+ position: sticky;
142
+ top: 0;
143
+ max-height: 100vh;
144
+ overflow: auto;
145
+ scrollbar-width: thin;
146
+
147
+ @supports (max-height: 100dvh) {
148
+ max-height: 100dvh;
149
+ }
150
+ }
151
+
152
+ // content width
153
+
154
+ [class^='PageLayout-content-centered-'] {
155
+ max-width: calc(var(--Layout-content-width) + var(--Layout-pane-width) + var(--Layout-column-gap));
156
+ margin-right: auto;
157
+ margin-left: auto;
158
+ }
159
+
160
+ &.PageLayout--hasPaneDivider {
161
+ [class^='PageLayout-content-centered-'] {
162
+ max-width: calc(var(--Layout-content-width) + var(--Layout-pane-width) + (var(--Layout-column-gap) * 2));
163
+ }
164
+ }
165
+
166
+ &.PageLayout--panePos-start {
167
+ [class^='PageLayout-content-centered-'] > [class^='container-'] {
168
+ margin-left: 0;
169
+ }
170
+ }
171
+
172
+ &.PageLayout--panePos-end {
173
+ [class^='PageLayout-content-centered-'] > [class^='container-'] {
174
+ margin-right: 0;
175
+ }
176
+ }
177
+
178
+ @each $breakpoint in map-keys($breakpoints) {
179
+ .PageLayout-content-centered-#{$breakpoint} {
180
+ --Layout-content-width: #{map-get($breakpoints, $breakpoint)};
181
+ }
182
+ }
183
+
184
+ // pane width
185
+
186
+ @each $breakpoint in map-keys($sidebar-width) {
187
+ @include breakpoint($breakpoint) {
188
+ --Layout-pane-width: #{map-get($sidebar-width, $breakpoint)};
189
+ }
190
+ }
191
+
192
+ &.PageLayout--paneWidth-narrow {
193
+ @each $breakpoint in map-keys($sidebar-narrow-width) {
194
+ @include breakpoint($breakpoint) {
195
+ --Layout-pane-width: #{map-get($sidebar-narrow-width, $breakpoint)};
196
+ }
197
+ }
198
+ }
199
+
200
+ &.PageLayout--paneWidth-wide {
201
+ @each $breakpoint in map-keys($sidebar-wide-width) {
202
+ @include breakpoint($breakpoint) {
203
+ --Layout-pane-width: #{map-get($sidebar-wide-width, $breakpoint)};
204
+ }
205
+ }
206
+ }
207
+ }
208
+
209
+ // responsive behaviors on narrow viewports
210
+
211
+ @media (max-width: #{map-get($breakpoints, $Layout-responsive-variant-max-breakpoint) - 0.02px}) {
212
+
213
+ // variant: stackRegions
214
+
215
+ &.PageLayout--responsive-stackRegions {
216
+ --Layout-template-columns: 1fr;
217
+
218
+ // responsive-panePos: end (default)
219
+ --Layout-template-areas: 'content' 'pane';
220
+
221
+ // responsive-panePos: start
222
+ &.PageLayout--responsive-panePos-start {
223
+ --Layout-template-areas: 'pane' 'content';
224
+ }
225
+ }
226
+
227
+ // variant: separateRegions
228
+
229
+ &.PageLayout--responsive-separateRegions {
230
+ --Layout-template-columns: 1fr;
231
+ --Layout-template-areas: 'content';
232
+
233
+ &.PageLayout--responsive-primary-content {
234
+ --Layout-template-areas: 'content';
235
+
236
+ .PageLayout-pane {
237
+ display: none;
238
+ }
239
+ }
240
+
241
+ &.PageLayout--responsive-primary-pane {
242
+ --Layout-template-areas: 'pane';
243
+
244
+ .PageLayout-content {
245
+ display: none;
246
+ }
247
+ }
248
+ }
249
+
250
+ // region dividers on narrow viewports
251
+
252
+ .PageLayout-region--dividerNarrow-line-before {
253
+ position: relative;
254
+ // stylelint-disable-next-line primer/spacing
255
+ margin-top: var(--Layout-row-gap);
256
+
257
+ &::before {
258
+ @include Layout-line-divider;
259
+
260
+ top: calc(#{$border-width * -1} - var(--Layout-row-gap));
261
+ }
262
+ }
263
+
264
+ .PageLayout-region--dividerNarrow-line-after {
265
+ position: relative;
266
+ // stylelint-disable-next-line primer/spacing
267
+ margin-bottom: var(--Layout-row-gap);
268
+
269
+ &::after {
270
+ @include Layout-line-divider;
271
+
272
+ bottom: calc(#{$border-width * -1} - var(--Layout-row-gap));
273
+ }
274
+ }
275
+
276
+ .PageLayout-region--dividerNarrow-filled-before {
277
+ position: relative;
278
+ // stylelint-disable-next-line primer/spacing
279
+ margin-top: calc(#{$spacer-2} + var(--Layout-row-gap));
280
+
281
+ &::after {
282
+ @include Layout-filled-divider;
283
+
284
+ top: calc(#{$spacer-2 * -1} - var(--Layout-row-gap));
285
+ }
286
+ }
287
+
288
+ .PageLayout-region--dividerNarrow-filled-after {
289
+ position: relative;
290
+ // stylelint-disable-next-line primer/spacing
291
+ margin-bottom: calc(#{$spacer-2} + var(--Layout-row-gap));
292
+
293
+ &::before {
294
+ @include Layout-filled-divider;
295
+
296
+ bottom: calc(#{$spacer-2 * -1} - var(--Layout-row-gap));
297
+ }
298
+ }
299
+ }
300
+ }
301
+
302
+ // PageLayout-wrapper bundles header, footer, pane, and content regions
303
+ .PageLayout-wrapper {
304
+ display: grid;
305
+ grid: auto-flow / 1fr;
306
+ row-gap: var(--Layout-row-gap);
307
+ }
308
+
309
+ // PageLayout-columns wrap pane and content regions
310
+ // If layout has no pane, PageLayout-columns is not present
311
+ .PageLayout-columns {
312
+ display: grid;
313
+ column-gap: var(--Layout-column-gap);
314
+ row-gap: var(--Layout-row-gap);
315
+ grid-template-columns: var(--Layout-template-columns);
316
+ grid-template-rows: 1fr;
317
+ grid-template-areas: var(--Layout-template-areas);
318
+
319
+ .PageLayout-content {
320
+ // stylelint-disable-next-line primer/spacing
321
+ padding-right: var(--Layout-inner-spacing-max);
322
+ // stylelint-disable-next-line primer/spacing
323
+ padding-left: var(--Layout-inner-spacing-max);
324
+ grid-area: content;
325
+ }
326
+
327
+ .PageLayout-pane {
328
+ grid-area: pane;
329
+ }
330
+ }
331
+
332
+ // outer spacing
333
+
334
+ .PageLayout--outerSpacing-normal {
335
+ --Layout-outer-spacing-x: #{$spacer-3};
336
+ --Layout-outer-spacing-y: #{$spacer-3};
337
+
338
+ @include breakpoint(lg) {
339
+ --Layout-outer-spacing-x: #{$spacer-4};
340
+ --Layout-outer-spacing-y: #{$spacer-4};
341
+ }
342
+ }
343
+
344
+ .PageLayout--outerSpacing-condensed {
345
+ --Layout-outer-spacing-x: #{$spacer-3};
346
+ --Layout-outer-spacing-y: #{$spacer-3};
347
+ }
348
+
349
+ // inner spacing
350
+
351
+ .PageLayout--innerSpacing-normal {
352
+ --Layout-inner-spacing-min: #{$spacer-3};
353
+ --Layout-inner-spacing-max: #{$spacer-3};
354
+
355
+ @include breakpoint(lg) {
356
+ --Layout-inner-spacing-max: #{$spacer-4};
357
+ }
358
+ }
359
+
360
+ .PageLayout--innerSpacing-condensed {
361
+ --Layout-inner-spacing-min: #{$spacer-3};
362
+ --Layout-inner-spacing-max: #{$spacer-3};
363
+ }
364
+
365
+ // column gap
366
+
367
+ .PageLayout--columnGap-normal {
368
+ --Layout-column-gap: #{$spacer-3};
369
+
370
+ @include breakpoint(lg) {
371
+ --Layout-column-gap: #{$spacer-4};
372
+ }
373
+ }
374
+
375
+ .PageLayout--columnGap-condensed {
376
+ --Layout-column-gap: #{$spacer-3};
377
+ }
378
+
379
+ .PageLayout--columnGap-none {
380
+ // the `px` unit is mandatory for `calc()` execution. See https://stackoverflow.com/a/32518348
381
+ // stylelint-disable-next-line length-zero-no-unit
382
+ --Layout-column-gap: 0px;
383
+ }
384
+
385
+ // row gap
386
+
387
+ .PageLayout--rowGap-normal {
388
+ --Layout-row-gap: #{$spacer-3};
389
+
390
+ @include breakpoint(lg) {
391
+ --Layout-row-gap: #{$spacer-4};
392
+ }
393
+ }
394
+
395
+ .PageLayout--rowGap-none {
396
+ // the `px` unit is mandatory for `calc()` execution. See https://stackoverflow.com/a/32518348
397
+ // stylelint-disable length-zero-no-unit
398
+ --Layout-row-gap: 0px;
399
+ }
400
+
401
+ .PageLayout--rowGap-condensed {
402
+ --Layout-row-gap: #{$spacer-3};
403
+ }
404
+
405
+ // regions
406
+
407
+ .PageLayout-header,
408
+ .PageLayout-content,
409
+ .PageLayout-pane,
410
+ .PageLayout-footer {
411
+ // stylelint-disable-next-line primer/spacing
412
+ padding: var(--Layout-inner-spacing-min);
413
+ }