primer_view_components 0.0.109 → 0.0.111

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +42 -0
  3. data/app/assets/javascripts/primer_view_components.js +1 -1
  4. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  5. data/app/assets/styles/primer_view_components.css +1 -1
  6. data/app/assets/styles/primer_view_components.css.map +1 -1
  7. data/app/components/primer/alpha/action_list/item.rb +2 -2
  8. data/app/components/primer/{beta → alpha}/banner.css +0 -0
  9. data/app/components/primer/alpha/banner.css.json +1 -0
  10. data/app/components/primer/{beta → alpha}/banner.css.map +1 -1
  11. data/app/components/primer/{beta → alpha}/banner.html.erb +0 -0
  12. data/app/components/primer/{beta → alpha}/banner.pcss +1 -0
  13. data/app/components/primer/{beta → alpha}/banner.rb +12 -12
  14. data/app/components/primer/alpha/segmented_control.css.map +1 -1
  15. data/app/components/primer/alpha/segmented_control.pcss +1 -0
  16. data/app/components/primer/alpha/toggle_switch.css +1 -0
  17. data/app/components/primer/alpha/toggle_switch.css.json +1 -0
  18. data/app/components/primer/alpha/toggle_switch.css.map +1 -0
  19. data/app/components/primer/alpha/toggle_switch.pcss +244 -0
  20. data/app/components/primer/{beta → alpha}/x_banner.d.ts +2 -1
  21. data/app/components/primer/{beta → alpha}/x_banner.js +0 -1
  22. data/app/components/primer/{beta → alpha}/x_banner.ts +1 -1
  23. data/app/components/primer/beta/avatar.css +1 -0
  24. data/app/components/primer/beta/avatar.css.json +1 -0
  25. data/app/components/primer/beta/avatar.css.map +1 -0
  26. data/app/components/primer/beta/avatar.pcss +73 -0
  27. data/app/components/primer/beta/avatar_stack.css +1 -0
  28. data/app/components/primer/beta/avatar_stack.css.json +1 -0
  29. data/app/components/primer/beta/avatar_stack.css.map +1 -0
  30. data/app/components/primer/beta/avatar_stack.pcss +141 -0
  31. data/app/components/primer/beta/blankslate.css +1 -0
  32. data/app/components/primer/beta/blankslate.css.json +1 -0
  33. data/app/components/primer/beta/blankslate.css.map +1 -0
  34. data/app/components/primer/beta/blankslate.pcss +90 -0
  35. data/app/components/primer/beta/breadcrumbs.css +1 -0
  36. data/app/components/primer/beta/breadcrumbs.css.json +1 -0
  37. data/app/components/primer/beta/breadcrumbs.css.map +1 -0
  38. data/app/components/primer/beta/breadcrumbs.pcss +30 -0
  39. data/app/components/primer/beta/button.css.map +1 -1
  40. data/app/components/primer/beta/button.pcss +0 -4
  41. data/app/components/primer/beta/button.rb +1 -1
  42. data/app/components/primer/beta/counter.css +1 -0
  43. data/app/components/primer/beta/counter.css.json +1 -0
  44. data/app/components/primer/beta/counter.css.map +1 -0
  45. data/app/components/primer/beta/counter.pcss +35 -0
  46. data/app/components/primer/beta/flash.css +1 -0
  47. data/app/components/primer/beta/flash.css.json +1 -0
  48. data/app/components/primer/beta/flash.css.map +1 -0
  49. data/app/components/primer/beta/flash.pcss +143 -0
  50. data/app/components/primer/beta/label.css +1 -0
  51. data/app/components/primer/beta/label.css.json +1 -0
  52. data/app/components/primer/beta/label.css.map +1 -0
  53. data/app/components/primer/beta/label.pcss +103 -0
  54. data/app/components/primer/beta/progress_bar.css +1 -0
  55. data/app/components/primer/beta/progress_bar.css.json +1 -0
  56. data/app/components/primer/beta/progress_bar.css.map +1 -0
  57. data/app/components/primer/{progress_bar_component.html.erb → beta/progress_bar.html.erb} +0 -0
  58. data/app/components/primer/beta/progress_bar.pcss +26 -0
  59. data/app/components/primer/beta/progress_bar.rb +72 -0
  60. data/app/components/primer/beta/truncate.css +1 -0
  61. data/app/components/primer/beta/truncate.css.json +1 -0
  62. data/app/components/primer/beta/truncate.css.map +1 -0
  63. data/app/components/primer/beta/truncate.pcss +31 -0
  64. data/app/components/primer/dropdown.css +1 -0
  65. data/app/components/primer/dropdown.css.json +1 -0
  66. data/app/components/primer/dropdown.css.map +1 -0
  67. data/app/components/primer/dropdown.pcss +260 -0
  68. data/app/components/primer/popover_component.css +1 -0
  69. data/app/components/primer/popover_component.css.json +1 -0
  70. data/app/components/primer/popover_component.css.map +1 -0
  71. data/app/components/primer/popover_component.pcss +225 -0
  72. data/app/components/primer/primer.d.ts +1 -1
  73. data/app/components/primer/primer.js +1 -1
  74. data/app/components/primer/primer.pcss +18 -2
  75. data/app/components/primer/primer.ts +1 -1
  76. data/app/components/primer/progress_bar_component.rb +2 -65
  77. data/app/components/primer/state_component.css +1 -0
  78. data/app/components/primer/state_component.css.json +1 -0
  79. data/app/components/primer/state_component.css.map +1 -0
  80. data/app/components/primer/state_component.pcss +50 -0
  81. data/app/components/primer/subhead_component.css +1 -0
  82. data/app/components/primer/subhead_component.css.json +1 -0
  83. data/app/components/primer/subhead_component.css.map +1 -0
  84. data/app/components/primer/subhead_component.pcss +49 -0
  85. data/app/components/primer/timeline_item_component.css +1 -0
  86. data/app/components/primer/timeline_item_component.css.json +1 -0
  87. data/app/components/primer/timeline_item_component.css.map +1 -0
  88. data/app/components/primer/timeline_item_component.pcss +93 -0
  89. data/app/components/primer/truncate.css +1 -0
  90. data/app/components/primer/truncate.css.json +1 -0
  91. data/app/components/primer/truncate.css.map +1 -0
  92. data/app/components/primer/truncate.pcss +30 -0
  93. data/lib/primer/deprecations.rb +2 -2
  94. data/lib/primer/view_components/version.rb +1 -1
  95. data/lib/tasks/docs.rake +3 -3
  96. data/lib/tasks/test.rake +8 -0
  97. data/previews/primer/alpha/banner_preview/with_action_button.html.erb +4 -0
  98. data/previews/primer/{beta → alpha}/banner_preview/with_action_content.html.erb +1 -1
  99. data/previews/primer/alpha/banner_preview.rb +97 -0
  100. data/previews/primer/alpha/segmented_control_preview.rb +106 -20
  101. data/previews/primer/beta/avatar_preview.rb +61 -5
  102. data/previews/primer/beta/avatar_stack_preview.rb +54 -12
  103. data/previews/primer/beta/blankslate_preview.rb +29 -5
  104. data/previews/primer/beta/counter_preview.rb +55 -8
  105. data/previews/primer/beta/flash_preview.rb +45 -8
  106. data/previews/primer/beta/label_preview.rb +86 -8
  107. data/previews/primer/beta/progress_bar_preview.rb +60 -0
  108. data/previews/primer/dropdown_preview.rb +161 -10
  109. data/static/arguments.json +76 -76
  110. data/static/audited_at.json +2 -2
  111. data/static/constants.json +34 -34
  112. data/static/statuses.json +3 -3
  113. metadata +81 -17
  114. data/app/components/primer/beta/banner.css.json +0 -1
  115. data/app/components/primer/counter_component.rb +0 -7
  116. data/previews/primer/beta/banner_preview/with_action_button.html.erb +0 -4
  117. data/previews/primer/beta/banner_preview.rb +0 -54
  118. data/previews/primer/progress_bar_component_preview.rb +0 -28
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Primer
4
+ module Beta
5
+ # Use `ProgressBar` to visualize task completion.
6
+ class ProgressBar < Primer::Component
7
+ status :beta
8
+
9
+ # Use the Item slot to add an item to the progress bar
10
+ #
11
+ # @param percentage [Integer] The percent complete
12
+ # @param bg [Symbol] The background color
13
+ # @param kwargs [Hash] The same arguments as <%= link_to_system_arguments_docs %>.
14
+ renders_many :items, lambda { |percentage: 0, bg: :success_emphasis, **system_arguments|
15
+ deny_tag_argument(**system_arguments)
16
+ system_arguments[:tag] = :span
17
+ system_arguments[:bg] = bg
18
+ system_arguments[:style] = join_style_arguments(system_arguments[:style], "width: #{percentage}%;")
19
+ system_arguments[:classes] = class_names("Progress-item", system_arguments[:classes])
20
+
21
+ Primer::BaseComponent.new(**system_arguments)
22
+ }
23
+
24
+ SIZE_DEFAULT = :default
25
+
26
+ SIZE_MAPPINGS = {
27
+ SIZE_DEFAULT => "",
28
+ :small => "Progress--small",
29
+ :large => "Progress--large"
30
+ }.freeze
31
+
32
+ SIZE_OPTIONS = SIZE_MAPPINGS.keys
33
+ # @example Default
34
+ # <%= render(Primer::Beta::ProgressBar.new) do |component| %>
35
+ # <% component.item(percentage: 25) %>
36
+ # <% end %>
37
+ #
38
+ # @example Small
39
+ # <%= render(Primer::Beta::ProgressBar.new(size: :small)) do |component| %>
40
+ # <% component.item(bg: :accent_emphasis, percentage: 50) %>
41
+ # <% end %>
42
+ #
43
+ # @example Large
44
+ # <%= render(Primer::Beta::ProgressBar.new(size: :large)) do |component| %>
45
+ # <% component.item(bg: :danger_emphasis, percentage: 75) %>
46
+ # <% end %>
47
+ #
48
+ # @example Multiple items
49
+ # <%= render(Primer::Beta::ProgressBar.new) do |component| %>
50
+ # <% component.item(percentage: 10) %>
51
+ # <% component.item(bg: :accent_emphasis, percentage: 20) %>
52
+ # <% component.item(bg: :danger_emphasis, percentage: 30) %>
53
+ # <% end %>
54
+ #
55
+ # @param size [Symbol] <%= one_of(Primer::Beta::ProgressBar::SIZE_OPTIONS) %> Increases height.
56
+ # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
57
+ def initialize(size: SIZE_DEFAULT, **system_arguments)
58
+ @system_arguments = deny_tag_argument(**system_arguments)
59
+ @system_arguments[:classes] = class_names(
60
+ @system_arguments[:classes],
61
+ "Progress",
62
+ SIZE_MAPPINGS[fetch_or_fallback(SIZE_OPTIONS, size, SIZE_DEFAULT)]
63
+ )
64
+ @system_arguments[:tag] = :span
65
+ end
66
+
67
+ def render?
68
+ items.any?
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1 @@
1
+ .Truncate{display:inline-flex;max-width:100%;min-width:0}.Truncate>.Truncate-text{max-width:-moz-fit-content;max-width:fit-content;min-width:1ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:is(.Truncate>.Truncate-text)+.Truncate-text{margin-left:var(--primer-control-small-gap,4px)}.Truncate>.Truncate-text.Truncate-text--primary{flex-basis:200%}.Truncate>.Truncate-text.Truncate-text--expandable:active,.Truncate>.Truncate-text.Truncate-text--expandable:focus,.Truncate>.Truncate-text.Truncate-text--expandable:hover{cursor:pointer;flex-shrink:0;max-width:100%!important}
@@ -0,0 +1 @@
1
+ {"name":"beta/truncate","selectors":[".Truncate",".Truncate>.Truncate-text",":is(.Truncate>.Truncate-text)+.Truncate-text",".Truncate>.Truncate-text.Truncate-text--primary",".Truncate>.Truncate-text.Truncate-text--expandable:active",".Truncate>.Truncate-text.Truncate-text--expandable:focus",".Truncate>.Truncate-text.Truncate-text--expandable:hover"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["truncate.pcss"],"names":[],"mappings":"AAEA,UACE,mBAAoB,CAEpB,cAAe,CADf,WA0BF,CAvBE,yBAEE,0BAAsB,CAAtB,qBAAsB,CADtB,aAAc,CAEd,eAAgB,CAChB,sBAAuB,CACvB,kBAiBF,CAfE,6CACE,+CACF,CAEA,gDACE,eACF,CAEA,4KAKE,cAAe,CADf,aAAc,CADd,wBAGF","file":"truncate.css","sourcesContent":["/* Truncate */\n\n.Truncate {\n display: inline-flex;\n min-width: 0;\n max-width: 100%;\n\n & > .Truncate-text {\n min-width: 1ch;\n max-width: fit-content;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n & + .Truncate-text {\n margin-left: var(--primer-control-small-gap, 4px);\n }\n\n &.Truncate-text--primary {\n flex-basis: 200%;\n }\n\n &.Truncate-text--expandable:hover,\n &.Truncate-text--expandable:focus,\n &.Truncate-text--expandable:active {\n max-width: 100% !important;\n flex-shrink: 0;\n cursor: pointer;\n }\n }\n}\n"]}
@@ -0,0 +1,31 @@
1
+ /* Truncate */
2
+
3
+ .Truncate {
4
+ display: inline-flex;
5
+ min-width: 0;
6
+ max-width: 100%;
7
+
8
+ & > .Truncate-text {
9
+ min-width: 1ch;
10
+ max-width: fit-content;
11
+ overflow: hidden;
12
+ text-overflow: ellipsis;
13
+ white-space: nowrap;
14
+
15
+ & + .Truncate-text {
16
+ margin-left: var(--primer-control-small-gap, 4px);
17
+ }
18
+
19
+ &.Truncate-text--primary {
20
+ flex-basis: 200%;
21
+ }
22
+
23
+ &.Truncate-text--expandable:hover,
24
+ &.Truncate-text--expandable:focus,
25
+ &.Truncate-text--expandable:active {
26
+ max-width: 100% !important;
27
+ flex-shrink: 0;
28
+ cursor: pointer;
29
+ }
30
+ }
31
+ }
@@ -0,0 +1 @@
1
+ .dropdown{position:relative}.dropdown-caret{border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;border-style:solid;border-width:var(--primer-borderWidth-thicker,4px) var(--primer-borderWidth-thicker,4px) 0;content:"";display:inline-block;height:0;vertical-align:middle;width:0}.dropdown-menu{background-clip:padding-box;background-color:var(--color-canvas-overlay);border:var(--primer-borderWidth-thin,1px) solid var(--color-border-default);border-radius:var(--primer-borderRadius-medium,6px);box-shadow:var(--color-shadow-large);left:0;list-style:none;margin-top:2px;padding-bottom:var(--primer-control-small-paddingBlock,4px);padding-top:var(--primer-control-small-paddingBlock,4px);position:absolute;top:100%;width:160px;z-index:100}.dropdown-menu:after,.dropdown-menu:before{content:"";display:inline-block;position:absolute}.dropdown-menu:before{border:8px solid #0000;border-bottom:8px solid var(--color-border-default)}.dropdown-menu:after{border:7px solid #0000;border-bottom:7px solid var(--color-canvas-overlay)}.dropdown-menu>ul{list-style:none}.dropdown-menu-no-overflow{width:auto}.dropdown-menu-no-overflow .dropdown-item{overflow:visible;padding:var(--primer-control-small-paddingBlock,4px) var(--primer-control-medium-paddingInline-spacious,16px);text-overflow:inherit}.dropdown-item{color:var(--color-fg-default);display:block;overflow:hidden;padding:var(--primer-control-small-paddingBlock,4px) var(--primer-control-medium-paddingInline-condensed,8px) var(--primer-control-small-paddingBlock,4px) var(--primer-control-medium-paddingInline-spacious,16px);text-overflow:ellipsis;white-space:nowrap}.dropdown-item:hover{background-color:var(--color-accent-emphasis);color:var(--color-fg-on-emphasis);text-decoration:none}.dropdown-item:hover>.octicon{color:inherit;opacity:1}.dropdown-item:hover [class*=color-text-],.dropdown-item:hover>.Label{color:inherit!important}.dropdown-item:hover>.Label{border-color:currentcolor}.dropdown-item.btn-link,.dropdown-signout{text-align:left;width:100%}.dropdown-signout{background:none;border:0}.dropdown-divider{border-top:var(--primer-borderWidth-thin,1px) solid var(--color-border-default);display:block;height:0;margin:var(--primer-stack-gap-condensed,8px) 0}.dropdown-header{color:var(--color-fg-muted);font-size:var(--primer-text-body-size-small,12px);padding:var(--primer-control-small-paddingBlock,4px) var(--primer-control-medium-paddingInline-spacious,16px)}.dropdown-item[aria-checked=false] .octicon-check{display:none}.dropdown-menu-w{left:auto;margin-right:8px;margin-top:0;right:100%;top:0;width:auto}.dropdown-menu-w:before{border-color:#0000;border-left-color:var(--color-border-default);left:auto;right:-16px;top:10px}.dropdown-menu-w:after{border-color:#0000;border-left-color:var(--color-canvas-overlay);left:auto;right:-14px;top:11px}.dropdown-menu-e{left:100%;margin-left:8px;margin-top:0;top:0;width:auto}.dropdown-menu-e:before{border-color:#0000;border-right-color:var(--color-border-default);left:-16px;top:10px}.dropdown-menu-e:after{border-color:#0000;border-right-color:var(--color-canvas-overlay);left:-14px;top:11px}.dropdown-menu-ne{bottom:100%;left:0;margin-bottom:3px;top:auto}.dropdown-menu-ne:after,.dropdown-menu-ne:before{right:auto;top:auto}.dropdown-menu-ne:before{border-bottom:0;border-left:8px solid #0000;border-right:8px solid #0000;border-top:8px solid var(--color-border-default);bottom:-8px;left:9px}.dropdown-menu-ne:after{border-bottom:0;border-left:7px solid #0000;border-right:7px solid #0000;border-top:7px solid var(--color-canvas-overlay);bottom:-7px;left:10px}.dropdown-menu-s{left:auto;right:50%;transform:translateX(50%)}.dropdown-menu-s:before{right:50%;top:-16px;transform:translateX(50%)}.dropdown-menu-s:after{right:50%;top:-14px;transform:translateX(50%)}.dropdown-menu-sw{left:auto;right:0}.dropdown-menu-sw:before{left:auto;right:9px;top:-16px}.dropdown-menu-sw:after{left:auto;right:10px;top:-14px}.dropdown-menu-se:before{left:9px;top:-16px}.dropdown-menu-se:after{left:10px;top:-14px}
@@ -0,0 +1 @@
1
+ {"name":"dropdown","selectors":[".dropdown",".dropdown-caret",".dropdown-menu",".dropdown-menu:after",".dropdown-menu:before",".dropdown-menu>ul",".dropdown-menu-no-overflow",".dropdown-menu-no-overflow .dropdown-item",".dropdown-item",".dropdown-item:hover",".dropdown-item:hover>.octicon",".dropdown-item:hover [class*=color-text-]",".dropdown-item:hover>.Label",".dropdown-item.btn-link",".dropdown-signout",".dropdown-divider",".dropdown-header",".dropdown-item[aria-checked=false] .octicon-check",".dropdown-menu-w",".dropdown-menu-w:before",".dropdown-menu-w:after",".dropdown-menu-e",".dropdown-menu-e:before",".dropdown-menu-e:after",".dropdown-menu-ne",".dropdown-menu-ne:after",".dropdown-menu-ne:before",".dropdown-menu-s",".dropdown-menu-s:before",".dropdown-menu-s:after",".dropdown-menu-sw",".dropdown-menu-sw:before",".dropdown-menu-sw:after",".dropdown-menu-se:before",".dropdown-menu-se:after"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["dropdown.pcss"],"names":[],"mappings":"AAEA,UACE,iBACF,CAEA,gBASE,yBAAgC,CAChC,uBAA8B,CAF9B,wBAA+B,CAF/B,kBAAmB,CACnB,0FAA6F,CAF7F,UAAW,CAJX,oBAAqB,CAErB,QAAS,CACT,qBAAsB,CAFtB,OASF,CAKA,eAWE,2BAA4B,CAD5B,4CAA6C,CAE7C,2EAA6E,CAC7E,mDAAqD,CACrD,oCAAqC,CAXrC,MAAO,CAMP,eAAgB,CADhB,cAAe,CADf,2DAA6D,CAD7D,wDAA0D,CAL1D,iBAAkB,CAClB,QAAS,CAGT,WAAY,CADZ,WAkCF,CAtBE,2CAIE,UAAW,CADX,oBAAqB,CADrB,iBAGF,CAGA,sBAEE,sBAAgD,CAAhD,mDACF,CAGA,qBAEE,sBAAgD,CAAhD,mDACF,CAEA,kBACE,eACF,CAGF,2BACE,UAOF,CALE,0CAEE,gBAAiB,CADjB,6GAAgH,CAEhH,qBACF,CAIF,eAIE,6BAA8B,CAH9B,aAAc,CAEd,eAAgB,CADhB,mNAAwN,CAGxN,sBAAuB,CACvB,kBA0BF,CAxBE,qBAGE,6CAA8C,CAF9C,iCAAkC,CAClC,oBAgBF,CAbE,8BACE,aAAc,CACd,SACF,CAMA,sEACE,uBAEF,CAHA,4BAEE,yBACF,CASJ,0CAJI,eAAgB,CADhB,UAUJ,CALA,kBAGE,eAAgB,CAChB,QACF,CAEA,kBAIE,+EAAiF,CAHjF,aAAc,CACd,QAAS,CACT,8CAEF,CAEA,iBAGE,2BAA4B,CAD5B,iDAAmD,CADnD,6GAGF,CAEA,kDACE,YACF,CAOA,iBAGE,SAAU,CAGV,gBAAiB,CADjB,YAAa,CAHb,UAAW,CADX,KAAM,CAGN,UAmBF,CAfE,wBAIE,kBAAyB,CACzB,6CAA8C,CAF9C,SAAU,CADV,WAAY,CADZ,QAKF,CAEA,uBAIE,kBAAyB,CACzB,6CAA8C,CAF9C,SAAU,CADV,WAAY,CADZ,QAKF,CAGF,iBAEE,SAAU,CAGV,eAAgB,CADhB,YAAa,CAHb,KAAM,CAEN,UAiBF,CAbE,wBAGE,kBAAyB,CACzB,8CAA+C,CAF/C,UAAW,CADX,QAIF,CAEA,uBAGE,kBAAyB,CACzB,8CAA+C,CAF/C,UAAW,CADX,QAIF,CAGF,kBAEE,WAAY,CACZ,MAAO,CACP,iBAAkB,CAHlB,QA4BF,CAvBE,iDAGE,UAAW,CADX,QAEF,CAEA,yBAKE,eAAgB,CAChB,2BAAkC,CAFlC,4BAAmC,CADnC,gDAAiD,CAFjD,WAAY,CACZ,QAKF,CAEA,wBAKE,eAAgB,CAChB,2BAAkC,CAFlC,4BAAmC,CADnC,gDAAiD,CAFjD,WAAY,CACZ,SAKF,CAGF,iBAEE,SAAU,CADV,SAAU,CAEV,yBAaF,CAXE,wBAEE,SAAU,CADV,SAAU,CAEV,yBACF,CAEA,uBAEE,SAAU,CADV,SAAU,CAEV,yBACF,CAGF,kBAEE,SAAU,CADV,OAcF,CAXE,yBAGE,SAAU,CADV,SAAU,CADV,SAGF,CAEA,wBAGE,SAAU,CADV,UAAW,CADX,SAGF,CAIA,yBAEE,QAAS,CADT,SAEF,CAEA,wBAEE,SAAU,CADV,SAEF","file":"dropdown.css","sourcesContent":["/* dropdown */\n\n.dropdown {\n position: relative;\n}\n\n.dropdown-caret {\n display: inline-block;\n width: 0;\n height: 0;\n vertical-align: middle;\n content: '';\n border-style: solid;\n border-width: var(--primer-borderWidth-thicker, 4px) var(--primer-borderWidth-thicker, 4px) 0;\n border-right-color: transparent;\n border-bottom-color: transparent;\n border-left-color: transparent;\n}\n\n/* Requires a positioning class (e.g., `.dropdown-menu-w`) to determine which\n** way the menu should render from the element triggering it. */\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 100;\n width: 160px;\n padding-top: var(--primer-control-small-paddingBlock, 4px);\n padding-bottom: var(--primer-control-small-paddingBlock, 4px);\n margin-top: 2px;\n list-style: none;\n background-color: var(--color-canvas-overlay);\n background-clip: padding-box;\n border: var(--primer-borderWidth-thin, 1px) solid var(--color-border-default);\n border-radius: var(--primer-borderRadius-medium, 6px);\n box-shadow: var(--color-shadow-large);\n\n &::before,\n &::after {\n position: absolute;\n display: inline-block;\n content: '';\n }\n\n /* caret border */\n &::before {\n border: 8px solid transparent;\n border-bottom-color: var(--color-border-default);\n }\n\n /* caret background (should match dropdown background) */\n &::after {\n border: 7px solid transparent;\n border-bottom-color: var(--color-canvas-overlay);\n }\n\n & > ul {\n list-style: none;\n }\n}\n\n.dropdown-menu-no-overflow {\n width: auto;\n\n & .dropdown-item {\n padding: var(--primer-control-small-paddingBlock, 4px) var(--primer-control-medium-paddingInline-spacious, 16px);\n overflow: visible;\n text-overflow: inherit;\n }\n}\n\n/* Dropdown items (can be links or buttons) */\n.dropdown-item {\n display: block;\n padding: var(--primer-control-small-paddingBlock, 4px) var(--primer-control-medium-paddingInline-condensed, 8px) var(--primer-control-small-paddingBlock, 4px) var(--primer-control-medium-paddingInline-spacious, 16px);\n overflow: hidden;\n color: var(--color-fg-default);\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &:hover {\n color: var(--color-fg-on-emphasis);\n text-decoration: none;\n background-color: var(--color-accent-emphasis);\n\n & > .octicon {\n color: inherit;\n opacity: 1;\n }\n\n & [class*='color-text-'] {\n color: inherit !important;\n }\n\n & > .Label {\n color: inherit !important;\n border-color: currentcolor;\n }\n }\n\n &.btn-link {\n width: 100%;\n text-align: left;\n }\n}\n\n.dropdown-signout {\n width: 100%;\n text-align: left;\n background: none;\n border: 0;\n}\n\n.dropdown-divider {\n display: block;\n height: 0;\n margin: var(--primer-stack-gap-condensed, 8px) 0;\n border-top: var(--primer-borderWidth-thin, 1px) solid var(--color-border-default);\n}\n\n.dropdown-header {\n padding: var(--primer-control-small-paddingBlock, 4px) var(--primer-control-medium-paddingInline-spacious, 16px);\n font-size: var(--primer-text-body-size-small, 12px);\n color: var(--color-fg-muted);\n}\n\n.dropdown-item[aria-checked='false'] .octicon-check {\n display: none;\n}\n\n/* Directional classes\n**\n** Move the menu and the caret attached to it. Requires at least one of these on\n** the `.dropdown-menu` element. */\n\n.dropdown-menu-w {\n top: 0;\n right: 100%;\n left: auto;\n width: auto;\n margin-top: 0;\n margin-right: 8px;\n\n &::before {\n top: 10px;\n right: -16px;\n left: auto;\n border-color: transparent;\n border-left-color: var(--color-border-default);\n }\n\n &::after {\n top: 11px;\n right: -14px;\n left: auto;\n border-color: transparent;\n border-left-color: var(--color-canvas-overlay);\n }\n}\n\n.dropdown-menu-e {\n top: 0;\n left: 100%;\n width: auto;\n margin-top: 0;\n margin-left: 8px;\n\n &::before {\n top: 10px;\n left: -16px;\n border-color: transparent;\n border-right-color: var(--color-border-default);\n }\n\n &::after {\n top: 11px;\n left: -14px;\n border-color: transparent;\n border-right-color: var(--color-canvas-overlay);\n }\n}\n\n.dropdown-menu-ne {\n top: auto;\n bottom: 100%;\n left: 0;\n margin-bottom: 3px;\n\n &::before,\n &::after {\n top: auto;\n right: auto;\n }\n\n &::before {\n bottom: -8px;\n left: 9px;\n border-top: 8px solid var(--color-border-default);\n border-right: 8px solid transparent;\n border-bottom: 0;\n border-left: 8px solid transparent;\n }\n\n &::after {\n bottom: -7px;\n left: 10px;\n border-top: 7px solid var(--color-canvas-overlay);\n border-right: 7px solid transparent;\n border-bottom: 0;\n border-left: 7px solid transparent;\n }\n}\n\n.dropdown-menu-s {\n right: 50%;\n left: auto;\n transform: translateX(50%);\n\n &::before {\n top: -16px;\n right: 50%;\n transform: translateX(50%);\n }\n\n &::after {\n top: -14px;\n right: 50%;\n transform: translateX(50%);\n }\n}\n\n.dropdown-menu-sw {\n right: 0;\n left: auto;\n\n &::before {\n top: -16px;\n right: 9px;\n left: auto;\n }\n\n &::after {\n top: -14px;\n right: 10px;\n left: auto;\n }\n}\n\n.dropdown-menu-se {\n &::before {\n top: -16px;\n left: 9px;\n }\n\n &::after {\n top: -14px;\n left: 10px;\n }\n}\n"]}
@@ -0,0 +1,260 @@
1
+ /* dropdown */
2
+
3
+ .dropdown {
4
+ position: relative;
5
+ }
6
+
7
+ .dropdown-caret {
8
+ display: inline-block;
9
+ width: 0;
10
+ height: 0;
11
+ vertical-align: middle;
12
+ content: '';
13
+ border-style: solid;
14
+ border-width: var(--primer-borderWidth-thicker, 4px) var(--primer-borderWidth-thicker, 4px) 0;
15
+ border-right-color: transparent;
16
+ border-bottom-color: transparent;
17
+ border-left-color: transparent;
18
+ }
19
+
20
+ /* Requires a positioning class (e.g., `.dropdown-menu-w`) to determine which
21
+ ** way the menu should render from the element triggering it. */
22
+
23
+ .dropdown-menu {
24
+ position: absolute;
25
+ top: 100%;
26
+ left: 0;
27
+ z-index: 100;
28
+ width: 160px;
29
+ padding-top: var(--primer-control-small-paddingBlock, 4px);
30
+ padding-bottom: var(--primer-control-small-paddingBlock, 4px);
31
+ margin-top: 2px;
32
+ list-style: none;
33
+ background-color: var(--color-canvas-overlay);
34
+ background-clip: padding-box;
35
+ border: var(--primer-borderWidth-thin, 1px) solid var(--color-border-default);
36
+ border-radius: var(--primer-borderRadius-medium, 6px);
37
+ box-shadow: var(--color-shadow-large);
38
+
39
+ &::before,
40
+ &::after {
41
+ position: absolute;
42
+ display: inline-block;
43
+ content: '';
44
+ }
45
+
46
+ /* caret border */
47
+ &::before {
48
+ border: 8px solid transparent;
49
+ border-bottom-color: var(--color-border-default);
50
+ }
51
+
52
+ /* caret background (should match dropdown background) */
53
+ &::after {
54
+ border: 7px solid transparent;
55
+ border-bottom-color: var(--color-canvas-overlay);
56
+ }
57
+
58
+ & > ul {
59
+ list-style: none;
60
+ }
61
+ }
62
+
63
+ .dropdown-menu-no-overflow {
64
+ width: auto;
65
+
66
+ & .dropdown-item {
67
+ padding: var(--primer-control-small-paddingBlock, 4px) var(--primer-control-medium-paddingInline-spacious, 16px);
68
+ overflow: visible;
69
+ text-overflow: inherit;
70
+ }
71
+ }
72
+
73
+ /* Dropdown items (can be links or buttons) */
74
+ .dropdown-item {
75
+ display: block;
76
+ padding: var(--primer-control-small-paddingBlock, 4px) var(--primer-control-medium-paddingInline-condensed, 8px) var(--primer-control-small-paddingBlock, 4px) var(--primer-control-medium-paddingInline-spacious, 16px);
77
+ overflow: hidden;
78
+ color: var(--color-fg-default);
79
+ text-overflow: ellipsis;
80
+ white-space: nowrap;
81
+
82
+ &:hover {
83
+ color: var(--color-fg-on-emphasis);
84
+ text-decoration: none;
85
+ background-color: var(--color-accent-emphasis);
86
+
87
+ & > .octicon {
88
+ color: inherit;
89
+ opacity: 1;
90
+ }
91
+
92
+ & [class*='color-text-'] {
93
+ color: inherit !important;
94
+ }
95
+
96
+ & > .Label {
97
+ color: inherit !important;
98
+ border-color: currentcolor;
99
+ }
100
+ }
101
+
102
+ &.btn-link {
103
+ width: 100%;
104
+ text-align: left;
105
+ }
106
+ }
107
+
108
+ .dropdown-signout {
109
+ width: 100%;
110
+ text-align: left;
111
+ background: none;
112
+ border: 0;
113
+ }
114
+
115
+ .dropdown-divider {
116
+ display: block;
117
+ height: 0;
118
+ margin: var(--primer-stack-gap-condensed, 8px) 0;
119
+ border-top: var(--primer-borderWidth-thin, 1px) solid var(--color-border-default);
120
+ }
121
+
122
+ .dropdown-header {
123
+ padding: var(--primer-control-small-paddingBlock, 4px) var(--primer-control-medium-paddingInline-spacious, 16px);
124
+ font-size: var(--primer-text-body-size-small, 12px);
125
+ color: var(--color-fg-muted);
126
+ }
127
+
128
+ .dropdown-item[aria-checked='false'] .octicon-check {
129
+ display: none;
130
+ }
131
+
132
+ /* Directional classes
133
+ **
134
+ ** Move the menu and the caret attached to it. Requires at least one of these on
135
+ ** the `.dropdown-menu` element. */
136
+
137
+ .dropdown-menu-w {
138
+ top: 0;
139
+ right: 100%;
140
+ left: auto;
141
+ width: auto;
142
+ margin-top: 0;
143
+ margin-right: 8px;
144
+
145
+ &::before {
146
+ top: 10px;
147
+ right: -16px;
148
+ left: auto;
149
+ border-color: transparent;
150
+ border-left-color: var(--color-border-default);
151
+ }
152
+
153
+ &::after {
154
+ top: 11px;
155
+ right: -14px;
156
+ left: auto;
157
+ border-color: transparent;
158
+ border-left-color: var(--color-canvas-overlay);
159
+ }
160
+ }
161
+
162
+ .dropdown-menu-e {
163
+ top: 0;
164
+ left: 100%;
165
+ width: auto;
166
+ margin-top: 0;
167
+ margin-left: 8px;
168
+
169
+ &::before {
170
+ top: 10px;
171
+ left: -16px;
172
+ border-color: transparent;
173
+ border-right-color: var(--color-border-default);
174
+ }
175
+
176
+ &::after {
177
+ top: 11px;
178
+ left: -14px;
179
+ border-color: transparent;
180
+ border-right-color: var(--color-canvas-overlay);
181
+ }
182
+ }
183
+
184
+ .dropdown-menu-ne {
185
+ top: auto;
186
+ bottom: 100%;
187
+ left: 0;
188
+ margin-bottom: 3px;
189
+
190
+ &::before,
191
+ &::after {
192
+ top: auto;
193
+ right: auto;
194
+ }
195
+
196
+ &::before {
197
+ bottom: -8px;
198
+ left: 9px;
199
+ border-top: 8px solid var(--color-border-default);
200
+ border-right: 8px solid transparent;
201
+ border-bottom: 0;
202
+ border-left: 8px solid transparent;
203
+ }
204
+
205
+ &::after {
206
+ bottom: -7px;
207
+ left: 10px;
208
+ border-top: 7px solid var(--color-canvas-overlay);
209
+ border-right: 7px solid transparent;
210
+ border-bottom: 0;
211
+ border-left: 7px solid transparent;
212
+ }
213
+ }
214
+
215
+ .dropdown-menu-s {
216
+ right: 50%;
217
+ left: auto;
218
+ transform: translateX(50%);
219
+
220
+ &::before {
221
+ top: -16px;
222
+ right: 50%;
223
+ transform: translateX(50%);
224
+ }
225
+
226
+ &::after {
227
+ top: -14px;
228
+ right: 50%;
229
+ transform: translateX(50%);
230
+ }
231
+ }
232
+
233
+ .dropdown-menu-sw {
234
+ right: 0;
235
+ left: auto;
236
+
237
+ &::before {
238
+ top: -16px;
239
+ right: 9px;
240
+ left: auto;
241
+ }
242
+
243
+ &::after {
244
+ top: -14px;
245
+ right: 10px;
246
+ left: auto;
247
+ }
248
+ }
249
+
250
+ .dropdown-menu-se {
251
+ &::before {
252
+ top: -16px;
253
+ left: 9px;
254
+ }
255
+
256
+ &::after {
257
+ top: -14px;
258
+ left: 10px;
259
+ }
260
+ }
@@ -0,0 +1 @@
1
+ .Popover{position:absolute;z-index:100}.Popover-message{background-color:var(--color-canvas-overlay);border:var(--primer-borderWidth-thin,1px) solid var(--color-border-default);border-radius:var(--primer-borderRadius-medium,6px);margin-left:auto;margin-right:auto;position:relative;width:232px}.Popover-message:after,.Popover-message:before{content:"";display:inline-block;left:50%;position:absolute}.Popover-message:before{border:8px solid #0000;border-bottom:8px solid var(--color-border-default);margin-left:-9px;top:-16px}.Popover-message:after{border:7px solid #0000;border-bottom:7px solid var(--color-canvas-overlay);margin-left:-8px;top:-14px}.Popover-message--no-caret:after,.Popover-message--no-caret:before{display:none}.Popover-message--bottom-left:after,.Popover-message--bottom-left:before,.Popover-message--bottom-right:after,.Popover-message--bottom-right:before,.Popover-message--bottom:after,.Popover-message--bottom:before{border-bottom-color:#0000;top:auto}.Popover-message--bottom-left:before,.Popover-message--bottom-right:before,.Popover-message--bottom:before{border-top-color:var(--color-border-default);bottom:-16px}.Popover-message--bottom-left:after,.Popover-message--bottom-right:after,.Popover-message--bottom:after{border-top-color:var(--color-canvas-overlay);bottom:-14px}.Popover-message--bottom-right,.Popover-message--top-right{margin-right:0;right:-9px}.Popover-message--bottom-right:after,.Popover-message--bottom-right:before,.Popover-message--top-right:after,.Popover-message--top-right:before{left:auto;margin-left:0}.Popover-message--bottom-right:before,.Popover-message--top-right:before{right:20px}.Popover-message--bottom-right:after,.Popover-message--top-right:after{right:21px}.Popover-message--bottom-left,.Popover-message--top-left{left:-9px;margin-left:0}.Popover-message--bottom-left:after,.Popover-message--bottom-left:before,.Popover-message--top-left:after,.Popover-message--top-left:before{left:24px;margin-left:0}.Popover-message--bottom-left:after,.Popover-message--top-left:after{left:25px}.Popover-message--left-bottom:after,.Popover-message--left-bottom:before,.Popover-message--left-top:after,.Popover-message--left-top:before,.Popover-message--left:after,.Popover-message--left:before,.Popover-message--right-bottom:after,.Popover-message--right-bottom:before,.Popover-message--right-top:after,.Popover-message--right-top:before,.Popover-message--right:after,.Popover-message--right:before{border-bottom-color:#0000;left:auto;margin-left:0;top:50%}.Popover-message--left-bottom:before,.Popover-message--left-top:before,.Popover-message--left:before,.Popover-message--right-bottom:before,.Popover-message--right-top:before,.Popover-message--right:before{margin-top:-9px}.Popover-message--left-bottom:after,.Popover-message--left-top:after,.Popover-message--left:after,.Popover-message--right-bottom:after,.Popover-message--right-top:after,.Popover-message--right:after{margin-top:-8px}.Popover-message--right-bottom:before,.Popover-message--right-top:before,.Popover-message--right:before{border-left-color:var(--color-border-default);right:-16px}.Popover-message--right-bottom:after,.Popover-message--right-top:after,.Popover-message--right:after{border-left-color:var(--color-canvas-overlay);right:-14px}.Popover-message--left-bottom:before,.Popover-message--left-top:before,.Popover-message--left:before{border-right-color:var(--color-border-default);left:-16px}.Popover-message--left-bottom:after,.Popover-message--left-top:after,.Popover-message--left:after{border-right-color:var(--color-canvas-overlay);left:-14px}.Popover-message--left-top:after,.Popover-message--left-top:before,.Popover-message--right-top:after,.Popover-message--right-top:before{top:24px}.Popover-message--left-bottom:after,.Popover-message--left-bottom:before,.Popover-message--right-bottom:after,.Popover-message--right-bottom:before{top:auto}.Popover-message--left-bottom:before,.Popover-message--right-bottom:before{bottom:16px}.Popover-message--left-bottom:after,.Popover-message--right-bottom:after{bottom:17px}@media (min-width:544px){.Popover-message--large{min-width:320px}}@media (max-width:767.98px){.Popover{bottom:0!important;left:0!important;position:fixed;right:0!important;top:auto!important}.Popover-message{bottom:auto;left:auto;margin:var(--primer-stack-gap-condensed,8px);right:auto;top:auto;width:auto!important}.Popover-message>.btn-octicon{padding:var(--primer-control-medium-paddingInline-normal,12px)!important}.Popover-message:after,.Popover-message:before{display:none}}
@@ -0,0 +1 @@
1
+ {"name":"popover_component","selectors":[".Popover",".Popover-message",".Popover-message:after",".Popover-message:before",".Popover-message--no-caret:after",".Popover-message--no-caret:before",".Popover-message--bottom-left:after",".Popover-message--bottom-left:before",".Popover-message--bottom-right:after",".Popover-message--bottom-right:before",".Popover-message--bottom:after",".Popover-message--bottom:before",".Popover-message--bottom-right",".Popover-message--top-right",".Popover-message--top-right:after",".Popover-message--top-right:before",".Popover-message--bottom-left",".Popover-message--top-left",".Popover-message--top-left:after",".Popover-message--top-left:before",".Popover-message--left-bottom:after",".Popover-message--left-bottom:before",".Popover-message--left-top:after",".Popover-message--left-top:before",".Popover-message--left:after",".Popover-message--left:before",".Popover-message--right-bottom:after",".Popover-message--right-bottom:before",".Popover-message--right-top:after",".Popover-message--right-top:before",".Popover-message--right:after",".Popover-message--right:before",".Popover-message--large",".Popover-message>.btn-octicon"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["popover_component.pcss"],"names":[],"mappings":"AAEA,SACE,iBAAkB,CAClB,WACF,CAEA,iBAKE,4CAA6C,CAC7C,2EAA6E,CAC7E,mDAAqD,CAHrD,gBAAiB,CADjB,iBAAkB,CAFlB,iBAAkB,CAClB,WA6BF,CArBE,+CAKE,UAAW,CADX,oBAAqB,CADrB,QAAS,CADT,iBAIF,CAEA,wBAIE,sBAAgD,CAAhD,mDAAgD,CAFhD,gBAAiB,CADjB,SAIF,CAEA,uBAIE,sBAAgD,CAAhD,mDAAgD,CAFhD,gBAAiB,CADjB,SAIF,CAKA,mEAEE,YACF,CAOA,mNAGE,yBAAgC,CADhC,QAEF,CAEA,2GAEE,4CAA6C,CAD7C,YAEF,CAEA,wGAEE,4CAA6C,CAD7C,YAEF,CAIF,2DAGE,cAAe,CADf,UAgBF,CAbE,gJAEE,SAAU,CACV,aACF,CAEA,yEACE,UACF,CAEA,uEACE,UACF,CAIF,yDAEE,SAAU,CACV,aAWF,CATE,4IAEE,SAAU,CACV,aACF,CAEA,qEACE,SACF,CAUA,oZAKE,yBAAgC,CAFhC,SAAU,CACV,aAAc,CAFd,OAIF,CAEA,6MACE,eACF,CAEA,uMACE,eACF,CAOA,wGAEE,6CAA8C,CAD9C,WAEF,CAEA,qGAEE,6CAA8C,CAD9C,WAEF,CAOA,qGAEE,8CAA+C,CAD/C,UAEF,CAEA,kGAEE,8CAA+C,CAD/C,UAEF,CAMA,wIAEE,QACF,CAMA,oJAEE,QACF,CAEA,2EACE,WACF,CAEA,yEACE,WACF,CAGF,yBACE,wBACE,eACF,CACF,CAKA,4BACE,SAIE,kBAAoB,CACpB,gBAAkB,CAJlB,cAAe,CAEf,iBAAmB,CADnB,kBAIF,CAEA,iBAGE,WAAY,CACZ,SAAU,CAEV,4CAA8C,CAJ9C,UAAW,CADX,QAAS,CAIT,oBAEF,CAGA,8BACE,wEACF,CAGA,+CAEE,YACF,CACF","file":"popover_component.css","sourcesContent":["/* Popover */\n\n.Popover {\n position: absolute;\n z-index: 100;\n}\n\n.Popover-message {\n position: relative;\n width: 232px;\n margin-right: auto;\n margin-left: auto;\n background-color: var(--color-canvas-overlay);\n border: var(--primer-borderWidth-thin, 1px) solid var(--color-border-default);\n border-radius: var(--primer-borderRadius-medium, 6px);\n\n /* Carets */\n &::before,\n &::after {\n position: absolute;\n left: 50%;\n display: inline-block;\n content: '';\n }\n\n &::before {\n top: -16px;\n margin-left: -9px;\n border: 8px solid transparent;\n border-bottom-color: var(--color-border-default);\n }\n\n &::after {\n top: -14px;\n margin-left: -8px;\n border: 7px solid transparent;\n border-bottom-color: var(--color-canvas-overlay);\n }\n}\n\n/* No caret */\n.Popover-message--no-caret {\n &::before,\n &::after {\n display: none;\n }\n}\n\n/* Bottom-oriented carets */\n.Popover-message--bottom,\n.Popover-message--bottom-right,\n.Popover-message--bottom-left {\n &::before,\n &::after {\n top: auto;\n border-bottom-color: transparent;\n }\n\n &::before {\n bottom: -16px;\n border-top-color: var(--color-border-default);\n }\n\n &::after {\n bottom: -14px;\n border-top-color: var(--color-canvas-overlay);\n }\n}\n\n/* Top & Bottom: Right-oriented carets */\n.Popover-message--top-right,\n.Popover-message--bottom-right {\n right: -9px;\n margin-right: 0;\n\n &::before,\n &::after {\n left: auto;\n margin-left: 0;\n }\n\n &::before {\n right: 20px;\n }\n\n &::after {\n right: 21px;\n }\n}\n\n/* Top & Bottom: Left-oriented carets */\n.Popover-message--top-left,\n.Popover-message--bottom-left {\n left: -9px;\n margin-left: 0;\n\n &::before,\n &::after {\n left: 24px;\n margin-left: 0;\n }\n\n &::after {\n left: 25px;\n }\n}\n\n/* Right- & Left-oriented carets */\n.Popover-message--right,\n.Popover-message--right-top,\n.Popover-message--right-bottom,\n.Popover-message--left,\n.Popover-message--left-top,\n.Popover-message--left-bottom {\n &::before,\n &::after {\n top: 50%;\n left: auto;\n margin-left: 0;\n border-bottom-color: transparent;\n }\n\n &::before {\n margin-top: -9px;\n }\n\n &::after {\n margin-top: -8px;\n }\n}\n\n/* Right-oriented carets */\n.Popover-message--right,\n.Popover-message--right-top,\n.Popover-message--right-bottom {\n &::before {\n right: -16px;\n border-left-color: var(--color-border-default);\n }\n\n &::after {\n right: -14px;\n border-left-color: var(--color-canvas-overlay);\n }\n}\n\n/* Left-oriented carets */\n.Popover-message--left,\n.Popover-message--left-top,\n.Popover-message--left-bottom {\n &::before {\n left: -16px;\n border-right-color: var(--color-border-default);\n }\n\n &::after {\n left: -14px;\n border-right-color: var(--color-canvas-overlay);\n }\n}\n\n/* Right & Left: Top-oriented carets */\n.Popover-message--right-top,\n.Popover-message--left-top {\n &::before,\n &::after {\n top: 24px;\n }\n}\n\n/* Right & Left: Bottom-oriented carets */\n.Popover-message--right-bottom,\n.Popover-message--left-bottom {\n &::before,\n &::after {\n top: auto;\n }\n\n &::before {\n bottom: 16px;\n }\n\n &::after {\n bottom: 17px;\n }\n}\n\n@media (min-width: 544px) {\n .Popover-message--large {\n min-width: 320px;\n }\n}\n\n/* Responsive Popover\n** For < md it will show full-width anchored to the bottom */\n\n@media (max-width: 767.98px) {\n .Popover {\n position: fixed;\n top: auto !important;\n right: 0 !important;\n bottom: 0 !important;\n left: 0 !important;\n }\n\n .Popover-message {\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n width: auto !important;\n margin: var(--primer-stack-gap-condensed, 8px);\n }\n\n /* Increase tap area for touch input */\n .Popover-message > .btn-octicon {\n padding: var(--primer-control-medium-paddingInline-normal, 12px) !important;\n }\n\n /* Remove caret */\n .Popover-message::after,\n .Popover-message::before {\n display: none;\n }\n}\n"]}
@@ -0,0 +1,225 @@
1
+ /* Popover */
2
+
3
+ .Popover {
4
+ position: absolute;
5
+ z-index: 100;
6
+ }
7
+
8
+ .Popover-message {
9
+ position: relative;
10
+ width: 232px;
11
+ margin-right: auto;
12
+ margin-left: auto;
13
+ background-color: var(--color-canvas-overlay);
14
+ border: var(--primer-borderWidth-thin, 1px) solid var(--color-border-default);
15
+ border-radius: var(--primer-borderRadius-medium, 6px);
16
+
17
+ /* Carets */
18
+ &::before,
19
+ &::after {
20
+ position: absolute;
21
+ left: 50%;
22
+ display: inline-block;
23
+ content: '';
24
+ }
25
+
26
+ &::before {
27
+ top: -16px;
28
+ margin-left: -9px;
29
+ border: 8px solid transparent;
30
+ border-bottom-color: var(--color-border-default);
31
+ }
32
+
33
+ &::after {
34
+ top: -14px;
35
+ margin-left: -8px;
36
+ border: 7px solid transparent;
37
+ border-bottom-color: var(--color-canvas-overlay);
38
+ }
39
+ }
40
+
41
+ /* No caret */
42
+ .Popover-message--no-caret {
43
+ &::before,
44
+ &::after {
45
+ display: none;
46
+ }
47
+ }
48
+
49
+ /* Bottom-oriented carets */
50
+ .Popover-message--bottom,
51
+ .Popover-message--bottom-right,
52
+ .Popover-message--bottom-left {
53
+ &::before,
54
+ &::after {
55
+ top: auto;
56
+ border-bottom-color: transparent;
57
+ }
58
+
59
+ &::before {
60
+ bottom: -16px;
61
+ border-top-color: var(--color-border-default);
62
+ }
63
+
64
+ &::after {
65
+ bottom: -14px;
66
+ border-top-color: var(--color-canvas-overlay);
67
+ }
68
+ }
69
+
70
+ /* Top & Bottom: Right-oriented carets */
71
+ .Popover-message--top-right,
72
+ .Popover-message--bottom-right {
73
+ right: -9px;
74
+ margin-right: 0;
75
+
76
+ &::before,
77
+ &::after {
78
+ left: auto;
79
+ margin-left: 0;
80
+ }
81
+
82
+ &::before {
83
+ right: 20px;
84
+ }
85
+
86
+ &::after {
87
+ right: 21px;
88
+ }
89
+ }
90
+
91
+ /* Top & Bottom: Left-oriented carets */
92
+ .Popover-message--top-left,
93
+ .Popover-message--bottom-left {
94
+ left: -9px;
95
+ margin-left: 0;
96
+
97
+ &::before,
98
+ &::after {
99
+ left: 24px;
100
+ margin-left: 0;
101
+ }
102
+
103
+ &::after {
104
+ left: 25px;
105
+ }
106
+ }
107
+
108
+ /* Right- & Left-oriented carets */
109
+ .Popover-message--right,
110
+ .Popover-message--right-top,
111
+ .Popover-message--right-bottom,
112
+ .Popover-message--left,
113
+ .Popover-message--left-top,
114
+ .Popover-message--left-bottom {
115
+ &::before,
116
+ &::after {
117
+ top: 50%;
118
+ left: auto;
119
+ margin-left: 0;
120
+ border-bottom-color: transparent;
121
+ }
122
+
123
+ &::before {
124
+ margin-top: -9px;
125
+ }
126
+
127
+ &::after {
128
+ margin-top: -8px;
129
+ }
130
+ }
131
+
132
+ /* Right-oriented carets */
133
+ .Popover-message--right,
134
+ .Popover-message--right-top,
135
+ .Popover-message--right-bottom {
136
+ &::before {
137
+ right: -16px;
138
+ border-left-color: var(--color-border-default);
139
+ }
140
+
141
+ &::after {
142
+ right: -14px;
143
+ border-left-color: var(--color-canvas-overlay);
144
+ }
145
+ }
146
+
147
+ /* Left-oriented carets */
148
+ .Popover-message--left,
149
+ .Popover-message--left-top,
150
+ .Popover-message--left-bottom {
151
+ &::before {
152
+ left: -16px;
153
+ border-right-color: var(--color-border-default);
154
+ }
155
+
156
+ &::after {
157
+ left: -14px;
158
+ border-right-color: var(--color-canvas-overlay);
159
+ }
160
+ }
161
+
162
+ /* Right & Left: Top-oriented carets */
163
+ .Popover-message--right-top,
164
+ .Popover-message--left-top {
165
+ &::before,
166
+ &::after {
167
+ top: 24px;
168
+ }
169
+ }
170
+
171
+ /* Right & Left: Bottom-oriented carets */
172
+ .Popover-message--right-bottom,
173
+ .Popover-message--left-bottom {
174
+ &::before,
175
+ &::after {
176
+ top: auto;
177
+ }
178
+
179
+ &::before {
180
+ bottom: 16px;
181
+ }
182
+
183
+ &::after {
184
+ bottom: 17px;
185
+ }
186
+ }
187
+
188
+ @media (min-width: 544px) {
189
+ .Popover-message--large {
190
+ min-width: 320px;
191
+ }
192
+ }
193
+
194
+ /* Responsive Popover
195
+ ** For < md it will show full-width anchored to the bottom */
196
+
197
+ @media (max-width: 767.98px) {
198
+ .Popover {
199
+ position: fixed;
200
+ top: auto !important;
201
+ right: 0 !important;
202
+ bottom: 0 !important;
203
+ left: 0 !important;
204
+ }
205
+
206
+ .Popover-message {
207
+ top: auto;
208
+ right: auto;
209
+ bottom: auto;
210
+ left: auto;
211
+ width: auto !important;
212
+ margin: var(--primer-stack-gap-condensed, 8px);
213
+ }
214
+
215
+ /* Increase tap area for touch input */
216
+ .Popover-message > .btn-octicon {
217
+ padding: var(--primer-control-medium-paddingInline-normal, 12px) !important;
218
+ }
219
+
220
+ /* Remove caret */
221
+ .Popover-message::after,
222
+ .Popover-message::before {
223
+ display: none;
224
+ }
225
+ }
@@ -4,8 +4,8 @@ import './alpha/nav_list';
4
4
  import './alpha/segmented_control';
5
5
  import './alpha/toggle_switch';
6
6
  import './alpha/tool_tip';
7
+ import './alpha/x_banner';
7
8
  import './beta/auto_complete/auto_complete';
8
- import './beta/x_banner';
9
9
  import './clipboard_copy';
10
10
  import './dropdown';
11
11
  import './local_time';
@@ -4,8 +4,8 @@ import './alpha/nav_list';
4
4
  import './alpha/segmented_control';
5
5
  import './alpha/toggle_switch';
6
6
  import './alpha/tool_tip';
7
+ import './alpha/x_banner';
7
8
  import './beta/auto_complete/auto_complete';
8
- import './beta/x_banner';
9
9
  import './clipboard_copy';
10
10
  import './dropdown';
11
11
  import './local_time';