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,10 @@
1
+ // variables
2
+ @import './variables/typography.scss';
3
+ @import './variables/layout.scss';
4
+ @import './variables/misc.scss';
5
+
6
+ // mixins
7
+ @import './mixins/color-modes.scss';
8
+ @import './mixins/typography.scss';
9
+ @import './mixins/layout.scss';
10
+ @import './mixins/misc.scss';
@@ -0,0 +1,109 @@
1
+ @mixin color-mode-theme($theme-name, $include-root: false) {
2
+ @if $include-root {
3
+ :root,
4
+ [data-color-mode="light"][data-light-theme="#{$theme-name}"],
5
+ [data-color-mode="dark"][data-dark-theme="#{$theme-name}"] {
6
+ @content;
7
+
8
+ /*! */ // This is a fix for a cssstats bug see https://github.com/cssstats/cssstats/issues/331
9
+ }
10
+ }
11
+
12
+ @else {
13
+ [data-color-mode="light"][data-light-theme="#{$theme-name}"],
14
+ [data-color-mode="dark"][data-dark-theme="#{$theme-name}"] {
15
+ @content;
16
+ }
17
+ }
18
+
19
+ @media (prefers-color-scheme: light) {
20
+ [data-color-mode="auto"][data-light-theme="#{$theme-name}"] {
21
+ @content;
22
+ }
23
+ }
24
+
25
+ @media (prefers-color-scheme: dark) {
26
+ [data-color-mode="auto"][data-dark-theme="#{$theme-name}"] {
27
+ @content;
28
+ }
29
+ }
30
+ }
31
+
32
+ @mixin color-mode($mode) {
33
+ @if $mode == light {
34
+ :root,
35
+ [data-color-mode="light"][data-light-theme*="#{$mode}"],
36
+ [data-color-mode="dark"][data-dark-theme*="#{$mode}"] {
37
+ @content;
38
+ }
39
+ }
40
+
41
+ @else {
42
+ [data-color-mode="light"][data-light-theme*="#{$mode}"],
43
+ [data-color-mode="dark"][data-dark-theme*="#{$mode}"] {
44
+ @content;
45
+ }
46
+ }
47
+
48
+ @media (prefers-color-scheme: light) {
49
+ [data-color-mode="auto"][data-light-theme*="#{$mode}"] {
50
+ @content;
51
+ }
52
+ }
53
+
54
+ @media (prefers-color-scheme: dark) {
55
+ [data-color-mode="auto"][data-dark-theme*="#{$mode}"] {
56
+ @content;
57
+ }
58
+ }
59
+ }
60
+
61
+ // This mixin takes a map of color mode vars and splits them into dark and light mode
62
+ // The goal is to reduce the amount of dark/light mode selectors compiled.
63
+ //
64
+ // Example input for $color-map
65
+ //
66
+ // @include color-variables(("custom-css-variable-1": (
67
+ // light: var(--color-scale-gray-3),
68
+ // dark: var(--color-scale-gray-5)
69
+ // ),
70
+ // "custom-css-variable-2": (
71
+ // light: var(--color-scale-gray-2),
72
+ // dark: var(--color-scale-gray-6)
73
+ // ),
74
+ // "custom-css-variable-3": (
75
+ // light: var(--color-scale-gray-2),
76
+ // dark: var(--color-scale-gray-6)
77
+ // )
78
+ // ));
79
+ @mixin color-variables($color-map) {
80
+ // Create map to store incoming variables
81
+ $dark-colors: ();
82
+ $light-colors: ();
83
+
84
+ @each $name, $value in $color-map {
85
+ @each $type, $color in $value {
86
+ @if $type == dark {
87
+ $dark-colors: append($dark-colors, (--color-#{$name}, #{$color}));
88
+ }
89
+
90
+ @else {
91
+ $light-colors: append($light-colors, (--color-#{$name}, #{$color}));
92
+ }
93
+ }
94
+ }
95
+
96
+ $mode-colors: (
97
+ dark: $dark-colors,
98
+ light: $light-colors
99
+ );
100
+
101
+ // Loop through sorted list
102
+ @each $mode, $variables in $mode-colors {
103
+ @include color-mode($mode) {
104
+ @each $prop, $val in $variables {
105
+ #{$prop}: $val;
106
+ }
107
+ }
108
+ }
109
+ }
@@ -0,0 +1,58 @@
1
+ // Responsive media queries
2
+
3
+ @mixin breakpoint($breakpoint) {
4
+ @if $breakpoint == '' {
5
+ @content;
6
+ }
7
+
8
+ @else {
9
+ // Retrieves the value from the key
10
+ $value: map-get($breakpoints, $breakpoint);
11
+
12
+ // If the key exists in the map
13
+ @if $value != null {
14
+ // Prints a media query based on the value
15
+ @media (min-width: $value) {
16
+ @content;
17
+ }
18
+ }
19
+
20
+ // If the key doesn't exist in the map
21
+ @else {
22
+ @warn 'Unfortunately, no value could be retrieved from `#{$breakpoint}`. '
23
+ + 'Please make sure it is defined in `$breakpoints` map.';
24
+ }
25
+ }
26
+ }
27
+
28
+ // Retina media query
29
+
30
+ @mixin retina-media-query {
31
+ @media
32
+ only screen and (-webkit-min-device-pixel-ratio: 2),
33
+ only screen and (min--moz-device-pixel-ratio: 2),
34
+ only screen and (-moz-min-device-pixel-ratio: 2),
35
+ only screen and (-o-min-device-pixel-ratio: 2/1),
36
+ only screen and (min-device-pixel-ratio: 2),
37
+ only screen and (min-resolution: 192dpi),
38
+ only screen and (min-resolution: 2dppx) {
39
+ @content;
40
+ }
41
+ }
42
+
43
+ // Clearfix
44
+ //
45
+ // Clears floats via mixin.
46
+
47
+ @mixin clearfix {
48
+ &::before {
49
+ display: table;
50
+ content: '';
51
+ }
52
+
53
+ &::after {
54
+ display: table;
55
+ clear: both;
56
+ content: '';
57
+ }
58
+ }
@@ -0,0 +1,73 @@
1
+ // Generate a two-color caret for any element.
2
+ @mixin double-caret($background: var(--color-canvas-default), $border: var(--color-border-default)) {
3
+ &::after,
4
+ &::before {
5
+ position: absolute;
6
+ top: 11px;
7
+ right: 100%;
8
+ left: -8px;
9
+ display: block;
10
+ width: 8px;
11
+ height: 16px;
12
+ pointer-events: none;
13
+ content: ' ';
14
+ clip-path: polygon(0 50%, 100% 0, 100% 100%);
15
+ }
16
+
17
+ &::after {
18
+ // stylelint-disable-next-line primer/spacing
19
+ margin-left: 2px;
20
+ background-color: var(--color-canvas-default);
21
+ background-image: linear-gradient($background, $background);
22
+ }
23
+
24
+ &::before {
25
+ background-color: $border;
26
+ }
27
+ }
28
+
29
+ // global focus styles
30
+
31
+ // inset box-shadow for form controls
32
+ @mixin focusBoxShadowInset($outlineWidth: 1px, $outlineColor: var(--color-accent-fg)) {
33
+ border-color: var(--color-accent-fg);
34
+ outline: none;
35
+ box-shadow: inset 0 0 0 $outlineWidth $outlineColor;
36
+ }
37
+
38
+ // box-shadow for :target styles (no inset)
39
+ // !important to override PCSS utilities
40
+ @mixin targetBoxShadow($outlineWidth: 2px, $outlineColor: var(--color-accent-fg)) {
41
+ outline: none !important;
42
+ box-shadow: 0 0 0 $outlineWidth $outlineColor !important;
43
+ }
44
+
45
+ // outline
46
+ @mixin focusOutline($outlineOffset: -2px, $outlineColor: var(--color-accent-fg)) {
47
+ outline: 2px solid $outlineColor;
48
+ outline-offset: $outlineOffset;
49
+ box-shadow: none;
50
+ }
51
+
52
+ // outline with fg box-shadow for buttons
53
+ @mixin focusOutlineOnEmphasis($outlineOffset: -2px, $outlineColor: var(--color-accent-fg)) {
54
+ outline: 2px solid $outlineColor;
55
+ outline-offset: $outlineOffset;
56
+ box-shadow: inset 0 0 0 3px var(--color-fg-on-emphasis);
57
+ }
58
+
59
+ // if min-width is undefined, return only min-height
60
+ @mixin minTouchTarget($min-height: 32px, $min-width: '') {
61
+ position: absolute;
62
+ top: 50%;
63
+ left: 50%;
64
+ width: 100%;
65
+ height: 100%;
66
+ min-height: $min-height;
67
+ content: '';
68
+ transform: translateX(-50%) translateY(-50%);
69
+
70
+ @if $min-width != '' {
71
+ min-width: $min-width;
72
+ }
73
+ }
@@ -0,0 +1,91 @@
1
+ // Text hiding for image based text replacement.
2
+ // Higher performance than -9999px because it only renders
3
+ // the size of the actual text, not a full 9999px box.
4
+ @mixin hide-text() {
5
+ overflow: hidden;
6
+ text-indent: 100%;
7
+ white-space: nowrap;
8
+ }
9
+
10
+ // Heading mixins for use within components
11
+ // These match heading utilities in utilities/typography
12
+ @mixin h1 {
13
+ font-size: var(--h1-size, $h1-size);
14
+ font-weight: $font-weight-bold;
15
+ }
16
+
17
+ @mixin h2 {
18
+ font-size: var(--h2-size, $h2-size);
19
+ font-weight: $font-weight-bold;
20
+ }
21
+
22
+ @mixin h3 {
23
+ font-size: var(--h3-size, $h3-size);
24
+ font-weight: $font-weight-bold;
25
+ }
26
+
27
+ @mixin h4 {
28
+ font-size: var(--h4-size, $h4-size);
29
+ font-weight: $font-weight-bold;
30
+ }
31
+
32
+ @mixin h5 {
33
+ font-size: var(--h5-size, $h5-size);
34
+ font-weight: $font-weight-bold;
35
+ }
36
+
37
+ @mixin h6 {
38
+ font-size: var(--h6-size, $h6-size);
39
+ font-weight: $font-weight-bold;
40
+ }
41
+
42
+ // Responsive heading mixins
43
+ // There are no responsive mixins for h4-h6 because they are small
44
+ // and don't need to be smaller on mobile.
45
+ @mixin f1-responsive {
46
+ font-size: var(--h1-size-mobile, $h1-size-mobile);
47
+
48
+ // 32px on desktop
49
+ @include breakpoint(md) {
50
+ font-size: var(--h1-size, $h1-size);
51
+ }
52
+ }
53
+
54
+ @mixin f2-responsive {
55
+ font-size: var(--h2-size-mobile, $h2-size-mobile);
56
+
57
+ // 24px on desktop
58
+ @include breakpoint(md) {
59
+ font-size: var(--h2-size, $h2-size);
60
+ }
61
+ }
62
+
63
+ @mixin f3-responsive {
64
+ font-size: var(--h3-size-mobile, $h3-size-mobile);
65
+
66
+ // 20px on desktop
67
+ @include breakpoint(md) {
68
+ font-size: var(--h3-size, $h3-size);
69
+ }
70
+ }
71
+
72
+ // These use the mixins from above for responsive heading sizes.
73
+ // The following mixins can be used where it's convenient or necessary to
74
+ // couple the responsive font-size with the font-weight.
75
+ @mixin h1-responsive {
76
+ @include f1-responsive;
77
+
78
+ font-weight: $font-weight-bold;
79
+ }
80
+
81
+ @mixin h2-responsive {
82
+ @include f2-responsive;
83
+
84
+ font-weight: $font-weight-bold;
85
+ }
86
+
87
+ @mixin h3-responsive {
88
+ @include f3-responsive;
89
+
90
+ font-weight: $font-weight-bold;
91
+ }
@@ -0,0 +1,230 @@
1
+ // Layout variables
2
+
3
+ // these are values for the display CSS property
4
+ $display-values: (
5
+ block,
6
+ flex,
7
+ inline,
8
+ inline-block,
9
+ inline-flex,
10
+ none,
11
+ table,
12
+ table-cell) !default;
13
+
14
+ // maps edges to respective corners for border-radius
15
+ $edges: (
16
+ top: (top-left, top-right),
17
+ right: (top-right, bottom-right),
18
+ bottom: (bottom-right, bottom-left),
19
+ left: (bottom-left, top-left)) !default;
20
+
21
+ // These are our margin and padding utility spacers. The default step size we
22
+ // use is 8px. This gives us a key of:
23
+ // 0 => 0px
24
+ // 1 => 4px
25
+ // 2 => 8px
26
+ // 3 => 16px
27
+ // 4 => 24px
28
+ // 5 => 32px
29
+ // 6 => 40px
30
+ $spacer: 8px !default;
31
+
32
+ // Our spacing scale
33
+ $spacer-0: 0 !default; // 0
34
+ $spacer-1: $spacer * 0.5 !default; // 4px
35
+ $spacer-2: $spacer !default; // 8px
36
+ $spacer-3: $spacer * 2 !default; // 16px
37
+ $spacer-4: $spacer * 3 !default; // 24px
38
+ $spacer-5: $spacer * 4 !default; // 32px
39
+ $spacer-6: $spacer * 5 !default; // 40px
40
+
41
+ // The list of spacer values
42
+ $spacers: (
43
+ $spacer-0,
44
+ $spacer-1,
45
+ $spacer-2,
46
+ $spacer-3,
47
+ $spacer-4,
48
+ $spacer-5,
49
+ $spacer-6,
50
+ ) !default;
51
+
52
+ // And the map of spacers, for easier looping:
53
+ // @each $scale, $length in $spacer-map { ... }
54
+ $spacer-map: (
55
+ 0: $spacer-0,
56
+ 1: $spacer-1,
57
+ 2: $spacer-2,
58
+ 3: $spacer-3,
59
+ 4: $spacer-4,
60
+ 5: $spacer-5,
61
+ 6: $spacer-6,
62
+ ) !default;
63
+
64
+ // Increases the core spacing scale first by 8px for $spacer-7, then by 16px
65
+ // increments from $spacer-8 to $spacer-12, i.e. after 40px, we have 48, 64,
66
+ // 80, 96, etc.
67
+ $spacer-7: $spacer * 6 !default; // 48px
68
+ $spacer-8: $spacer * 8 !default; // 64px
69
+ $spacer-9: $spacer * 10 !default; // 80px
70
+ $spacer-10: $spacer * 12 !default; // 96px
71
+ $spacer-11: $spacer * 14 !default; // 112px
72
+ $spacer-12: $spacer * 16 !default; // 128px
73
+
74
+ $spacers-large: (
75
+ 7: $spacer-7,
76
+ 8: $spacer-8,
77
+ 9: $spacer-9,
78
+ 10: $spacer-10,
79
+ 11: $spacer-11,
80
+ 12: $spacer-12,
81
+ ) !default;
82
+
83
+ $spacer-map-extended: map-merge(
84
+ (0: 0,
85
+ 1: $spacer-1,
86
+ 2: $spacer-2,
87
+ 3: $spacer-3,
88
+ 4: $spacer-4,
89
+ 5: $spacer-5,
90
+ 6: $spacer-6,
91
+ ),
92
+ $spacers-large,
93
+ ) !default;
94
+
95
+ // Em spacer variables
96
+ $em-spacer-1: 0.0625em !default; // 1/16
97
+ $em-spacer-2: 0.125em !default; // 1/8
98
+ $em-spacer-3: 0.25em !default; // 1/4
99
+ $em-spacer-4: 0.375em !default; // 3/8
100
+ $em-spacer-5: 0.5em !default; // 1/2
101
+ $em-spacer-6: 0.75em !default; // 3/4
102
+
103
+ // Size scale
104
+ // Used for buttons, inputs, labels, avatars etc.
105
+ $size: 16px !default;
106
+
107
+ $size-0: 0 !default;
108
+ $size-1: $size !default; // 16px
109
+ $size-2: $size-1 + 4px !default; // 20px
110
+ $size-3: $size-2 + 4px !default; // 24px
111
+ $size-4: $size-3 + 4px !default; // 28px
112
+ $size-5: $size-4 + 4px !default; // 32px
113
+ $size-6: $size-5 + 8px !default; // 40px
114
+ $size-7: $size-6 + 8px !default; // 48px
115
+ $size-8: $size-7 + 16px !default; // 64px
116
+
117
+ // Fixed-width container variables
118
+ $container-width: 980px !default;
119
+ $grid-gutter: 10px !default;
120
+
121
+ // Breakpoint widths
122
+ $width-xs: 0 !default;
123
+ // Small screen / phone
124
+ $width-sm: 544px !default;
125
+ // Medium screen / tablet
126
+ $width-md: 768px !default;
127
+ // Large screen / desktop (980 + (16 * 2)) <= container + gutters
128
+ $width-lg: 1012px !default;
129
+ // Extra large screen / wide desktop
130
+ $width-xl: 1280px !default;
131
+
132
+ // Responsive container widths
133
+ $container-sm: $width-sm !default;
134
+ $container-md: $width-md !default;
135
+ $container-lg: $width-lg !default;
136
+ $container-xl: $width-xl !default;
137
+
138
+ // Breakpoints in the form (name: length)
139
+ $breakpoints: (
140
+ sm: $width-sm,
141
+ md: $width-md,
142
+ lg: $width-lg,
143
+ xl: $width-xl) !default;
144
+
145
+ // Viewport ranges
146
+ // Soon to be provided by Primer Primitives directly
147
+ // https://github.com/primer/primitives/blob/main/tokens/functional/size/viewport.json
148
+ $viewport-narrow: 'max-width: #{$width-md - 0.02px}' !default;
149
+ $viewport-regular: 'min-width: #{$width-md}' !default;
150
+ $viewport-wide: 'min-width: 1400px' !default;
151
+
152
+ // This map in the form (breakpoint: variant) is used to iterate over
153
+ // breakpoints and create both responsive and non-responsive classes in one
154
+ // loop:
155
+ $responsive-variants: (
156
+ '': '',
157
+ sm: '-sm',
158
+ md: '-md',
159
+ lg: '-lg',
160
+ xl: '-xl',
161
+ ) !default;
162
+
163
+ // responsive utility position values
164
+ $responsive-positions: (
165
+ static,
166
+ relative,
167
+ absolute,
168
+ fixed,
169
+ sticky) !default;
170
+
171
+ $sidebar-width: (
172
+ sm: 220px,
173
+ md: 256px,
174
+ lg: 296px) !default;
175
+
176
+ $sidebar-narrow-width: (
177
+ md: 240px,
178
+ lg: 256px) !default;
179
+
180
+ $sidebar-wide-width: (
181
+ lg: 320px,
182
+ xl: 336px) !default;
183
+
184
+ $gutter: (
185
+ md: $spacer-3,
186
+ lg: $spacer-4,
187
+ xl: $spacer-5) !default;
188
+
189
+ $gutter-condensed: (
190
+ md: $spacer-3,
191
+ lg: $spacer-3,
192
+ xl: $spacer-4) !default;
193
+
194
+ $gutter-spacious: (
195
+ md: $spacer-4,
196
+ lg: $spacer-5,
197
+ xl: $spacer-6) !default;
198
+
199
+ // rem unit support
200
+
201
+ $spacer-map-rem: (
202
+ 0: 0,
203
+ 1: var(--base-size-4, 4px),
204
+ 2: var(--base-size-8, 8px),
205
+ 3: var(--base-size-16, 16px),
206
+ 4: var(--base-size-24, 24px),
207
+ 5: var(--base-size-32, 32px),
208
+ 6: var(--base-size-40, 40px),
209
+ ) !default;
210
+
211
+ $spacers-large-rem: (
212
+ 7: var(--base-size-48, 48px),
213
+ 8: var(--base-size-64, 64px),
214
+ 9: var(--base-size-80, 80px),
215
+ 10: var(--base-size-96, 96px),
216
+ 11: var(--base-size-112, 112px),
217
+ 12: var(--base-size-128, 128px),
218
+ ) !default;
219
+
220
+ $spacer-map-rem-extended: map-merge(
221
+ (0: 0,
222
+ 1: var(--base-size-4, 4px),
223
+ 2: var(--base-size-8, 8px),
224
+ 3: var(--base-size-16, 16px),
225
+ 4: var(--base-size-24, 24px),
226
+ 5: var(--base-size-32, 32px),
227
+ 6: var(--base-size-40, 40px),
228
+ ),
229
+ $spacers-large-rem,
230
+ ) !default;
@@ -0,0 +1,18 @@
1
+ // Miscellaneous variables
2
+
3
+ // Border
4
+ $border-width: 1px !default;
5
+ $border-style: solid !default;
6
+ $border: $border-width $border-style var(--color-border-default) !default;
7
+ $border-rem: var(--primer-borderWidth-thin, 1px) solid var(--color-border-default) !default;
8
+
9
+ // Border Radius
10
+ $border-radius-1: 4px !default;
11
+ $border-radius-2: 6px !default;
12
+ $border-radius-3: 8px !default;
13
+ $border-radius: $border-radius-2 !default;
14
+
15
+ // Tooltips
16
+ $tooltip-max-width: 250px !default;
17
+ $tooltip-delay: 0.4s !default;
18
+ $tooltip-duration: 0.1s !default;
@@ -0,0 +1,43 @@
1
+ // Typography variables
2
+
3
+ // Heading sizes - mobile
4
+ // h4-h6 remain the same size on both mobile & desktop
5
+ $h00-size-mobile: 40px !default;
6
+ $h0-size-mobile: 32px !default;
7
+ $h1-size-mobile: 26px !default;
8
+ $h2-size-mobile: 22px !default;
9
+ $h3-size-mobile: 18px !default;
10
+
11
+ // Heading sizes - desktop
12
+ $h00-size: 48px !default;
13
+ $h0-size: 40px !default;
14
+ $h1-size: 32px !default;
15
+ $h2-size: 24px !default;
16
+ $h3-size: 20px !default;
17
+ $h4-size: 16px !default;
18
+ $h5-size: 14px !default;
19
+ $h6-size: 12px !default;
20
+
21
+ $font-size-small: 12px !default;
22
+
23
+ // Font weights
24
+ $font-weight-bold: var(--base-text-weight-semibold, 600) !default;
25
+ $font-weight-semibold: var(--base-text-weight-medium, 500) !default;
26
+ $font-weight-normal: var(--base-text-weight-normal, 400) !default;
27
+ $font-weight-light: var(--base-text-weight-light, 300) !default;
28
+
29
+ // Line heights
30
+ $lh-condensed-ultra: 1 !default;
31
+ $lh-condensed: 1.25 !default;
32
+ $lh-default: 1.5 !default;
33
+
34
+ // Font stacks
35
+ $body-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji' !default;
36
+
37
+ // Monospace font stack
38
+ // Note: SFMono-Regular needs to come before SF Mono to fix an older version of the font in Chrome
39
+ $mono-font: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace !default;
40
+
41
+ // The base body size
42
+ $body-font-size: 14px !default;
43
+ $body-line-height: $lh-default !default;
@@ -0,0 +1 @@
1
+ @import './table-object.scss';
@@ -0,0 +1,23 @@
1
+ // Deprecated
2
+ // TODO: Replace TableObject with flexbox or a new Table component
3
+
4
+ // TableObject is a module for creating dynamically resizable elements that
5
+ // always sit on the same horizontal line (e.g., they never wrap). Using
6
+ // tables means it's cross browser friendly.
7
+
8
+ .TableObject {
9
+ display: table;
10
+ }
11
+
12
+ // Place this on every "cell"
13
+ .TableObject-item {
14
+ display: table-cell;
15
+ width: 1%;
16
+ white-space: nowrap;
17
+ vertical-align: middle;
18
+ }
19
+
20
+ // Place this on the largest or most important "cell"
21
+ .TableObject-item--primary {
22
+ width: 99%;
23
+ }
@@ -0,0 +1,2 @@
1
+ @import '../support/index.scss';
2
+ @import './timeline-item.scss';
@@ -0,0 +1 @@
1
+ @import '@primer/view-components/app/components/primer/timeline_item_component';
@@ -0,0 +1,2 @@
1
+ @import '../support/index.scss';
2
+ @import './toasts.scss';