jekyll-v4-theme-primer 0.11.0 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (263) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -3
  3. data/_layouts/default.html +4 -2
  4. data/_sass/@primer/css/autocomplete/suggester.scss +11 -11
  5. data/_sass/@primer/css/avatars/avatar-parent-child.scss +2 -2
  6. data/_sass/@primer/css/avatars/circle-badge.scss +3 -3
  7. data/_sass/@primer/css/base/base.scss +5 -5
  8. data/_sass/@primer/css/base/kbd.scss +5 -5
  9. data/_sass/@primer/css/base/normalize.scss +3 -2
  10. data/_sass/@primer/css/box/box-overlay.scss +3 -3
  11. data/_sass/@primer/css/branch-name/branch-name.scss +6 -6
  12. data/_sass/@primer/css/buttons/button.scss +63 -63
  13. data/_sass/@primer/css/buttons/misc.scss +26 -26
  14. data/_sass/@primer/css/color-modes/native.scss +4 -2
  15. data/_sass/@primer/css/core/index.scss +0 -1
  16. data/_sass/@primer/css/forms/form-control.scss +18 -18
  17. data/_sass/@primer/css/forms/form-group.scss +31 -30
  18. data/_sass/@primer/css/forms/form-select.scss +1 -1
  19. data/_sass/@primer/css/forms/index.scss +0 -1
  20. data/_sass/@primer/css/forms/input-group.scss +10 -0
  21. data/_sass/@primer/css/forms/radio-group.scss +6 -6
  22. data/_sass/@primer/css/header/header.scss +7 -7
  23. data/_sass/@primer/css/labels/index.scss +0 -1
  24. data/_sass/@primer/css/layout/app-frame.scss +13 -13
  25. data/_sass/@primer/css/layout/page-layout.scss +2 -6
  26. data/_sass/@primer/css/layout/stack.scss +7 -7
  27. data/_sass/@primer/css/markdown/blob-csv.scss +2 -2
  28. data/_sass/@primer/css/markdown/code.scss +3 -3
  29. data/_sass/@primer/css/markdown/footnotes.scss +3 -3
  30. data/_sass/@primer/css/markdown/headings.scss +4 -4
  31. data/_sass/@primer/css/markdown/images.scss +3 -3
  32. data/_sass/@primer/css/markdown/lists.scss +4 -4
  33. data/_sass/@primer/css/markdown/markdown-body.scss +4 -4
  34. data/_sass/@primer/css/markdown/tables.scss +4 -4
  35. data/_sass/@primer/css/marketing/buttons/button.scss +9 -10
  36. data/_sass/@primer/css/marketing/support/variables.scss +15 -0
  37. data/_sass/@primer/css/marketing/utilities/layout.scss +0 -1
  38. data/_sass/@primer/css/navigation/filter-list.scss +8 -8
  39. data/_sass/@primer/css/navigation/sidenav.scss +12 -12
  40. data/_sass/@primer/css/navigation/subnav.scss +9 -9
  41. data/_sass/@primer/css/pagination/pagination.scss +7 -7
  42. data/_sass/@primer/css/primitives/index.scss +9 -9
  43. data/_sass/@primer/css/select-menu/select-menu.scss +41 -41
  44. data/_sass/@primer/css/support/mixins/color-modes.scss +89 -1
  45. data/_sass/@primer/css/support/mixins/misc.scss +8 -8
  46. data/_sass/@primer/css/support/variables/misc.scss +2 -2
  47. data/_sass/@primer/css/support/variables/typography.scss +1 -1
  48. data/_sass/@primer/css/toasts/toasts.scss +17 -17
  49. data/_sass/@primer/css/tooltips/tooltips.scss +9 -62
  50. data/_sass/@primer/css/utilities/borders.scss +9 -9
  51. data/_sass/@primer/css/utilities/box-shadow.scss +8 -4
  52. data/_sass/@primer/css/utilities/colors.scss +59 -60
  53. data/_sass/@primer/css/utilities/details.scss +1 -1
  54. data/_sass/@primer/css/utilities/flexbox.scss +0 -1
  55. data/_sass/@primer/css/utilities/layout.scss +7 -5
  56. data/_sass/@primer/css/utilities/margin.scss +0 -2
  57. data/_sass/@primer/css/utilities/padding.scss +0 -1
  58. data/_sass/@primer/css/utilities/typography.scss +8 -8
  59. data/_sass/@primer/css/utilities/visibility-display.scss +10 -9
  60. data/_sass/@primer/primitives/dist/scss/base/size/size.scss +17 -0
  61. data/_sass/@primer/primitives/dist/scss/base/typography/typography.scss +4 -0
  62. data/_sass/@primer/primitives/dist/scss/colors/_dark.scss +29 -20
  63. data/_sass/@primer/primitives/dist/scss/colors/_dark_colorblind.scss +14 -5
  64. data/_sass/@primer/primitives/dist/scss/colors/_dark_dimmed.scss +14 -5
  65. data/_sass/@primer/primitives/dist/scss/colors/_dark_high_contrast.scss +12 -3
  66. data/_sass/@primer/primitives/dist/scss/colors/_dark_tritanopia.scss +14 -5
  67. data/_sass/@primer/primitives/dist/scss/colors/_light.scss +13 -4
  68. data/_sass/@primer/primitives/dist/scss/colors/_light_colorblind.scss +13 -4
  69. data/_sass/@primer/primitives/dist/scss/colors/_light_high_contrast.scss +13 -4
  70. data/_sass/@primer/primitives/dist/scss/colors/_light_tritanopia.scss +13 -4
  71. data/_sass/@primer/primitives/dist/scss/functional/motion/motion.scss +3 -0
  72. data/_sass/@primer/primitives/dist/scss/functional/size/border.scss +12 -0
  73. data/_sass/@primer/primitives/dist/scss/functional/size/breakpoints.scss +6 -0
  74. data/_sass/@primer/primitives/dist/scss/functional/size/size-coarse.scss +3 -0
  75. data/_sass/@primer/primitives/dist/scss/functional/size/size-fine.scss +3 -0
  76. data/_sass/@primer/primitives/dist/scss/functional/size/size.scss +72 -0
  77. data/_sass/@primer/primitives/dist/scss/functional/size/viewport.scss +6 -0
  78. data/_sass/@primer/primitives/dist/scss/functional/themes/dark-colorblind.scss +503 -0
  79. data/_sass/@primer/primitives/dist/scss/functional/themes/dark-dimmed.scss +503 -0
  80. data/_sass/@primer/primitives/dist/scss/functional/themes/dark-high-contrast.scss +503 -0
  81. data/_sass/@primer/primitives/dist/scss/functional/themes/dark-tritanopia.scss +503 -0
  82. data/_sass/@primer/primitives/dist/scss/functional/themes/dark.scss +503 -0
  83. data/_sass/@primer/primitives/dist/scss/functional/themes/light-colorblind.scss +503 -0
  84. data/_sass/@primer/primitives/dist/scss/functional/themes/light-high-contrast.scss +503 -0
  85. data/_sass/@primer/primitives/dist/scss/functional/themes/light-tritanopia.scss +503 -0
  86. data/_sass/@primer/primitives/dist/scss/functional/themes/light.scss +503 -0
  87. data/_sass/@primer/primitives/dist/scss/functional/typography/typography.scss +45 -0
  88. data/_sass/@primer/primitives/tokens-next-private/scss/base/size/size.scss +17 -21
  89. data/_sass/@primer/primitives/tokens-next-private/scss/base/typography/typography.scss +4 -8
  90. data/_sass/@primer/primitives/tokens-next-private/scss/functional/motion/motion.scss +3 -0
  91. data/_sass/@primer/primitives/tokens-next-private/scss/functional/size/border.scss +12 -16
  92. data/_sass/@primer/primitives/tokens-next-private/scss/functional/size/breakpoints.scss +6 -10
  93. data/_sass/@primer/primitives/tokens-next-private/scss/functional/size/size-coarse.scss +3 -7
  94. data/_sass/@primer/primitives/tokens-next-private/scss/functional/size/size-fine.scss +3 -7
  95. data/_sass/@primer/primitives/tokens-next-private/scss/functional/size/size.scss +72 -51
  96. data/_sass/@primer/primitives/tokens-next-private/scss/functional/size/viewport.scss +6 -19
  97. data/_sass/@primer/primitives/tokens-next-private/scss/functional/themes/dark-colorblind.scss +503 -391
  98. data/_sass/@primer/primitives/tokens-next-private/scss/functional/themes/dark-dimmed.scss +503 -391
  99. data/_sass/@primer/primitives/tokens-next-private/scss/functional/themes/dark-high-contrast.scss +503 -391
  100. data/_sass/@primer/primitives/tokens-next-private/scss/functional/themes/dark-tritanopia.scss +503 -391
  101. data/_sass/@primer/primitives/tokens-next-private/scss/functional/themes/dark.scss +503 -391
  102. data/_sass/@primer/primitives/tokens-next-private/scss/functional/themes/light-colorblind.scss +503 -366
  103. data/_sass/@primer/primitives/tokens-next-private/scss/functional/themes/light-high-contrast.scss +503 -366
  104. data/_sass/@primer/primitives/tokens-next-private/scss/functional/themes/light-tritanopia.scss +503 -366
  105. data/_sass/@primer/primitives/tokens-next-private/scss/functional/themes/light.scss +503 -366
  106. data/_sass/@primer/primitives/tokens-next-private/scss/functional/typography/typography.scss +45 -49
  107. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/base/size/size.scss +2 -2
  108. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/base/typography/typography.scss +2 -2
  109. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/functional/size/border.scss +2 -2
  110. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/functional/size/breakpoints.scss +2 -2
  111. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/functional/size/size-coarse.scss +2 -2
  112. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/functional/size/size-fine.scss +2 -2
  113. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/functional/size/size.scss +2 -2
  114. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/functional/size/viewport.scss +2 -2
  115. data/_sass/@primer/primitives/tokens-v2-private/scss/tokens/functional/typography/typography.scss +2 -2
  116. data/_sass/@primer/view-components/README.md +1 -1
  117. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/alpha/action_bar_element.d.ts +17 -0
  118. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/alpha/action_menu/action_menu_element.d.ts +51 -0
  119. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/alpha/dropdown/menu.d.ts +1 -0
  120. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/alpha/dropdown.d.ts +1 -0
  121. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/alpha/image_crop.d.ts +1 -0
  122. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/alpha/modal_dialog.d.ts +18 -0
  123. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/alpha/segmented_control.d.ts +12 -0
  124. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/alpha/tab_container.d.ts +1 -0
  125. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/alpha/toggle_switch.d.ts +30 -0
  126. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/alpha/tool_tip.d.ts +27 -0
  127. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/alpha/x_banner.d.ts +13 -0
  128. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/anchored_position.d.ts +27 -0
  129. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/beta/auto_complete/auto_complete.d.ts +1 -0
  130. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/beta/clipboard_copy.d.ts +1 -0
  131. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/beta/nav_list.d.ts +17 -0
  132. data/_sass/@primer/view-components/app/{components/primer/alpha/nav_list.d.ts → assets/javascripts/app/components/primer/beta/nav_list_group_element.d.ts} +3 -9
  133. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/dialog_helper.d.ts +15 -0
  134. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/focus_group.d.ts +19 -0
  135. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/primer.d.ts +23 -0
  136. data/_sass/@primer/view-components/app/assets/javascripts/app/components/primer/scrollable_region.d.ts +13 -0
  137. data/_sass/@primer/view-components/app/assets/javascripts/lib/primer/forms/primer_multi_input.d.ts +10 -0
  138. data/_sass/@primer/view-components/app/assets/javascripts/lib/primer/forms/primer_text_field.d.ts +1 -0
  139. data/_sass/@primer/view-components/app/assets/javascripts/lib/primer/forms/toggle_switch_input.d.ts +5 -0
  140. data/_sass/@primer/view-components/app/assets/javascripts/primer_view_components.js +1 -1
  141. data/_sass/@primer/view-components/app/assets/javascripts/primer_view_components.js.map +1 -1
  142. data/_sass/@primer/view-components/app/assets/styles/primer_view_components.css +1 -3
  143. data/_sass/@primer/view-components/app/assets/styles/primer_view_components.css.map +1 -1
  144. data/_sass/@primer/view-components/app/components/primer/alpha/action_bar.css +1 -0
  145. data/_sass/@primer/view-components/app/components/primer/alpha/action_bar.css.json +14 -0
  146. data/_sass/@primer/view-components/app/components/primer/alpha/action_bar_element.d.ts +17 -0
  147. data/_sass/@primer/view-components/app/components/primer/alpha/action_bar_element.js +180 -0
  148. data/_sass/@primer/view-components/app/components/primer/alpha/action_list.css +1 -1
  149. data/_sass/@primer/view-components/app/components/primer/alpha/action_list.css.json +136 -1
  150. data/_sass/@primer/view-components/app/components/primer/alpha/action_menu/action_menu_element.d.ts +51 -0
  151. data/_sass/@primer/view-components/app/components/primer/alpha/action_menu/action_menu_element.js +470 -0
  152. data/_sass/@primer/view-components/app/components/primer/alpha/auto_complete.css +1 -1
  153. data/_sass/@primer/view-components/app/components/primer/alpha/auto_complete.css.json +23 -1
  154. data/_sass/@primer/view-components/app/components/primer/alpha/banner.css +1 -1
  155. data/_sass/@primer/view-components/app/components/primer/alpha/banner.css.json +24 -1
  156. data/_sass/@primer/view-components/app/components/primer/alpha/button_marketing.css +1 -1
  157. data/_sass/@primer/view-components/app/components/primer/alpha/button_marketing.css.json +33 -1
  158. data/_sass/@primer/view-components/app/components/primer/alpha/dialog.css +1 -1
  159. data/_sass/@primer/view-components/app/components/primer/alpha/dialog.css.json +65 -1
  160. data/_sass/@primer/view-components/app/components/primer/alpha/dropdown.css +1 -1
  161. data/_sass/@primer/view-components/app/components/primer/alpha/dropdown.css.json +40 -1
  162. data/_sass/@primer/view-components/app/components/primer/alpha/layout.css +1 -1
  163. data/_sass/@primer/view-components/app/components/primer/alpha/layout.css.json +80 -1
  164. data/_sass/@primer/view-components/app/components/primer/alpha/menu.css +1 -1
  165. data/_sass/@primer/view-components/app/components/primer/alpha/menu.css.json +28 -1
  166. data/_sass/@primer/view-components/app/components/primer/alpha/modal_dialog.js +50 -27
  167. data/_sass/@primer/view-components/app/components/primer/alpha/overlay.css +1 -0
  168. data/_sass/@primer/view-components/app/components/primer/alpha/overlay.css.json +11 -0
  169. data/_sass/@primer/view-components/app/components/primer/alpha/segmented_control.css +1 -1
  170. data/_sass/@primer/view-components/app/components/primer/alpha/segmented_control.css.json +29 -1
  171. data/_sass/@primer/view-components/app/components/primer/alpha/segmented_control.js +4 -4
  172. data/_sass/@primer/view-components/app/components/primer/alpha/tab_nav.css +1 -1
  173. data/_sass/@primer/view-components/app/components/primer/alpha/tab_nav.css.json +24 -1
  174. data/_sass/@primer/view-components/app/components/primer/alpha/text_field.css +1 -3
  175. data/_sass/@primer/view-components/app/components/primer/alpha/text_field.css.json +144 -1
  176. data/_sass/@primer/view-components/app/components/primer/alpha/toggle_switch.css +1 -1
  177. data/_sass/@primer/view-components/app/components/primer/alpha/toggle_switch.css.json +40 -1
  178. data/_sass/@primer/view-components/app/components/primer/alpha/toggle_switch.d.ts +2 -1
  179. data/_sass/@primer/view-components/app/components/primer/alpha/toggle_switch.js +54 -45
  180. data/_sass/@primer/view-components/app/components/primer/alpha/tool_tip.d.ts +4 -2
  181. data/_sass/@primer/view-components/app/components/primer/alpha/tool_tip.js +159 -72
  182. data/_sass/@primer/view-components/app/components/primer/alpha/underline_nav.css +1 -1
  183. data/_sass/@primer/view-components/app/components/primer/alpha/underline_nav.css.json +28 -1
  184. data/_sass/@primer/view-components/app/components/primer/alpha/x_banner.d.ts +3 -1
  185. data/_sass/@primer/view-components/app/components/primer/alpha/x_banner.js +25 -10
  186. data/_sass/@primer/view-components/app/components/primer/anchored_position.d.ts +27 -0
  187. data/_sass/@primer/view-components/app/components/primer/anchored_position.js +157 -0
  188. data/_sass/@primer/view-components/app/components/primer/beta/avatar.css +1 -1
  189. data/_sass/@primer/view-components/app/components/primer/beta/avatar.css.json +17 -1
  190. data/_sass/@primer/view-components/app/components/primer/beta/avatar_stack.css +1 -1
  191. data/_sass/@primer/view-components/app/components/primer/beta/avatar_stack.css.json +28 -1
  192. data/_sass/@primer/view-components/app/components/primer/beta/blankslate.css +1 -1
  193. data/_sass/@primer/view-components/app/components/primer/beta/blankslate.css.json +23 -1
  194. data/_sass/@primer/view-components/app/components/primer/beta/border_box.css +1 -1
  195. data/_sass/@primer/view-components/app/components/primer/beta/border_box.css.json +54 -1
  196. data/_sass/@primer/view-components/app/components/primer/beta/breadcrumbs.css +1 -1
  197. data/_sass/@primer/view-components/app/components/primer/beta/breadcrumbs.css.json +11 -1
  198. data/_sass/@primer/view-components/app/components/primer/beta/button.css +1 -1
  199. data/_sass/@primer/view-components/app/components/primer/beta/button.css.json +77 -1
  200. data/_sass/@primer/view-components/app/components/primer/beta/button_group.css +1 -0
  201. data/_sass/@primer/view-components/app/components/primer/beta/button_group.css.json +12 -0
  202. data/_sass/@primer/view-components/app/components/primer/beta/counter.css +1 -1
  203. data/_sass/@primer/view-components/app/components/primer/beta/counter.css.json +10 -1
  204. data/_sass/@primer/view-components/app/components/primer/beta/flash.css +1 -1
  205. data/_sass/@primer/view-components/app/components/primer/beta/flash.css.json +27 -1
  206. data/_sass/@primer/view-components/app/components/primer/beta/label.css +1 -1
  207. data/_sass/@primer/view-components/app/components/primer/beta/label.css.json +25 -1
  208. data/_sass/@primer/view-components/app/components/primer/beta/link.css +1 -1
  209. data/_sass/@primer/view-components/app/components/primer/beta/link.css.json +20 -1
  210. data/_sass/@primer/view-components/app/components/primer/beta/nav_list.d.ts +17 -0
  211. data/_sass/@primer/view-components/app/components/primer/beta/nav_list.js +170 -0
  212. data/_sass/@primer/view-components/app/components/primer/beta/nav_list_group_element.d.ts +19 -0
  213. data/_sass/@primer/view-components/app/components/primer/{alpha/nav_list.js → beta/nav_list_group_element.js} +30 -53
  214. data/_sass/@primer/view-components/app/components/primer/beta/popover.css +1 -1
  215. data/_sass/@primer/view-components/app/components/primer/beta/popover.css.json +39 -1
  216. data/_sass/@primer/view-components/app/components/primer/beta/progress_bar.css +1 -1
  217. data/_sass/@primer/view-components/app/components/primer/beta/progress_bar.css.json +10 -1
  218. data/_sass/@primer/view-components/app/components/primer/beta/state.css +1 -1
  219. data/_sass/@primer/view-components/app/components/primer/beta/state.css.json +13 -1
  220. data/_sass/@primer/view-components/app/components/primer/beta/subhead.css +1 -1
  221. data/_sass/@primer/view-components/app/components/primer/beta/subhead.css.json +14 -1
  222. data/_sass/@primer/view-components/app/components/primer/beta/timeline_item.css +1 -1
  223. data/_sass/@primer/view-components/app/components/primer/beta/timeline_item.css.json +16 -1
  224. data/_sass/@primer/view-components/app/components/primer/beta/truncate.css +1 -1
  225. data/_sass/@primer/view-components/app/components/primer/beta/truncate.css.json +12 -1
  226. data/_sass/@primer/view-components/app/components/primer/dialog_helper.d.ts +15 -0
  227. data/_sass/@primer/view-components/app/components/primer/dialog_helper.js +117 -0
  228. data/_sass/@primer/view-components/app/components/primer/focus_group.d.ts +19 -0
  229. data/_sass/@primer/view-components/app/components/primer/focus_group.js +163 -0
  230. data/_sass/@primer/view-components/app/components/primer/primer.d.ts +10 -3
  231. data/_sass/@primer/view-components/app/components/primer/primer.js +10 -3
  232. data/_sass/@primer/view-components/app/components/primer/scrollable_region.d.ts +13 -0
  233. data/_sass/@primer/view-components/app/components/primer/scrollable_region.js +52 -0
  234. data/_sass/@primer/view-components/app/components/primer/truncate.css.json +13 -1
  235. data/_sass/@primer/view-components/lib/primer/forms/primer_multi_input.js +2 -3
  236. data/_sass/@primer/view-components/lib/primer/forms/primer_text_field.js +55 -11
  237. data/_sass/@primer/view-components/lib/primer/forms/toggle_switch_input.js +7 -2
  238. data/_sass/@primer/view-components/package.json +34 -33
  239. data/_sass/@primer/view-components/static/arguments.json +2786 -454
  240. data/_sass/@primer/view-components/static/audited_at.json +39 -24
  241. data/_sass/@primer/view-components/static/classes.json +612 -0
  242. data/_sass/@primer/view-components/static/constants.json +318 -77
  243. data/_sass/@primer/view-components/static/info_arch.json +15698 -0
  244. data/_sass/@primer/view-components/static/previews.json +6814 -0
  245. data/_sass/@primer/view-components/static/statuses.json +41 -26
  246. data/_sass/{jekyll-theme-primer.scss → jekyll-v4-theme-primer.scss} +14 -3
  247. data/_sass/primer.scss +1 -1
  248. data/assets/css/style.scss +1 -1
  249. data/assets/js/github-clipboard-copy-element.js +154 -0
  250. data/assets/js/primer-clipboard-copy.js +106 -0
  251. metadata +77 -18
  252. data/_sass/@primer/css/actionlist/action-list-item-divider.scss +0 -48
  253. data/_sass/@primer/css/actionlist/action-list-item.scss +0 -593
  254. data/_sass/@primer/css/actionlist/action-list-tree.scss +0 -118
  255. data/_sass/@primer/css/actionlist/action-list-variables.scss +0 -8
  256. data/_sass/@primer/css/actionlist/action-list.scss +0 -67
  257. data/_sass/@primer/css/actionlist/index.scss +0 -6
  258. data/_sass/@primer/css/forms/form-validation.scss +0 -265
  259. data/_sass/@primer/css/labels/diffstat.scss +0 -37
  260. data/_sass/@primer/view-components/app/components/primer/time_ago_component.js +0 -1
  261. /data/_sass/@primer/view-components/app/{components/primer/local_time.d.ts → assets/javascripts/app/components/primer/beta/relative_time.d.ts} +0 -0
  262. /data/_sass/@primer/view-components/app/components/primer/{local_time.js → beta/relative_time.d.ts} +0 -0
  263. /data/_sass/@primer/view-components/app/components/primer/{time_ago_component.d.ts → beta/relative_time.js} +0 -0
@@ -9,11 +9,32 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
10
10
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
11
  };
12
- var _ToolTipElement_instances, _ToolTipElement_abortController, _ToolTipElement_align, _ToolTipElement_side, _ToolTipElement_allowUpdatePosition, _ToolTipElement_update, _ToolTipElement_updateControlReference, _ToolTipElement_updateDirection, _ToolTipElement_updatePosition;
12
+ var _ToolTipElement_instances, _ToolTipElement_abortController, _ToolTipElement_align, _ToolTipElement_side, _ToolTipElement_allowUpdatePosition, _ToolTipElement_showReason, _ToolTipElement_update, _ToolTipElement_updateControlReference, _ToolTipElement_updateDirection, _ToolTipElement_updatePosition;
13
+ import '@oddbird/popover-polyfill';
13
14
  import { getAnchoredPosition } from '@primer/behaviors';
14
- const TOOLTIP_OPEN_CLASS = 'tooltip-open';
15
+ const isPopoverOpen = (() => {
16
+ let selector;
17
+ function setSelector(el) {
18
+ try {
19
+ selector = ':popover-open';
20
+ return el.matches(selector);
21
+ }
22
+ catch {
23
+ try {
24
+ selector = ':open';
25
+ return el.matches(':open');
26
+ }
27
+ catch {
28
+ selector = '.\\:popover-open';
29
+ return el.matches('.\\:popover-open');
30
+ }
31
+ }
32
+ }
33
+ return (el) => (selector ? el.matches(selector) : setSelector(el));
34
+ })();
15
35
  const TOOLTIP_ARROW_EDGE_OFFSET = 6;
16
36
  const TOOLTIP_SR_ONLY_CLASS = 'sr-only';
37
+ const TOOLTIP_OFFSET = 10;
17
38
  const DIRECTION_CLASSES = [
18
39
  'tooltip-n',
19
40
  'tooltip-s',
@@ -22,8 +43,34 @@ const DIRECTION_CLASSES = [
22
43
  'tooltip-ne',
23
44
  'tooltip-se',
24
45
  'tooltip-nw',
25
- 'tooltip-sw'
46
+ 'tooltip-sw',
26
47
  ];
48
+ function closeOpenTooltips(except) {
49
+ for (const tooltip of openTooltips) {
50
+ if (tooltip === except)
51
+ continue;
52
+ if (isPopoverOpen(tooltip)) {
53
+ tooltip.hidePopover();
54
+ }
55
+ else {
56
+ openTooltips.delete(tooltip);
57
+ }
58
+ }
59
+ }
60
+ function focusOutListener() {
61
+ closeOpenTooltips();
62
+ }
63
+ function focusInListener(event) {
64
+ setTimeout(() => {
65
+ for (const tooltip of openTooltips) {
66
+ if (isPopoverOpen(tooltip) && tooltip.showReason === 'focus' && tooltip.control !== event.target) {
67
+ tooltip.hidePopover();
68
+ }
69
+ }
70
+ }, 0);
71
+ }
72
+ const tooltips = new Set();
73
+ const openTooltips = new Set();
27
74
  class ToolTipElement extends HTMLElement {
28
75
  constructor() {
29
76
  super(...arguments);
@@ -32,16 +79,14 @@ class ToolTipElement extends HTMLElement {
32
79
  _ToolTipElement_align.set(this, 'center');
33
80
  _ToolTipElement_side.set(this, 'outside-bottom');
34
81
  _ToolTipElement_allowUpdatePosition.set(this, false);
82
+ _ToolTipElement_showReason.set(this, 'mouse');
35
83
  }
36
84
  styles() {
37
85
  return `
38
86
  :host {
39
- position: absolute;
40
- z-index: 1000000;
41
- padding: .5em .75em;
42
- font: normal normal 11px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
43
- -webkit-font-smoothing: subpixel-antialiased;
44
- color: var(--color-fg-on-emphasis);
87
+ padding: var(--overlay-paddingBlock-condensed) var(--overlay-padding-condensed) !important;
88
+ font: var(--text-body-shorthand-small);
89
+ color: var(--fgColor-onEmphasis, var(--color-fg-on-emphasis)) !important;
45
90
  text-align: center;
46
91
  text-decoration: none;
47
92
  text-shadow: none;
@@ -49,30 +94,34 @@ class ToolTipElement extends HTMLElement {
49
94
  letter-spacing: normal;
50
95
  word-wrap: break-word;
51
96
  white-space: pre;
52
- background: var(--color-neutral-emphasis-plus);
53
- border-radius: 6px;
97
+ background: var(--bgColor-emphasis, var(--color-neutral-emphasis-plus)) !important;
98
+ border-radius: var(--borderRadius-medium);
99
+ border: 0 !important;
54
100
  opacity: 0;
55
- max-width: 250px;
101
+ max-width: var(--overlay-width-small);
56
102
  word-wrap: break-word;
57
103
  white-space: normal;
58
- width: max-content;
104
+ width: max-content !important;
105
+ inset: var(--tool-tip-position-top, 0) auto auto var(--tool-tip-position-left, 0) !important;
106
+ overflow: visible !important;
107
+ text-wrap: balance;
59
108
  }
60
109
 
61
110
  :host:before{
62
111
  position: absolute;
63
112
  z-index: 1000001;
64
- color: var(--color-neutral-emphasis-plus);
113
+ color: var(--bgColor-emphasis, var(--color-neutral-emphasis-plus));
65
114
  content: "";
66
115
  border: 6px solid transparent;
67
- opacity: 0
116
+ opacity: 0;
68
117
  }
69
118
 
70
119
  @keyframes tooltip-appear {
71
120
  from {
72
- opacity: 0
121
+ opacity: 0;
73
122
  }
74
123
  to {
75
- opacity: 1
124
+ opacity: 1;
76
125
  }
77
126
  }
78
127
 
@@ -82,16 +131,24 @@ class ToolTipElement extends HTMLElement {
82
131
  right: 0;
83
132
  left: 0;
84
133
  height: 12px;
85
- content: ""
134
+ content: "";
135
+ }
136
+
137
+ :host(:popover-open),
138
+ :host(:popover-open):before {
139
+ animation-name: tooltip-appear;
140
+ animation-duration: .1s;
141
+ animation-fill-mode: forwards;
142
+ animation-timing-function: ease-in;
86
143
  }
87
144
 
88
- :host(.${TOOLTIP_OPEN_CLASS}),
89
- :host(.${TOOLTIP_OPEN_CLASS}):before {
145
+ :host(.\\:popover-open),
146
+ :host(.\\:popover-open):before {
90
147
  animation-name: tooltip-appear;
91
148
  animation-duration: .1s;
92
149
  animation-fill-mode: forwards;
93
150
  animation-timing-function: ease-in;
94
- animation-delay: .4s
151
+ animation-delay: .4s;
95
152
  }
96
153
 
97
154
  :host(.tooltip-s):before,
@@ -99,62 +156,67 @@ class ToolTipElement extends HTMLElement {
99
156
  right: 50%;
100
157
  margin-right: -${TOOLTIP_ARROW_EDGE_OFFSET}px;
101
158
  }
102
-
103
159
  :host(.tooltip-s):before,
104
160
  :host(.tooltip-se):before,
105
161
  :host(.tooltip-sw):before {
106
162
  bottom: 100%;
107
- border-bottom-color: var(--color-neutral-emphasis-plus)
163
+ border-bottom-color: var(--bgColor-emphasis, var(--color-neutral-emphasis-plus));
108
164
  }
109
-
110
165
  :host(.tooltip-s):after,
111
166
  :host(.tooltip-se):after,
112
167
  :host(.tooltip-sw):after {
113
168
  bottom: 100%
114
169
  }
115
-
116
170
  :host(.tooltip-n):before,
117
171
  :host(.tooltip-ne):before,
118
172
  :host(.tooltip-nw):before {
119
173
  top: 100%;
120
- border-top-color: var(--color-neutral-emphasis-plus)
174
+ border-top-color: var(--bgColor-emphasis, var(--color-neutral-emphasis-plus));
121
175
  }
122
-
123
176
  :host(.tooltip-n):after,
124
177
  :host(.tooltip-ne):after,
125
178
  :host(.tooltip-nw):after {
126
- top: 100%
179
+ top: 100%;
127
180
  }
128
-
129
181
  :host(.tooltip-se):before,
130
182
  :host(.tooltip-ne):before {
131
183
  left: 0;
132
184
  margin-left: ${TOOLTIP_ARROW_EDGE_OFFSET}px;
133
185
  }
134
-
135
186
  :host(.tooltip-sw):before,
136
187
  :host(.tooltip-nw):before {
137
188
  right: 0;
138
189
  margin-right: ${TOOLTIP_ARROW_EDGE_OFFSET}px;
139
190
  }
140
-
141
191
  :host(.tooltip-w):before {
142
192
  top: 50%;
143
193
  bottom: 50%;
144
194
  left: 100%;
145
195
  margin-top: -6px;
146
- border-left-color: var(--color-neutral-emphasis-plus)
196
+ border-left-color: var(--bgColor-emphasis, var(--color-neutral-emphasis-plus));
147
197
  }
148
-
149
198
  :host(.tooltip-e):before {
150
199
  top: 50%;
151
200
  right: 100%;
152
201
  bottom: 50%;
153
202
  margin-top: -6px;
154
- border-right-color: var(--color-neutral-emphasis-plus)
203
+ border-right-color: var(--bgColor-emphasis, var(--color-neutral-emphasis-plus));
204
+ }
205
+
206
+ @media (forced-colors: active) {
207
+ :host {
208
+ outline: solid 1px transparent;
209
+ }
210
+
211
+ :host:before {
212
+ display: none;
213
+ }
155
214
  }
156
215
  `;
157
216
  }
217
+ get showReason() {
218
+ return __classPrivateFieldGet(this, _ToolTipElement_showReason, "f");
219
+ }
158
220
  get htmlFor() {
159
221
  return this.getAttribute('for') || '';
160
222
  }
@@ -177,16 +239,21 @@ class ToolTipElement extends HTMLElement {
177
239
  get control() {
178
240
  return this.ownerDocument.getElementById(this.htmlFor);
179
241
  }
242
+ /* @deprecated */
180
243
  set hiddenFromView(value) {
181
- this.classList.toggle(TOOLTIP_SR_ONLY_CLASS, value);
182
- if (this.isConnected)
183
- __classPrivateFieldGet(this, _ToolTipElement_instances, "m", _ToolTipElement_update).call(this);
244
+ if (value && isPopoverOpen(this)) {
245
+ this.hidePopover();
246
+ }
247
+ else if (!value && !isPopoverOpen(this)) {
248
+ this.showPopover();
249
+ }
184
250
  }
251
+ /* @deprecated */
185
252
  get hiddenFromView() {
186
- return this.classList.contains(TOOLTIP_SR_ONLY_CLASS);
253
+ return !isPopoverOpen(this);
187
254
  }
188
255
  connectedCallback() {
189
- var _a;
256
+ tooltips.add(this);
190
257
  __classPrivateFieldGet(this, _ToolTipElement_instances, "m", _ToolTipElement_updateControlReference).call(this);
191
258
  __classPrivateFieldGet(this, _ToolTipElement_instances, "m", _ToolTipElement_updateDirection).call(this);
192
259
  if (!this.shadowRoot) {
@@ -195,44 +262,66 @@ class ToolTipElement extends HTMLElement {
195
262
  style.textContent = this.styles();
196
263
  shadow.appendChild(document.createElement('slot'));
197
264
  }
198
- this.hiddenFromView = true;
265
+ __classPrivateFieldGet(this, _ToolTipElement_instances, "m", _ToolTipElement_update).call(this, false);
199
266
  __classPrivateFieldSet(this, _ToolTipElement_allowUpdatePosition, true, "f");
200
267
  if (!this.control)
201
268
  return;
202
269
  this.setAttribute('role', 'tooltip');
203
- (_a = __classPrivateFieldGet(this, _ToolTipElement_abortController, "f")) === null || _a === void 0 ? void 0 : _a.abort();
270
+ __classPrivateFieldGet(this, _ToolTipElement_abortController, "f")?.abort();
204
271
  __classPrivateFieldSet(this, _ToolTipElement_abortController, new AbortController(), "f");
205
272
  const { signal } = __classPrivateFieldGet(this, _ToolTipElement_abortController, "f");
206
273
  this.addEventListener('mouseleave', this, { signal });
274
+ this.addEventListener('toggle', this, { signal });
207
275
  this.control.addEventListener('mouseenter', this, { signal });
208
276
  this.control.addEventListener('mouseleave', this, { signal });
209
277
  this.control.addEventListener('focus', this, { signal });
210
- this.control.addEventListener('blur', this, { signal });
211
- this.ownerDocument.addEventListener('keydown', this, { signal });
212
- __classPrivateFieldGet(this, _ToolTipElement_instances, "m", _ToolTipElement_update).call(this);
278
+ this.control.addEventListener('mousedown', this, { signal });
279
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
280
+ // @ts-ignore popoverTargetElement is not in the type definition
281
+ this.control.popoverTargetElement?.addEventListener('beforetoggle', this, {
282
+ signal,
283
+ });
284
+ this.ownerDocument.addEventListener('focusout', focusOutListener);
285
+ this.ownerDocument.addEventListener('focusin', focusInListener);
286
+ this.ownerDocument.addEventListener('keydown', this, { signal, capture: true });
213
287
  }
214
288
  disconnectedCallback() {
215
- var _a;
216
- (_a = __classPrivateFieldGet(this, _ToolTipElement_abortController, "f")) === null || _a === void 0 ? void 0 : _a.abort();
289
+ tooltips.delete(this);
290
+ openTooltips.delete(this);
291
+ __classPrivateFieldGet(this, _ToolTipElement_abortController, "f")?.abort();
217
292
  }
218
- handleEvent(event) {
293
+ async handleEvent(event) {
219
294
  if (!this.control)
220
295
  return;
296
+ const showing = isPopoverOpen(this);
221
297
  // Ensures that tooltip stays open when hovering between tooltip and element
222
298
  // WCAG Success Criterion 1.4.13 Hoverable
223
- if ((event.type === 'mouseenter' || event.type === 'focus') && this.hiddenFromView) {
224
- this.hiddenFromView = false;
299
+ const shouldShow = event.type === 'mouseenter' ||
300
+ // Only show tooltip on focus if running in headless browser (for tests) or if focus ring
301
+ // is visible (i.e. if user is using keyboard navigation)
302
+ (event.type === 'focus' && (navigator.webdriver || this.control.matches(':focus-visible')));
303
+ const isMouseLeaveFromButton = event.type === 'mouseleave' &&
304
+ event.relatedTarget !== this.control &&
305
+ event.relatedTarget !== this;
306
+ const isEscapeKeydown = event.type === 'keydown' && event.key === 'Escape';
307
+ const isMouseDownOnButton = event.type === 'mousedown' && event.currentTarget === this.control;
308
+ const isOpeningOtherPopover = event.type === 'beforetoggle' && event.currentTarget !== this;
309
+ const shouldHide = isMouseLeaveFromButton || isEscapeKeydown || isMouseDownOnButton || isOpeningOtherPopover;
310
+ if (showing && isEscapeKeydown) {
311
+ /* eslint-disable-next-line no-restricted-syntax */
312
+ event.stopImmediatePropagation();
313
+ event.preventDefault();
225
314
  }
226
- else if (event.type === 'blur') {
227
- this.hiddenFromView = true;
315
+ await Promise.resolve();
316
+ if (!showing && shouldShow && !isPopoverOpen(this)) {
317
+ __classPrivateFieldSet(this, _ToolTipElement_showReason, event.type === 'mouseenter' ? 'mouse' : 'focus', "f");
318
+ this.showPopover();
228
319
  }
229
- else if (event.type === 'mouseleave' &&
230
- event.relatedTarget !== this.control &&
231
- event.relatedTarget !== this) {
232
- this.hiddenFromView = true;
320
+ else if (showing && shouldHide && isPopoverOpen(this)) {
321
+ this.hidePopover();
233
322
  }
234
- else if (event.type === 'keydown' && event.key === 'Escape' && !this.hiddenFromView) {
235
- this.hiddenFromView = true;
323
+ if (event.type === 'toggle') {
324
+ __classPrivateFieldGet(this, _ToolTipElement_instances, "m", _ToolTipElement_update).call(this, event.newState === 'open');
236
325
  }
237
326
  }
238
327
  attributeChangedCallback(name) {
@@ -246,17 +335,17 @@ class ToolTipElement extends HTMLElement {
246
335
  }
247
336
  }
248
337
  }
249
- _ToolTipElement_abortController = new WeakMap(), _ToolTipElement_align = new WeakMap(), _ToolTipElement_side = new WeakMap(), _ToolTipElement_allowUpdatePosition = new WeakMap(), _ToolTipElement_instances = new WeakSet(), _ToolTipElement_update = function _ToolTipElement_update() {
250
- if (this.hiddenFromView) {
251
- this.classList.remove(TOOLTIP_OPEN_CLASS, ...DIRECTION_CLASSES);
338
+ _ToolTipElement_abortController = new WeakMap(), _ToolTipElement_align = new WeakMap(), _ToolTipElement_side = new WeakMap(), _ToolTipElement_allowUpdatePosition = new WeakMap(), _ToolTipElement_showReason = new WeakMap(), _ToolTipElement_instances = new WeakSet(), _ToolTipElement_update = function _ToolTipElement_update(isOpen) {
339
+ if (isOpen) {
340
+ openTooltips.add(this);
341
+ this.classList.remove(TOOLTIP_SR_ONLY_CLASS);
342
+ closeOpenTooltips(this);
343
+ __classPrivateFieldGet(this, _ToolTipElement_instances, "m", _ToolTipElement_updatePosition).call(this);
252
344
  }
253
345
  else {
254
- this.classList.add(TOOLTIP_OPEN_CLASS);
255
- for (const tooltip of this.ownerDocument.querySelectorAll(this.tagName)) {
256
- if (tooltip !== this)
257
- tooltip.hiddenFromView = true;
258
- }
259
- __classPrivateFieldGet(this, _ToolTipElement_instances, "m", _ToolTipElement_updatePosition).call(this);
346
+ openTooltips.delete(this);
347
+ this.classList.remove(...DIRECTION_CLASSES);
348
+ this.classList.add(TOOLTIP_SR_ONLY_CLASS);
260
349
  }
261
350
  }, _ToolTipElement_updateControlReference = function _ToolTipElement_updateControlReference() {
262
351
  if (!this.id || !this.control)
@@ -331,19 +420,17 @@ _ToolTipElement_abortController = new WeakMap(), _ToolTipElement_align = new Wea
331
420
  }, _ToolTipElement_updatePosition = function _ToolTipElement_updatePosition() {
332
421
  if (!this.control)
333
422
  return;
334
- if (!__classPrivateFieldGet(this, _ToolTipElement_allowUpdatePosition, "f") || this.hiddenFromView)
423
+ if (!__classPrivateFieldGet(this, _ToolTipElement_allowUpdatePosition, "f") || !isPopoverOpen(this))
335
424
  return;
336
- const TOOLTIP_OFFSET = 10;
337
- this.style.left = `0px`; // Ensures we have reliable tooltip width in `getAnchoredPosition`
338
425
  const position = getAnchoredPosition(this, this.control, {
339
426
  side: __classPrivateFieldGet(this, _ToolTipElement_side, "f"),
340
427
  align: __classPrivateFieldGet(this, _ToolTipElement_align, "f"),
341
- anchorOffset: TOOLTIP_OFFSET
428
+ anchorOffset: TOOLTIP_OFFSET,
342
429
  });
343
430
  const anchorSide = position.anchorSide;
344
431
  const align = position.anchorAlign;
345
- this.style.top = `${position.top}px`;
346
- this.style.left = `${position.left}px`;
432
+ this.style.setProperty('--tool-tip-position-top', `${position.top}px`);
433
+ this.style.setProperty('--tool-tip-position-left', `${position.left}px`);
347
434
  let direction = 's';
348
435
  if (anchorSide === 'outside-left') {
349
436
  direction = 'w';
@@ -1 +1 @@
1
- .UnderlineNav{-webkit-overflow-scrolling:auto;box-shadow:inset 0 -1px 0 var(--color-border-muted);display:flex;justify-content:space-between;min-height:var(--base-size-48,48px);overflow-x:auto;overflow-y:hidden}.UnderlineNav .Counter{background-color:var(--color-neutral-muted);color:var(--color-fg-default);margin-left:var(--primer-control-medium-gap,8px)}.UnderlineNav .Counter--primary{background-color:var(--color-neutral-emphasis);color:var(--color-fg-on-emphasis)}.UnderlineNav-body{align-items:center;display:flex;gap:var(--primer-control-medium-gap,8px);list-style:none}.UnderlineNav-item{align-items:center;background-color:initial;border:0;border-radius:var(--primer-borderRadius-medium,6px);color:var(--color-fg-default);cursor:pointer;display:flex;font-size:var(--primer-text-body-size-medium,14px);line-height:30px;padding:0 var(--primer-control-medium-paddingInline-condensed,8px);position:relative;text-align:center;white-space:nowrap}.UnderlineNav-item:focus,.UnderlineNav-item:focus-visible,.UnderlineNav-item:hover{border-bottom-color:var(--color-neutral-muted);color:var(--color-fg-default);outline-offset:-2px;text-decoration:none;transition:border-bottom-color .12s ease-out}.UnderlineNav-item [data-content]:before{content:attr(data-content);display:block;font-weight:var(--base-text-weight-semibold,600);height:0;visibility:hidden}.UnderlineNav-item:before{content:"";height:100%;left:50%;min-height:48px;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:100%}@media (pointer:fine){.UnderlineNav-item:hover{background:var(--color-action-list-item-default-hover-bg);color:var(--color-fg-default);text-decoration:none;transition:background .12s ease-out}}.UnderlineNav-item.selected,.UnderlineNav-item[aria-current]:not([aria-current=false]),.UnderlineNav-item[role=tab][aria-selected=true]{border-bottom-color:var(--color-primer-border-active);color:var(--color-fg-default);font-weight:var(--base-text-weight-semibold,600)}.UnderlineNav-item.selected:after,.UnderlineNav-item[aria-current]:not([aria-current=false]):after,.UnderlineNav-item[role=tab][aria-selected=true]:after{background:var(--color-primer-border-active);border-radius:var(--primer-borderRadius-medium,6px);bottom:calc(50% - 25px);content:"";height:2px;position:absolute;right:50%;transform:translate(50%,-50%);width:100%}.UnderlineNav--right{justify-content:flex-end}.UnderlineNav--right .UnderlineNav-actions{flex:1 1 auto}.UnderlineNav-actions{align-self:center}.UnderlineNav--full{display:block}.UnderlineNav--full .UnderlineNav-body{min-height:var(--base-size-48,48px)}.UnderlineNav-octicon{fill:var(--color-fg-muted);color:var(--color-fg-muted);display:inline!important;margin-right:var(--primer-control-medium-gap,8px)}.UnderlineNav-container{display:flex;justify-content:space-between}
1
+ .UnderlineNav{box-shadow:inset 0 -1px 0 var(--borderColor-muted,var(--color-border-muted));display:flex;min-height:var(--base-size-48,3rem);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:auto;justify-content:space-between}.UnderlineNav .Counter{background-color:var(--bgColor-neutral-muted,var(--color-neutral-muted));color:var(--fgColor-default,var(--color-fg-default));margin-left:var(--control-medium-gap,.5rem)}.UnderlineNav .Counter--primary{background-color:var(--bgColor-neutral-emphasis,var(--color-fg-subtle));color:var(--fgColor-onEmphasis,var(--color-fg-on-emphasis))}.UnderlineNav-body{align-items:center;display:flex;gap:var(--control-medium-gap,.5rem);list-style:none}.UnderlineNav-item{align-items:center;background-color:initial;border:0;border-radius:var(--borderRadius-medium,.375rem);color:var(--fgColor-default,var(--color-fg-default));cursor:pointer;display:flex;font-size:var(--text-body-size-medium,.875rem);line-height:30px;padding:0 var(--control-medium-paddingInline-condensed,.5rem);position:relative;text-align:center;white-space:nowrap}.UnderlineNav-item:focus,.UnderlineNav-item:focus-visible,.UnderlineNav-item:hover{border-bottom-color:var(--borderColor-neutral-muted,var(--color-neutral-muted));color:var(--fgColor-default,var(--color-fg-default));outline-offset:-2px;-webkit-text-decoration:none;text-decoration:none;transition:border-bottom-color .12s ease-out}.UnderlineNav-item [data-content]:before{content:attr(data-content);display:block;font-weight:var(--base-text-weight-semibold,600);height:0;visibility:hidden}.UnderlineNav-item:before{content:"";height:100%;left:50%;min-height:48px;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:100%}@media (pointer:fine){.UnderlineNav-item:hover{background:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg));color:var(--fgColor-default,var(--color-fg-default));-webkit-text-decoration:none;text-decoration:none;transition:background .12s ease-out}}.UnderlineNav-item.selected,.UnderlineNav-item[aria-current]:not([aria-current=false]),.UnderlineNav-item[role=tab][aria-selected=true]{border-bottom-color:var(--underlineNav-borderColor-active,var(--color-primer-border-active));color:var(--fgColor-default,var(--color-fg-default));font-weight:var(--base-text-weight-semibold,600)}.UnderlineNav-item.selected:after,.UnderlineNav-item[aria-current]:not([aria-current=false]):after,.UnderlineNav-item[role=tab][aria-selected=true]:after{background:var(--underlineNav-borderColor-active,var(--color-primer-border-active));border-radius:var(--borderRadius-medium,.375rem);bottom:calc(50% - 25px);content:"";height:2px;position:absolute;right:50%;transform:translate(50%,-50%);width:100%;z-index:1}.UnderlineNav--right{justify-content:flex-end}.UnderlineNav--right .UnderlineNav-actions{flex:1 1 auto}.UnderlineNav-actions{align-self:center}.UnderlineNav--full{display:block}.UnderlineNav--full .UnderlineNav-body{min-height:var(--base-size-48,3rem)}.UnderlineNav-octicon{color:var(--fgColor-muted,var(--color-fg-muted));display:inline!important;margin-right:var(--control-medium-gap,.5rem);fill:var(--fgColor-muted,var(--color-fg-muted))}.UnderlineNav-container{display:flex;justify-content:space-between}
@@ -1 +1,28 @@
1
- {"name":"alpha/underline_nav","selectors":[".UnderlineNav",".UnderlineNav .Counter",".UnderlineNav .Counter--primary",".UnderlineNav-body",".UnderlineNav-item",".UnderlineNav-item:focus",".UnderlineNav-item:focus-visible",".UnderlineNav-item:hover",".UnderlineNav-item [data-content]:before",".UnderlineNav-item:before",".UnderlineNav-item.selected",".UnderlineNav-item[aria-current]:not([aria-current=false])",".UnderlineNav-item[role=tab][aria-selected=true]",".UnderlineNav-item.selected:after",".UnderlineNav-item[aria-current]:not([aria-current=false]):after",".UnderlineNav-item[role=tab][aria-selected=true]:after",".UnderlineNav--right",".UnderlineNav--right .UnderlineNav-actions",".UnderlineNav-actions",".UnderlineNav--full",".UnderlineNav--full .UnderlineNav-body",".UnderlineNav-octicon",".UnderlineNav-container"]}
1
+ {
2
+ "name": "alpha/underline_nav",
3
+ "selectors": [
4
+ ".UnderlineNav",
5
+ ".UnderlineNav .Counter",
6
+ ".UnderlineNav .Counter--primary",
7
+ ".UnderlineNav-body",
8
+ ".UnderlineNav-item",
9
+ ".UnderlineNav-item:focus",
10
+ ".UnderlineNav-item:focus-visible",
11
+ ".UnderlineNav-item:hover",
12
+ ".UnderlineNav-item [data-content]:before",
13
+ ".UnderlineNav-item:before",
14
+ ".UnderlineNav-item.selected",
15
+ ".UnderlineNav-item[aria-current]:not([aria-current=false])",
16
+ ".UnderlineNav-item[role=tab][aria-selected=true]",
17
+ ".UnderlineNav-item.selected:after",
18
+ ".UnderlineNav-item[aria-current]:not([aria-current=false]):after",
19
+ ".UnderlineNav-item[role=tab][aria-selected=true]:after",
20
+ ".UnderlineNav--right",
21
+ ".UnderlineNav--right .UnderlineNav-actions",
22
+ ".UnderlineNav-actions",
23
+ ".UnderlineNav--full",
24
+ ".UnderlineNav--full .UnderlineNav-body",
25
+ ".UnderlineNav-octicon",
26
+ ".UnderlineNav-container"
27
+ ]
28
+ }
@@ -1,7 +1,9 @@
1
1
  declare class XBannerElement extends HTMLElement {
2
+ #private;
2
3
  titleText: HTMLElement;
3
4
  dismiss(): void;
4
- private shouldReappear;
5
+ show(): void;
6
+ hide(): void;
5
7
  }
6
8
  declare global {
7
9
  interface Window {
@@ -4,24 +4,39 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _XBannerElement_instances, _XBannerElement_dismissScheme_get;
7
13
  import { controller, target } from '@github/catalyst';
8
14
  let XBannerElement = class XBannerElement extends HTMLElement {
15
+ constructor() {
16
+ super(...arguments);
17
+ _XBannerElement_instances.add(this);
18
+ }
9
19
  dismiss() {
10
- if (this.shouldReappear()) {
11
- this.style.setProperty('visibility', 'hidden');
12
- setTimeout(() => {
13
- this.style.setProperty('visibility', 'visible');
14
- }, 2000);
15
- return;
16
- }
17
20
  const parentElement = this.parentElement;
18
21
  if (!parentElement)
19
22
  return;
20
- parentElement.removeChild(this);
23
+ if (__classPrivateFieldGet(this, _XBannerElement_instances, "a", _XBannerElement_dismissScheme_get) === 'remove') {
24
+ parentElement.removeChild(this);
25
+ }
26
+ else {
27
+ this.hide();
28
+ }
21
29
  }
22
- shouldReappear() {
23
- return this.getAttribute('data-reappear') === 'true';
30
+ show() {
31
+ this.style.setProperty('display', 'initial');
24
32
  }
33
+ hide() {
34
+ this.style.setProperty('display', 'none');
35
+ }
36
+ };
37
+ _XBannerElement_instances = new WeakSet();
38
+ _XBannerElement_dismissScheme_get = function _XBannerElement_dismissScheme_get() {
39
+ return this.getAttribute('data-dismiss-scheme');
25
40
  };
26
41
  __decorate([
27
42
  target
@@ -0,0 +1,27 @@
1
+ import type { AnchorAlignment, AnchorSide, PositionSettings } from '@primer/behaviors';
2
+ export default class AnchoredPositionElement extends HTMLElement implements PositionSettings {
3
+ #private;
4
+ get align(): AnchorAlignment;
5
+ set align(value: AnchorAlignment);
6
+ get side(): AnchorSide;
7
+ set side(value: AnchorSide);
8
+ get anchorOffset(): number;
9
+ set anchorOffset(value: number | 'normal' | 'spacious');
10
+ get anchor(): string;
11
+ set anchor(value: string);
12
+ get anchorElement(): HTMLElement | null;
13
+ set anchorElement(value: HTMLElement | null);
14
+ get alignmentOffset(): number;
15
+ set alignmentOffset(value: number);
16
+ get allowOutOfBounds(): boolean;
17
+ set allowOutOfBounds(value: boolean);
18
+ connectedCallback(): void;
19
+ static observedAttributes: string[];
20
+ attributeChangedCallback(): void;
21
+ update(): void;
22
+ }
23
+ declare global {
24
+ interface Window {
25
+ AnchoredPositionElement: typeof AnchoredPositionElement;
26
+ }
27
+ }