@mixtint/primer-view-components 0.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/LICENSE.txt +21 -0
  2. package/README.md +30 -0
  3. package/app/assets/images/loading_indicator.svg +1 -0
  4. package/app/assets/javascripts/components/primer/alpha/action_bar_element.d.ts +17 -0
  5. package/app/assets/javascripts/components/primer/alpha/action_list.d.ts +16 -0
  6. package/app/assets/javascripts/components/primer/alpha/action_menu/action_menu_element.d.ts +49 -0
  7. package/app/assets/javascripts/components/primer/alpha/action_menu/action_menu_focus_zone_stack.d.ts +17 -0
  8. package/app/assets/javascripts/components/primer/alpha/dropdown/menu.d.ts +1 -0
  9. package/app/assets/javascripts/components/primer/alpha/dropdown.d.ts +1 -0
  10. package/app/assets/javascripts/components/primer/alpha/modal_dialog.d.ts +18 -0
  11. package/app/assets/javascripts/components/primer/alpha/segmented_control.d.ts +12 -0
  12. package/app/assets/javascripts/components/primer/alpha/select_panel_element.d.ts +65 -0
  13. package/app/assets/javascripts/components/primer/alpha/tab_container.d.ts +1 -0
  14. package/app/assets/javascripts/components/primer/alpha/toggle_switch.d.ts +34 -0
  15. package/app/assets/javascripts/components/primer/alpha/tool_tip.d.ts +27 -0
  16. package/app/assets/javascripts/components/primer/alpha/tree_view/tree_view.d.ts +42 -0
  17. package/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_icon_pair_element.d.ts +15 -0
  18. package/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_include_fragment_element.d.ts +9 -0
  19. package/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_roving_tab_index.d.ts +3 -0
  20. package/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.d.ts +45 -0
  21. package/app/assets/javascripts/components/primer/alpha/x_banner.d.ts +18 -0
  22. package/app/assets/javascripts/components/primer/anchored_position.d.ts +27 -0
  23. package/app/assets/javascripts/components/primer/beta/auto_complete/auto_complete.d.ts +1 -0
  24. package/app/assets/javascripts/components/primer/beta/clipboard_copy.d.ts +1 -0
  25. package/app/assets/javascripts/components/primer/beta/details_toggle_element.d.ts +40 -0
  26. package/app/assets/javascripts/components/primer/beta/nav_list.d.ts +20 -0
  27. package/app/assets/javascripts/components/primer/beta/nav_list_group_element.d.ts +19 -0
  28. package/app/assets/javascripts/components/primer/beta/relative_time.d.ts +1 -0
  29. package/app/assets/javascripts/components/primer/dialog_helper.d.ts +15 -0
  30. package/app/assets/javascripts/components/primer/focus_group.d.ts +19 -0
  31. package/app/assets/javascripts/components/primer/open_project/border_box/collapsible_header.d.ts +11 -0
  32. package/app/assets/javascripts/components/primer/open_project/collapsible.d.ts +13 -0
  33. package/app/assets/javascripts/components/primer/open_project/collapsible_section.d.ts +10 -0
  34. package/app/assets/javascripts/components/primer/open_project/danger_dialog_form_helper.d.ts +14 -0
  35. package/app/assets/javascripts/components/primer/open_project/filterable_tree_view.d.ts +29 -0
  36. package/app/assets/javascripts/components/primer/open_project/page_header_element.d.ts +9 -0
  37. package/app/assets/javascripts/components/primer/open_project/sub_header_element.d.ts +17 -0
  38. package/app/assets/javascripts/components/primer/open_project/zen_mode_button.d.ts +18 -0
  39. package/app/assets/javascripts/components/primer/primer.d.ts +40 -0
  40. package/app/assets/javascripts/components/primer/scrollable_region.d.ts +13 -0
  41. package/app/assets/javascripts/components/primer/shared_events.d.ts +26 -0
  42. package/app/assets/javascripts/components/primer/utils.d.ts +1 -0
  43. package/app/assets/javascripts/lib/primer/forms/primer_multi_input.d.ts +10 -0
  44. package/app/assets/javascripts/lib/primer/forms/primer_text_field.d.ts +28 -0
  45. package/app/assets/javascripts/lib/primer/forms/toggle_switch_input.d.ts +5 -0
  46. package/app/assets/javascripts/primer_view_components.js +2 -0
  47. package/app/assets/javascripts/primer_view_components.js.map +1 -0
  48. package/app/assets/styles/primer_view_components.css +7336 -0
  49. package/app/assets/styles/primer_view_components.css.map +1 -0
  50. package/app/components/primer/alpha/action_bar.css +49 -0
  51. package/app/components/primer/alpha/action_bar.css.json +14 -0
  52. package/app/components/primer/alpha/action_bar_element.d.ts +17 -0
  53. package/app/components/primer/alpha/action_bar_element.js +170 -0
  54. package/app/components/primer/alpha/action_list.css +526 -0
  55. package/app/components/primer/alpha/action_list.css.json +117 -0
  56. package/app/components/primer/alpha/action_list.d.ts +16 -0
  57. package/app/components/primer/alpha/action_list.js +70 -0
  58. package/app/components/primer/alpha/action_menu/action_menu_element.d.ts +49 -0
  59. package/app/components/primer/alpha/action_menu/action_menu_element.js +591 -0
  60. package/app/components/primer/alpha/action_menu/action_menu_focus_zone_stack.d.ts +17 -0
  61. package/app/components/primer/alpha/action_menu/action_menu_focus_zone_stack.js +62 -0
  62. package/app/components/primer/alpha/auto_complete.css +131 -0
  63. package/app/components/primer/alpha/auto_complete.css.json +21 -0
  64. package/app/components/primer/alpha/banner.css +146 -0
  65. package/app/components/primer/alpha/banner.css.json +26 -0
  66. package/app/components/primer/alpha/button_marketing.css +183 -0
  67. package/app/components/primer/alpha/button_marketing.css.json +30 -0
  68. package/app/components/primer/alpha/dialog.css +377 -0
  69. package/app/components/primer/alpha/dialog.css.json +66 -0
  70. package/app/components/primer/alpha/dropdown/menu.d.ts +1 -0
  71. package/app/components/primer/alpha/dropdown/menu.js +1 -0
  72. package/app/components/primer/alpha/dropdown.css +296 -0
  73. package/app/components/primer/alpha/dropdown.css.json +40 -0
  74. package/app/components/primer/alpha/dropdown.d.ts +1 -0
  75. package/app/components/primer/alpha/dropdown.js +1 -0
  76. package/app/components/primer/alpha/layout.css +374 -0
  77. package/app/components/primer/alpha/layout.css.json +74 -0
  78. package/app/components/primer/alpha/menu.css +124 -0
  79. package/app/components/primer/alpha/menu.css.json +26 -0
  80. package/app/components/primer/alpha/modal_dialog.d.ts +18 -0
  81. package/app/components/primer/alpha/modal_dialog.js +187 -0
  82. package/app/components/primer/alpha/overlay.css +25 -0
  83. package/app/components/primer/alpha/overlay.css.json +12 -0
  84. package/app/components/primer/alpha/segmented_control.css +161 -0
  85. package/app/components/primer/alpha/segmented_control.css.json +31 -0
  86. package/app/components/primer/alpha/segmented_control.d.ts +12 -0
  87. package/app/components/primer/alpha/segmented_control.js +59 -0
  88. package/app/components/primer/alpha/select_panel.css +10 -0
  89. package/app/components/primer/alpha/select_panel.css.json +7 -0
  90. package/app/components/primer/alpha/select_panel_element.d.ts +65 -0
  91. package/app/components/primer/alpha/select_panel_element.js +988 -0
  92. package/app/components/primer/alpha/skeleton_box.css +36 -0
  93. package/app/components/primer/alpha/skeleton_box.css.json +6 -0
  94. package/app/components/primer/alpha/stack.css +266 -0
  95. package/app/components/primer/alpha/stack.css.json +94 -0
  96. package/app/components/primer/alpha/stack_item.css +27 -0
  97. package/app/components/primer/alpha/stack_item.css.json +12 -0
  98. package/app/components/primer/alpha/tab_container.d.ts +1 -0
  99. package/app/components/primer/alpha/tab_container.js +1 -0
  100. package/app/components/primer/alpha/tab_nav.css +112 -0
  101. package/app/components/primer/alpha/tab_nav.css.json +22 -0
  102. package/app/components/primer/alpha/text_field.css +838 -0
  103. package/app/components/primer/alpha/text_field.css.json +134 -0
  104. package/app/components/primer/alpha/toggle_switch.css +230 -0
  105. package/app/components/primer/alpha/toggle_switch.css.json +40 -0
  106. package/app/components/primer/alpha/toggle_switch.d.ts +34 -0
  107. package/app/components/primer/alpha/toggle_switch.js +179 -0
  108. package/app/components/primer/alpha/tool_tip.d.ts +27 -0
  109. package/app/components/primer/alpha/tool_tip.js +443 -0
  110. package/app/components/primer/alpha/tree_view/tree_view.d.ts +42 -0
  111. package/app/components/primer/alpha/tree_view/tree_view.js +391 -0
  112. package/app/components/primer/alpha/tree_view/tree_view_icon_pair_element.d.ts +15 -0
  113. package/app/components/primer/alpha/tree_view/tree_view_icon_pair_element.js +62 -0
  114. package/app/components/primer/alpha/tree_view/tree_view_include_fragment_element.d.ts +9 -0
  115. package/app/components/primer/alpha/tree_view/tree_view_include_fragment_element.js +28 -0
  116. package/app/components/primer/alpha/tree_view/tree_view_roving_tab_index.d.ts +3 -0
  117. package/app/components/primer/alpha/tree_view/tree_view_roving_tab_index.js +130 -0
  118. package/app/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.d.ts +45 -0
  119. package/app/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.js +429 -0
  120. package/app/components/primer/alpha/tree_view.css +396 -0
  121. package/app/components/primer/alpha/tree_view.css.json +52 -0
  122. package/app/components/primer/alpha/underline_nav.css +150 -0
  123. package/app/components/primer/alpha/underline_nav.css.json +26 -0
  124. package/app/components/primer/alpha/x_banner.d.ts +18 -0
  125. package/app/components/primer/alpha/x_banner.js +51 -0
  126. package/app/components/primer/anchored_position.d.ts +27 -0
  127. package/app/components/primer/anchored_position.js +159 -0
  128. package/app/components/primer/beta/auto_complete/auto_complete.d.ts +1 -0
  129. package/app/components/primer/beta/auto_complete/auto_complete.js +1 -0
  130. package/app/components/primer/beta/avatar.css +77 -0
  131. package/app/components/primer/beta/avatar.css.json +17 -0
  132. package/app/components/primer/beta/avatar_stack.css +145 -0
  133. package/app/components/primer/beta/avatar_stack.css.json +28 -0
  134. package/app/components/primer/beta/blankslate.css +168 -0
  135. package/app/components/primer/beta/blankslate.css.json +23 -0
  136. package/app/components/primer/beta/border_box.css +218 -0
  137. package/app/components/primer/beta/border_box.css.json +54 -0
  138. package/app/components/primer/beta/breadcrumbs.css +29 -0
  139. package/app/components/primer/beta/breadcrumbs.css.json +9 -0
  140. package/app/components/primer/beta/button.css +359 -0
  141. package/app/components/primer/beta/button.css.json +86 -0
  142. package/app/components/primer/beta/button_group.css +20 -0
  143. package/app/components/primer/beta/button_group.css.json +12 -0
  144. package/app/components/primer/beta/clipboard_copy.d.ts +1 -0
  145. package/app/components/primer/beta/clipboard_copy.js +58 -0
  146. package/app/components/primer/beta/counter.css +38 -0
  147. package/app/components/primer/beta/counter.css.json +10 -0
  148. package/app/components/primer/beta/details_toggle_element.d.ts +40 -0
  149. package/app/components/primer/beta/details_toggle_element.js +65 -0
  150. package/app/components/primer/beta/flash.css +152 -0
  151. package/app/components/primer/beta/flash.css.json +27 -0
  152. package/app/components/primer/beta/label.css +109 -0
  153. package/app/components/primer/beta/label.css.json +24 -0
  154. package/app/components/primer/beta/link.css +79 -0
  155. package/app/components/primer/beta/link.css.json +19 -0
  156. package/app/components/primer/beta/nav_list.d.ts +20 -0
  157. package/app/components/primer/beta/nav_list.js +192 -0
  158. package/app/components/primer/beta/nav_list_group_element.d.ts +19 -0
  159. package/app/components/primer/beta/nav_list_group_element.js +111 -0
  160. package/app/components/primer/beta/popover.css +215 -0
  161. package/app/components/primer/beta/popover.css.json +33 -0
  162. package/app/components/primer/beta/progress_bar.css +27 -0
  163. package/app/components/primer/beta/progress_bar.css.json +10 -0
  164. package/app/components/primer/beta/relative_time.d.ts +1 -0
  165. package/app/components/primer/beta/relative_time.js +1 -0
  166. package/app/components/primer/beta/state.css +59 -0
  167. package/app/components/primer/beta/state.css.json +13 -0
  168. package/app/components/primer/beta/subhead.css +64 -0
  169. package/app/components/primer/beta/subhead.css.json +14 -0
  170. package/app/components/primer/beta/timeline_item.css +106 -0
  171. package/app/components/primer/beta/timeline_item.css.json +16 -0
  172. package/app/components/primer/beta/truncate.css +30 -0
  173. package/app/components/primer/beta/truncate.css.json +12 -0
  174. package/app/components/primer/dialog_helper.d.ts +15 -0
  175. package/app/components/primer/dialog_helper.js +132 -0
  176. package/app/components/primer/focus_group.d.ts +19 -0
  177. package/app/components/primer/focus_group.js +163 -0
  178. package/app/components/primer/open_project/border_box/collapsible_header.css +21 -0
  179. package/app/components/primer/open_project/border_box/collapsible_header.css.json +11 -0
  180. package/app/components/primer/open_project/border_box/collapsible_header.d.ts +11 -0
  181. package/app/components/primer/open_project/border_box/collapsible_header.js +21 -0
  182. package/app/components/primer/open_project/border_grid.css +35 -0
  183. package/app/components/primer/open_project/border_grid.css.json +11 -0
  184. package/app/components/primer/open_project/collapsible.d.ts +13 -0
  185. package/app/components/primer/open_project/collapsible.js +67 -0
  186. package/app/components/primer/open_project/collapsible_section.css +5 -0
  187. package/app/components/primer/open_project/collapsible_section.css.json +6 -0
  188. package/app/components/primer/open_project/collapsible_section.d.ts +10 -0
  189. package/app/components/primer/open_project/collapsible_section.js +16 -0
  190. package/app/components/primer/open_project/danger_dialog_form_helper.d.ts +14 -0
  191. package/app/components/primer/open_project/danger_dialog_form_helper.js +54 -0
  192. package/app/components/primer/open_project/drag_handle.css +6 -0
  193. package/app/components/primer/open_project/drag_handle.css.json +6 -0
  194. package/app/components/primer/open_project/filterable_tree_view.d.ts +29 -0
  195. package/app/components/primer/open_project/filterable_tree_view.js +409 -0
  196. package/app/components/primer/open_project/input_group.css +22 -0
  197. package/app/components/primer/open_project/input_group.css.json +12 -0
  198. package/app/components/primer/open_project/page_header.css +87 -0
  199. package/app/components/primer/open_project/page_header.css.json +20 -0
  200. package/app/components/primer/open_project/page_header_element.d.ts +9 -0
  201. package/app/components/primer/open_project/page_header_element.js +23 -0
  202. package/app/components/primer/open_project/side_panel/section.css +27 -0
  203. package/app/components/primer/open_project/side_panel/section.css.json +11 -0
  204. package/app/components/primer/open_project/sub_header.css +80 -0
  205. package/app/components/primer/open_project/sub_header.css.json +17 -0
  206. package/app/components/primer/open_project/sub_header_element.d.ts +17 -0
  207. package/app/components/primer/open_project/sub_header_element.js +76 -0
  208. package/app/components/primer/open_project/zen_mode_button.d.ts +18 -0
  209. package/app/components/primer/open_project/zen_mode_button.js +64 -0
  210. package/app/components/primer/primer.d.ts +40 -0
  211. package/app/components/primer/primer.js +40 -0
  212. package/app/components/primer/scrollable_region.d.ts +13 -0
  213. package/app/components/primer/scrollable_region.js +52 -0
  214. package/app/components/primer/shared_events.d.ts +26 -0
  215. package/app/components/primer/shared_events.js +1 -0
  216. package/app/components/primer/truncate.css +23 -0
  217. package/app/components/primer/truncate.css.json +13 -0
  218. package/app/components/primer/utils.d.ts +1 -0
  219. package/app/components/primer/utils.js +16 -0
  220. package/app/lib/primer/forms/primer_multi_input.d.ts +10 -0
  221. package/app/lib/primer/forms/primer_multi_input.js +44 -0
  222. package/app/lib/primer/forms/primer_text_field.d.ts +28 -0
  223. package/app/lib/primer/forms/primer_text_field.js +119 -0
  224. package/app/lib/primer/forms/toggle_switch_input.d.ts +5 -0
  225. package/app/lib/primer/forms/toggle_switch_input.js +34 -0
  226. package/package.json +103 -0
  227. package/static/arguments.json +6472 -0
  228. package/static/audited_at.json +173 -0
  229. package/static/classes.json +781 -0
  230. package/static/constants.json +1972 -0
  231. package/static/form_previews.json +118 -0
  232. package/static/info_arch.json +21331 -0
  233. package/static/previews.json +9436 -0
  234. package/static/statuses.json +173 -0
@@ -0,0 +1,377 @@
1
+ /* stylelint-disable selector-max-specificity */
2
+ /* stylelint-disable selector-max-compound-selectors */
3
+ /* stylelint-disable max-nesting-depth */
4
+ /* stylelint-disable primer/responsive-widths */
5
+ /* stylelint-disable primer/spacing */
6
+ /* stylelint-disable selector-no-qualifying-type */
7
+ /* stylelint-disable selector-max-type */
8
+ /* Overlay */
9
+ /* The --dialog-scrollgutter property is used only on the body element to
10
+ * simulate scrollbar-gutter:stable. This property is not and should not
11
+ * be used elsewhere in the DOM. There is a performance penalty to
12
+ * setting inherited properties which can cause a large style recalc to
13
+ * occur, so it benefits us to prevent inheritance for this property.
14
+ * See https://web.dev/blog/at-property-performance
15
+ */
16
+ @property --dialog-scrollgutter {
17
+ initial-value: 0;
18
+ inherits: false;
19
+ syntax: "<length>";
20
+ }
21
+ body:has(dialog:modal.Overlay--disableScroll) {
22
+ padding-right: var(--dialog-scrollgutter) !important;
23
+ overflow: hidden !important;
24
+ }
25
+ dialog.Overlay:not([open]) {
26
+ display: none;
27
+ }
28
+ .Overlay--hidden {
29
+ display: none !important;
30
+ }
31
+ .Overlay--visibilityHidden {
32
+ height: 0;
33
+ overflow: hidden;
34
+ visibility: hidden;
35
+ opacity: 0;
36
+ }
37
+ /* This is for @oddbird/popover-polyfill;
38
+ * A FOUC occurs in browsers which do not support :popover-open.
39
+ * We can try to hide the popover if :popover-open is not supported.
40
+ */
41
+ @supports not selector(:popover-open) {
42
+ [popover]:not(.\:popover-open) {
43
+ display: none;
44
+ }
45
+ }
46
+ .Overlay {
47
+ position: static;
48
+ display: flex;
49
+ width: min(var(--overlay-width), 100vw - 2rem);
50
+ min-width: 192px;
51
+ max-height: min(calc(100vh - 2rem), var(--overlay-height));
52
+ padding: 0;
53
+ margin: auto;
54
+ color: var(--fgColor-default);
55
+ white-space: normal;
56
+ flex-direction: column;
57
+ background-color: var(--overlay-bgColor);
58
+ border: 0;
59
+ border-radius: var(--borderRadius-large);
60
+ box-shadow: var(--shadow-floating-small);
61
+ opacity: 1;
62
+ inset: 0;
63
+ }
64
+ .Overlay.Overlay--size-auto {
65
+ min-width: 192px;
66
+ max-width: calc(100vw - 2rem);
67
+ max-height: calc(100vh - 2rem);
68
+ }
69
+ .Overlay.Overlay--size-full {
70
+ width: 100vw;
71
+ height: 100vh;
72
+ }
73
+ .Overlay.Overlay--size-xsmall {
74
+ --overlay-width: 192px;
75
+
76
+ max-height: calc(100vh - 2rem);
77
+ }
78
+ .Overlay.Overlay--size-small {
79
+ --overlay-height: 256px;
80
+ --overlay-width: 320px;
81
+ }
82
+ .Overlay.Overlay--size-small-portrait {
83
+ --overlay-height: 432px;
84
+ --overlay-width: 320px;
85
+ }
86
+ .Overlay.Overlay--size-medium {
87
+ --overlay-height: 320px;
88
+ --overlay-width: 480px;
89
+ }
90
+ .Overlay.Overlay--size-medium-portrait {
91
+ --overlay-height: 600px;
92
+ --overlay-width: 480px;
93
+ }
94
+ .Overlay.Overlay--size-large {
95
+ --overlay-height: 432px;
96
+ --overlay-width: 640px;
97
+ }
98
+ .Overlay.Overlay--size-xlarge {
99
+ --overlay-height: 600px;
100
+ --overlay-width: 960px;
101
+ }
102
+ .Overlay.Overlay--height-auto {
103
+ height: auto;
104
+ }
105
+ .Overlay.Overlay--placement-left,.Overlay.Overlay--placement-right {
106
+ position: fixed;
107
+ height: 100%;
108
+ max-height: unset;
109
+ }
110
+ @media screen and (prefers-reduced-motion: no-preference) {
111
+ .Overlay.Overlay--motion-scaleFade,.Overlay.Overlay--placement-left,.Overlay.Overlay--placement-right {
112
+ animation: 200ms cubic-bezier(0.33, 1, 0.68, 1) 0s 1 normal none running Overlay--motion-scaleFade;
113
+ }
114
+ }
115
+ .Overlay.Overlay--placement-left {
116
+ inset: 0 auto 0 0;
117
+ border-top-left-radius: 0;
118
+ border-bottom-left-radius: 0;
119
+ animation-name: Overlay--motion-slideInRight;
120
+ }
121
+ .Overlay.Overlay--placement-right {
122
+ inset: 0 0 0 auto;
123
+ border-top-right-radius: 0;
124
+ border-bottom-right-radius: 0;
125
+ animation-name: Overlay--motion-slideInLeft;
126
+ }
127
+ /* start deprecate in favor of Alpha::Dialog */
128
+ .Overlay.Overlay--height-xsmall {
129
+ height: min(192px, 100vh - 2rem);
130
+ }
131
+ .Overlay.Overlay--height-small {
132
+ height: min(256px, 100vh - 2rem);
133
+ }
134
+ .Overlay.Overlay--height-medium {
135
+ height: min(320px, 100vh - 2rem);
136
+ }
137
+ .Overlay.Overlay--height-large {
138
+ height: min(432px, 100vh - 2rem);
139
+ }
140
+ .Overlay.Overlay--height-xlarge {
141
+ height: min(600px, 100vh - 2rem);
142
+ }
143
+ .Overlay.Overlay--width-auto {
144
+ width: auto;
145
+ }
146
+ .Overlay.Overlay--width-small {
147
+ width: min(256px, 100vw - 2rem);
148
+ }
149
+ .Overlay.Overlay--width-medium {
150
+ width: min(320px, 100vw - 2rem);
151
+ }
152
+ .Overlay.Overlay--width-large {
153
+ width: min(480px, 100vw - 2rem);
154
+ }
155
+ .Overlay.Overlay--width-xlarge {
156
+ width: min(640px, 100vw - 2rem);
157
+ }
158
+ .Overlay.Overlay--width-xxlarge {
159
+ width: min(960px, 100vw - 2rem);
160
+ }
161
+ /* end deprecate */
162
+ .Overlay:modal {
163
+ position: fixed;
164
+ }
165
+ @keyframes Overlay--motion-scaleFade {
166
+ 0% {
167
+ opacity: 0;
168
+ transform: scale(0.5);
169
+ }
170
+
171
+ 100% {
172
+ opacity: 1;
173
+ transform: scale(1);
174
+ }
175
+ }
176
+ /* for <form> element that wraps entire contents of overlay */
177
+ .Overlay-form {
178
+ display: flex;
179
+ overflow: auto;
180
+ flex-direction: column;
181
+ flex-grow: 1;
182
+ }
183
+ .Overlay-header {
184
+ z-index: 1;
185
+ display: flex;
186
+ color: var(--fgColor-default);
187
+ flex-direction: column;
188
+ }
189
+ .Overlay-header.Overlay-header--divided {
190
+ padding-bottom: var(--stack-padding-condensed);
191
+ /* stylelint-disable-next-line primer/box-shadow */
192
+ box-shadow: inset 0 calc(var(--borderWidth-thin) * -1) var(--borderColor-default);
193
+ }
194
+ :is(.Overlay-header.Overlay-header--large .Overlay-headerContentWrap) .Overlay-titleWrap {
195
+ gap: var(--stack-gap-condensed);
196
+ }
197
+ :is(:is(.Overlay-header.Overlay-header--large .Overlay-headerContentWrap) .Overlay-titleWrap) .Overlay-title {
198
+ font-size: var(--text-title-size-medium);
199
+ }
200
+ :is(:is(.Overlay-header.Overlay-header--large .Overlay-headerContentWrap) .Overlay-titleWrap) .Overlay-description {
201
+ font-size: var(--text-body-size-medium);
202
+ }
203
+ .Overlay-header .Overlay-headerContentWrap {
204
+ display: flex;
205
+ align-items: flex-start;
206
+ gap: var(--stack-gap-condensed);
207
+ padding: var(--stack-gap-condensed) var(--stack-gap-condensed) 0 var(--stack-gap-condensed);
208
+ }
209
+ :is(.Overlay-header .Overlay-headerContentWrap) .Overlay-actionWrap {
210
+ display: flex;
211
+ flex-direction: row;
212
+ gap: var(--stack-gap-condensed);
213
+ }
214
+ :is(.Overlay-header .Overlay-headerContentWrap) .Overlay-titleWrap {
215
+ display: flex;
216
+ padding: calc(var(--stack-gap-condensed) * 0.75) 0 calc(var(--stack-gap-condensed) * 0.75)
217
+ var(--stack-gap-condensed);
218
+ flex-direction: column;
219
+ flex-grow: 1;
220
+ gap: var(--control-small-gap);
221
+ }
222
+ :is(:is(.Overlay-header .Overlay-headerContentWrap) .Overlay-titleWrap) .Overlay-title {
223
+ margin: 0;
224
+ font-size: var(--text-body-size-medium);
225
+ font-weight: var(--base-text-weight-semibold);
226
+ }
227
+ :is(:is(.Overlay-header .Overlay-headerContentWrap) .Overlay-titleWrap) .Overlay-description {
228
+ margin: 0;
229
+ font-size: var(--text-body-size-small);
230
+ font-weight: var(--base-text-weight-normal);
231
+ color: var(--fgColor-muted);
232
+ }
233
+ .Overlay-headerFilter {
234
+ padding: var(--stack-gap-condensed) var(--stack-gap-condensed) 0 var(--stack-gap-condensed);
235
+ }
236
+ /* generic body content slot */
237
+ .Overlay-body {
238
+ padding: var(--stack-padding-normal);
239
+ overflow-y: auto;
240
+ scrollbar-width: thin;
241
+ font-size: var(--text-body-size-medium);
242
+ flex-grow: 1;
243
+ }
244
+ .Overlay-body.Overlay-body--paddingCondensed {
245
+ padding: var(--stack-padding-condensed);
246
+ padding-top: 0;
247
+ }
248
+ .Overlay-body.Overlay-body--paddingNone {
249
+ padding: 0;
250
+ }
251
+ /* generic footer slot */
252
+ .Overlay-footer {
253
+ z-index: 1;
254
+ display: flex;
255
+ padding: 0 var(--stack-padding-normal) var(--stack-padding-normal) var(--stack-padding-normal);
256
+ flex-direction: row;
257
+ flex-shrink: 0;
258
+ flex-wrap: wrap;
259
+ }
260
+ .Overlay-footer.Overlay-footer--divided {
261
+ padding-top: var(--stack-padding-normal);
262
+ /* stylelint-disable-next-line primer/box-shadow */
263
+ box-shadow: inset 0 var(--borderWidth-thin) var(--borderColor-default);
264
+ }
265
+ .Overlay-footer.Overlay-footer--alignStart {
266
+ justify-content: flex-start;
267
+ gap: var(--stack-gap-condensed);
268
+ }
269
+ .Overlay-footer.Overlay-footer--alignCenter {
270
+ justify-content: center;
271
+ gap: var(--stack-gap-condensed);
272
+ }
273
+ .Overlay-footer.Overlay-footer--alignEnd {
274
+ justify-content: flex-end;
275
+ gap: var(--stack-gap-condensed);
276
+ }
277
+ /* TODO: replace with refactored IconButton */
278
+ .Overlay-closeButton {
279
+ position: relative;
280
+ display: grid;
281
+ width: var(--base-size-32);
282
+ height: var(--base-size-32);
283
+ padding: 0;
284
+ color: var(--fgColor-muted);
285
+ cursor: pointer;
286
+ -webkit-user-select: none;
287
+ user-select: none;
288
+ background-color: transparent;
289
+ border: var(--borderWidth-thin) solid transparent;
290
+ border-radius: var(--borderRadius-medium);
291
+ transition: 0.2s cubic-bezier(0.3, 0, 0.5, 1);
292
+ transition-property: color, background-color, border-color;
293
+ place-content: center;
294
+ align-self: flex-start;
295
+ flex-shrink: 0;
296
+ }
297
+ .Overlay-closeButton:hover,.Overlay-closeButton:focus {
298
+ background-color: var(--button-default-bgColor-hover);
299
+ /* stylelint-disable-next-line primer/colors */
300
+ border: var(--borderWidth-thin) solid var(--control-bgColor-hover);
301
+ }
302
+ /* Override .close-button's `border: 0` that triggers a border-color transition on hover */
303
+ .Overlay-closeButton.close-button {
304
+ border: var(--borderWidth-thin) solid transparent;
305
+ }
306
+ /* variants must be mixins so we can extend within a media query (@extend is not supported inside media queries) */
307
+ /* border-radius repeats within placement options to ensure the original radius is reset when two classes co-exist */
308
+ /* full width */
309
+ .Overlay--full {
310
+ width: 100%;
311
+ max-width: 100vw;
312
+ height: 100%;
313
+ max-height: 100vh;
314
+ border-radius: unset !important;
315
+ flex-grow: 1;
316
+ }
317
+ /* responsive variants */
318
+ /* --viewportRange-narrowLandscape */
319
+ @media (max-width: 767px) {
320
+ .Overlay.Overlay--placement-left-whenNarrow, .Overlay--placement-right-whenNarrow {
321
+ position: fixed;
322
+ height: 100%;
323
+ max-height: 100vh;
324
+ }
325
+
326
+ .Overlay.Overlay--placement-left-whenNarrow {
327
+ inset: 0 auto 0 0;
328
+ border-top-left-radius: 0;
329
+ border-bottom-left-radius: 0;
330
+ animation-name: Overlay--motion-slideInLeft;
331
+ }
332
+
333
+ .Overlay.Overlay--placement-right-whenNarrow {
334
+ inset: 0 0 0 auto;
335
+ border-top-right-radius: 0;
336
+ border-bottom-right-radius: 0;
337
+ animation-name: Overlay--motion-slideInLeft;
338
+ }
339
+
340
+ .Overlay.Overlay--placement-bottom-whenNarrow {
341
+ width: 100%;
342
+ max-width: 100vw;
343
+ border-bottom-right-radius: 0;
344
+ border-bottom-left-radius: 0;
345
+ animation-name: Overlay--motion-slideUp;
346
+ inset: auto 0 0;
347
+ }
348
+
349
+ .Overlay--full-whenNarrow {
350
+ width: 100%;
351
+ max-width: 100vw;
352
+ height: 100%;
353
+ max-height: 100vh;
354
+ border-radius: unset !important;
355
+ flex-grow: 1;
356
+ }
357
+ }
358
+ @keyframes Overlay--motion-slideDown {
359
+ from {
360
+ transform: translateY(-100%);
361
+ }
362
+ }
363
+ @keyframes Overlay--motion-slideUp {
364
+ from {
365
+ transform: translateY(100%);
366
+ }
367
+ }
368
+ @keyframes Overlay--motion-slideInRight {
369
+ from {
370
+ transform: translateX(-100%);
371
+ }
372
+ }
373
+ @keyframes Overlay--motion-slideInLeft {
374
+ from {
375
+ transform: translateX(100%);
376
+ }
377
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "alpha/dialog",
3
+ "selectors": [
4
+ "body:has(dialog:modal.Overlay--disableScroll)",
5
+ "dialog.Overlay:not([open])",
6
+ ".Overlay--hidden",
7
+ ".Overlay--visibilityHidden",
8
+ "[popover]:not(.\\:popover-open)",
9
+ ".Overlay",
10
+ ".Overlay.Overlay--size-auto",
11
+ ".Overlay.Overlay--size-full",
12
+ ".Overlay.Overlay--size-xsmall",
13
+ ".Overlay.Overlay--size-small",
14
+ ".Overlay.Overlay--size-small-portrait",
15
+ ".Overlay.Overlay--size-medium",
16
+ ".Overlay.Overlay--size-medium-portrait",
17
+ ".Overlay.Overlay--size-large",
18
+ ".Overlay.Overlay--size-xlarge",
19
+ ".Overlay.Overlay--height-auto",
20
+ ".Overlay.Overlay--placement-left",
21
+ ".Overlay.Overlay--placement-right",
22
+ ".Overlay.Overlay--motion-scaleFade",
23
+ ".Overlay.Overlay--height-xsmall",
24
+ ".Overlay.Overlay--height-small",
25
+ ".Overlay.Overlay--height-medium",
26
+ ".Overlay.Overlay--height-large",
27
+ ".Overlay.Overlay--height-xlarge",
28
+ ".Overlay.Overlay--width-auto",
29
+ ".Overlay.Overlay--width-small",
30
+ ".Overlay.Overlay--width-medium",
31
+ ".Overlay.Overlay--width-large",
32
+ ".Overlay.Overlay--width-xlarge",
33
+ ".Overlay.Overlay--width-xxlarge",
34
+ ".Overlay:modal",
35
+ ".Overlay-form",
36
+ ".Overlay-header",
37
+ ".Overlay-header.Overlay-header--divided",
38
+ ":is(.Overlay-header.Overlay-header--large .Overlay-headerContentWrap) .Overlay-titleWrap",
39
+ ":is(:is(.Overlay-header.Overlay-header--large .Overlay-headerContentWrap) .Overlay-titleWrap) .Overlay-title",
40
+ ":is(:is(.Overlay-header.Overlay-header--large .Overlay-headerContentWrap) .Overlay-titleWrap) .Overlay-description",
41
+ ".Overlay-header .Overlay-headerContentWrap",
42
+ ":is(.Overlay-header .Overlay-headerContentWrap) .Overlay-actionWrap",
43
+ ":is(.Overlay-header .Overlay-headerContentWrap) .Overlay-titleWrap",
44
+ ":is(:is(.Overlay-header .Overlay-headerContentWrap) .Overlay-titleWrap) .Overlay-title",
45
+ ":is(:is(.Overlay-header .Overlay-headerContentWrap) .Overlay-titleWrap) .Overlay-description",
46
+ ".Overlay-headerFilter",
47
+ ".Overlay-body",
48
+ ".Overlay-body.Overlay-body--paddingCondensed",
49
+ ".Overlay-body.Overlay-body--paddingNone",
50
+ ".Overlay-footer",
51
+ ".Overlay-footer.Overlay-footer--divided",
52
+ ".Overlay-footer.Overlay-footer--alignStart",
53
+ ".Overlay-footer.Overlay-footer--alignCenter",
54
+ ".Overlay-footer.Overlay-footer--alignEnd",
55
+ ".Overlay-closeButton",
56
+ ".Overlay-closeButton:hover",
57
+ ".Overlay-closeButton:focus",
58
+ ".Overlay-closeButton.close-button",
59
+ ".Overlay--full",
60
+ ".Overlay.Overlay--placement-left-whenNarrow",
61
+ ".Overlay--placement-right-whenNarrow",
62
+ ".Overlay.Overlay--placement-right-whenNarrow",
63
+ ".Overlay.Overlay--placement-bottom-whenNarrow",
64
+ ".Overlay--full-whenNarrow"
65
+ ]
66
+ }
@@ -0,0 +1 @@
1
+ import '@github/details-menu-element';
@@ -0,0 +1 @@
1
+ import '@github/details-menu-element';