primer_view_components 0.0.110 → 0.0.112

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +50 -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/alpha/auto_complete.css +1 -0
  9. data/app/components/primer/alpha/auto_complete.css.json +1 -0
  10. data/app/components/primer/alpha/auto_complete.css.map +1 -0
  11. data/app/components/primer/alpha/auto_complete.pcss +118 -0
  12. data/app/components/primer/alpha/banner.css +1 -1
  13. data/app/components/primer/alpha/banner.css.map +1 -1
  14. data/app/components/primer/alpha/banner.pcss +2 -3
  15. data/app/components/primer/alpha/button_marketing.css +1 -0
  16. data/app/components/primer/alpha/button_marketing.css.json +1 -0
  17. data/app/components/primer/alpha/button_marketing.css.map +1 -0
  18. data/app/components/primer/alpha/button_marketing.pcss +175 -0
  19. data/app/components/primer/{dropdown → alpha/dropdown}/menu.d.ts +0 -0
  20. data/app/components/primer/{dropdown → alpha/dropdown}/menu.html.erb +0 -0
  21. data/app/components/primer/{dropdown → alpha/dropdown}/menu.js +0 -0
  22. data/app/components/primer/alpha/dropdown/menu.rb +105 -0
  23. data/app/components/primer/{dropdown → alpha/dropdown}/menu.ts +0 -0
  24. data/app/components/primer/alpha/dropdown.css +1 -0
  25. data/app/components/primer/alpha/dropdown.css.json +1 -0
  26. data/app/components/primer/alpha/dropdown.css.map +1 -0
  27. data/app/components/primer/{dropdown.d.ts → alpha/dropdown.d.ts} +0 -0
  28. data/app/components/primer/{dropdown.html.erb → alpha/dropdown.html.erb} +0 -0
  29. data/app/components/primer/{dropdown.js → alpha/dropdown.js} +0 -0
  30. data/app/components/primer/alpha/dropdown.pcss +260 -0
  31. data/app/components/primer/alpha/dropdown.rb +154 -0
  32. data/app/components/primer/{dropdown.ts → alpha/dropdown.ts} +0 -0
  33. data/app/components/primer/alpha/tab_nav.css +1 -0
  34. data/app/components/primer/alpha/tab_nav.css.json +1 -0
  35. data/app/components/primer/alpha/tab_nav.css.map +1 -0
  36. data/app/components/primer/alpha/tab_nav.pcss +100 -0
  37. data/app/components/primer/alpha/underline_nav.css +1 -0
  38. data/app/components/primer/alpha/underline_nav.css.json +1 -0
  39. data/app/components/primer/alpha/underline_nav.css.map +1 -0
  40. data/app/components/primer/alpha/underline_nav.pcss +133 -0
  41. data/app/components/primer/alpha/x_banner.d.ts +2 -1
  42. data/app/components/primer/alpha/x_banner.js +0 -1
  43. data/app/components/primer/alpha/x_banner.ts +1 -1
  44. data/app/components/primer/beta/avatar.css +1 -0
  45. data/app/components/primer/beta/avatar.css.json +1 -0
  46. data/app/components/primer/beta/avatar.css.map +1 -0
  47. data/app/components/primer/beta/avatar.pcss +73 -0
  48. data/app/components/primer/beta/avatar_stack.css +1 -0
  49. data/app/components/primer/beta/avatar_stack.css.json +1 -0
  50. data/app/components/primer/beta/avatar_stack.css.map +1 -0
  51. data/app/components/primer/beta/avatar_stack.pcss +141 -0
  52. data/app/components/primer/beta/border_box.css +1 -0
  53. data/app/components/primer/beta/border_box.css.json +1 -0
  54. data/app/components/primer/beta/border_box.css.map +1 -0
  55. data/app/components/primer/beta/border_box.pcss +284 -0
  56. data/app/components/primer/beta/button.rb +1 -1
  57. data/app/components/primer/beta/flash.css +1 -0
  58. data/app/components/primer/beta/flash.css.json +1 -0
  59. data/app/components/primer/beta/flash.css.map +1 -0
  60. data/app/components/primer/beta/flash.pcss +143 -0
  61. data/app/components/primer/beta/link.css +1 -0
  62. data/app/components/primer/beta/link.css.json +1 -0
  63. data/app/components/primer/beta/link.css.map +1 -0
  64. data/app/components/primer/beta/link.pcss +60 -0
  65. data/app/components/primer/beta/popover.css +1 -0
  66. data/app/components/primer/beta/popover.css.json +1 -0
  67. data/app/components/primer/beta/popover.css.map +1 -0
  68. data/app/components/primer/{popover_component.html.erb → beta/popover.html.erb} +0 -0
  69. data/app/components/primer/beta/popover.pcss +225 -0
  70. data/app/components/primer/beta/popover.rb +127 -0
  71. data/app/components/primer/component.rb +2 -2
  72. data/app/components/primer/dropdown/menu.rb +5 -90
  73. data/app/components/primer/dropdown.rb +2 -145
  74. data/app/components/primer/menu_component.css +1 -0
  75. data/app/components/primer/menu_component.css.json +1 -0
  76. data/app/components/primer/menu_component.css.map +1 -0
  77. data/app/components/primer/menu_component.pcss +119 -0
  78. data/app/components/primer/popover_component.rb +3 -120
  79. data/app/components/primer/primer.d.ts +1 -1
  80. data/app/components/primer/primer.js +1 -1
  81. data/app/components/primer/primer.pcss +14 -1
  82. data/app/components/primer/primer.ts +1 -1
  83. data/app/components/primer/timeline_item_component.css +1 -0
  84. data/app/components/primer/timeline_item_component.css.json +1 -0
  85. data/app/components/primer/timeline_item_component.css.map +1 -0
  86. data/app/components/primer/timeline_item_component.pcss +93 -0
  87. data/lib/primer/deprecations.rb +4 -3
  88. data/lib/primer/view_components/linters/deprecated_components_counter.rb +15 -4
  89. data/lib/primer/view_components/linters/severity_schema.rb +14 -0
  90. data/lib/primer/view_components/version.rb +1 -1
  91. data/lib/tasks/docs.rake +3 -3
  92. data/previews/primer/alpha/banner_preview.rb +1 -1
  93. data/previews/primer/alpha/button_marketing_preview.rb +36 -0
  94. data/previews/primer/alpha/dropdown_preview.rb +210 -0
  95. data/previews/primer/alpha/tab_nav_preview.rb +55 -0
  96. data/previews/primer/beta/avatar_preview.rb +61 -5
  97. data/previews/primer/beta/avatar_stack_preview.rb +54 -12
  98. data/previews/primer/beta/blankslate_preview.rb +29 -5
  99. data/previews/primer/beta/border_box_preview.rb +65 -13
  100. data/previews/primer/beta/flash_preview.rb +45 -8
  101. data/previews/primer/beta/label_preview.rb +86 -8
  102. data/previews/primer/beta/link_preview.rb +28 -0
  103. data/previews/primer/beta/popover_preview.rb +79 -0
  104. data/static/arguments.json +40 -40
  105. data/static/audited_at.json +4 -3
  106. data/static/constants.json +56 -52
  107. data/static/statuses.json +8 -7
  108. metadata +70 -16
  109. data/app/components/primer/counter_component.rb +0 -7
  110. data/app/components/primer/image.rb +0 -7
  111. data/app/components/primer/progress_bar_component.rb +0 -7
  112. data/previews/primer/dropdown_preview.rb +0 -57
  113. data/previews/primer/popover_component_preview.rb +0 -34
@@ -0,0 +1,141 @@
1
+ /* AvatarStack */
2
+
3
+ /* Stacked avatars can be used to show who is participating in thread when
4
+ ** there is limited space available. */
5
+
6
+ .AvatarStack {
7
+ position: relative;
8
+ min-width: 26px;
9
+ height: 20px;
10
+
11
+ & .AvatarStack-body {
12
+ position: absolute;
13
+ }
14
+
15
+ &.AvatarStack--two {
16
+ min-width: 36px;
17
+ }
18
+
19
+ &.AvatarStack--three-plus {
20
+ min-width: 46px;
21
+ }
22
+ }
23
+
24
+ .AvatarStack-body {
25
+ display: flex;
26
+ background: var(--color-canvas-default);
27
+ border-radius: 100px;
28
+
29
+ & .avatar {
30
+ position: relative;
31
+ z-index: 2;
32
+ display: flex;
33
+ width: 20px;
34
+ height: 20px;
35
+ box-sizing: content-box;
36
+ margin-right: -11px;
37
+ background-color: var(--color-canvas-default);
38
+ border-right: var(--primer-borderWidth-thin, 1px) solid var(--color-canvas-default);
39
+ border-radius: var(--primer-borderRadius-small, 4px);
40
+ box-shadow: none;
41
+ transition: margin 0.1s ease-in-out;
42
+
43
+ &:first-child {
44
+ z-index: 3;
45
+ }
46
+
47
+ &:last-child {
48
+ z-index: 1;
49
+ border-right: 0;
50
+ }
51
+
52
+ & img {
53
+ border-radius: var(--primer-borderRadius-small, 4px);
54
+ }
55
+
56
+ /* Account for 4+ avatars */
57
+ &:nth-child(n + 4) {
58
+ display: none;
59
+ opacity: 0;
60
+ }
61
+ }
62
+
63
+ &:hover {
64
+ & .avatar {
65
+ margin-right: 3px;
66
+ }
67
+
68
+ & .avatar:nth-child(n + 4) {
69
+ display: flex;
70
+ opacity: 1;
71
+ }
72
+
73
+ & .avatar-more {
74
+ display: none !important;
75
+ }
76
+ }
77
+ }
78
+
79
+ .avatar.avatar-more {
80
+ z-index: 1;
81
+ margin-right: 0;
82
+ background: var(--color-canvas-subtle);
83
+
84
+ &::before,
85
+ &::after {
86
+ position: absolute;
87
+ display: block;
88
+ height: 20px;
89
+ content: '';
90
+ border-radius: 2px;
91
+ outline: var(--primer-borderWidth-thin, 1px) solid var(--color-canvas-default);
92
+ }
93
+
94
+ &::before {
95
+ width: 17px;
96
+ background: var(--color-avatar-stack-fade-more);
97
+ }
98
+
99
+ &::after {
100
+ width: 14px;
101
+ background: var(--color-avatar-stack-fade);
102
+ }
103
+ }
104
+
105
+ /* Right aligned variation */
106
+
107
+ .AvatarStack--right {
108
+ & .AvatarStack-body {
109
+ right: 0;
110
+ flex-direction: row-reverse;
111
+
112
+ &:hover .avatar {
113
+ margin-right: 0;
114
+ margin-left: 3px;
115
+ }
116
+
117
+ & .avatar:not(:last-child) {
118
+ border-left: 0;
119
+ }
120
+ }
121
+
122
+ & .avatar.avatar-more {
123
+ background: var(--color-avatar-stack-fade);
124
+
125
+ &::before {
126
+ width: 5px;
127
+ }
128
+
129
+ &::after {
130
+ width: 2px;
131
+ background: var(--color-canvas-subtle);
132
+ }
133
+ }
134
+
135
+ & .avatar {
136
+ margin-right: 0;
137
+ margin-left: -11px;
138
+ border-right: 0;
139
+ border-left: var(--primer-borderWidth-thin, 1px) solid var(--color-canvas-default);
140
+ }
141
+ }
@@ -0,0 +1 @@
1
+ .Box{background-color:var(--color-canvas-default);border-color:var(--color-border-default);border-radius:var(--primer-borderRadius-medium,6px);border-style:solid;border-width:var(--primer-borderWidth-thin,1px)}.Box--condensed{line-height:1.25}.Box--condensed .Box-body,.Box--condensed .Box-footer,.Box--condensed .Box-header{padding:var(--primer-stack-padding-condensed,8px) var(--primer-stack-padding-normal,16px)}.Box--condensed .Box-btn-octicon.btn-octicon{line-height:1.25;margin:calc(var(--primer-controlStack-medium-gap-condensed, 8px)*-1) calc(var(--primer-controlStack-small-gap-spacious, 16px)*-1);padding:var(--primer-control-medium-paddingInline-condensed,8px) var(--primer-control-medium-paddingInline-spacious,16px)}.Box--condensed .Box-row{padding:var(--primer-stack-padding-condensed,8px) var(--primer-stack-padding-normal,16px)}.Box--spacious .Box-header{line-height:1.25;padding:var(--primer-stack-padding-spacious,24px)}.Box--spacious .Box-title{font-size:var(--primer-text-title-size-medium,20px)}.Box--spacious .Box-body,.Box--spacious .Box-btn-octicon.btn-octicon,.Box--spacious .Box-footer{padding:var(--primer-stack-padding-spacious,24px)}.Box--spacious .Box-btn-octicon.btn-octicon{margin:calc(var(--primer-stack-gap-spacious, 24px)*-1) calc(var(--primer-stack-gap-spacious, 24px)*-1)}.Box--spacious .Box-row{padding:var(--primer-stack-padding-spacious,24px)}.Box-header{background-color:var(--color-canvas-subtle);border-color:var(--color-border-default);border-style:solid;border-top-left-radius:var(--primer-borderRadius-medium,6px);border-top-right-radius:var(--primer-borderRadius-medium,6px);border-width:var(--primer-borderWidth-thin,1px);margin:calc(var(--primer-borderWidth-thin, 1px)*-1) calc(var(--primer-borderWidth-thin, 1px)*-1) 0;padding:var(--primer-stack-padding-normal,16px)}.Box-title{font-size:var(--primer-text-body-size-medium,14px);font-weight:var(--base-text-weight-semibold,600)}.Box-body{border-bottom:var(--primer-borderWidth-thin,1px) solid var(--color-border-default);padding:var(--primer-stack-padding-normal,16px)}.Box-body:last-of-type{border-bottom-left-radius:var(--primer-borderRadius-medium,6px);border-bottom-right-radius:var(--primer-borderRadius-medium,6px);margin-bottom:calc(var(--primer-borderWidth-thin, 1px)*-1)}.Box-row{border-top:var(--primer-borderWidth-thin,1px) solid var(--color-border-muted);list-style-type:none;margin-top:calc(var(--primer-borderWidth-thin, 1px)*-1);padding:var(--primer-stack-padding-normal,16px)}.Box-row:first-of-type{border-top-left-radius:var(--primer-borderRadius-medium,6px);border-top-right-radius:var(--primer-borderRadius-medium,6px)}.Box-row:last-of-type{border-bottom-left-radius:var(--primer-borderRadius-medium,6px);border-bottom-right-radius:var(--primer-borderRadius-medium,6px)}.Box-row.Box-row--unread,.Box-row.unread{box-shadow:inset 2px 0 0 var(--color-accent-emphasis)}.Box-row.navigation-focus .Box-row--drag-button{color:var(--color-accent-fg);cursor:grab;opacity:1}.Box-row.navigation-focus.is-dragging .Box-row--drag-button{cursor:grabbing}.Box-row.navigation-focus.sortable-chosen,.Box-row.navigation-focus.sortable-ghost{background-color:var(--color-canvas-subtle)}.Box-row.navigation-focus.sortable-ghost .Box-row--drag-hide{opacity:0}.Box-row--focus-gray.navigation-focus{background-color:var(--color-canvas-subtle)}.Box-row--focus-blue.navigation-focus{background-color:var(--color-accent-subtle)}.Box-row--hover-gray:hover{background-color:var(--color-canvas-subtle)}.Box-row--hover-blue:hover{background-color:var(--color-accent-subtle)}@media (min-width:768px){.Box-row-link{color:var(--color-fg-default);text-decoration:none}.Box-row-link:hover{color:var(--color-accent-fg);text-decoration:none}}.Box-row--drag-button{opacity:0}.Box-footer{border-radius:0 0 var(--primer-borderRadius-medium,6px) var(--primer-borderRadius-medium,6px);border-top:var(--primer-borderWidth-thin,1px) solid var(--color-border-default);margin-top:calc(var(--primer-borderWidth-thin, 1px)*-1);padding:var(--primer-stack-padding-normal,16px)}.Box--scrollable{max-height:324px;overflow:scroll}.Box--blue,.Box--blue .Box-header{border-color:var(--color-accent-muted)}.Box--blue .Box-header{background-color:var(--color-accent-subtle)}.Box--blue .Box-body,.Box--blue .Box-footer,.Box--blue .Box-row{border-color:var(--color-accent-muted)}.Box--danger,.Box--danger .Box-body:last-of-type,.Box--danger .Box-row:first-of-type{border-color:var(--color-danger-emphasis)}.Box-header--blue{background-color:var(--color-accent-subtle);border-color:var(--color-accent-muted)}.Box-row--yellow{background-color:var(--color-attention-subtle)}.Box-row--blue{background-color:var(--color-accent-subtle)}.Box-row--gray{background-color:var(--color-canvas-subtle)}.Box-btn-octicon.btn-octicon{line-height:1.5;margin:calc(var(--primer-controlStack-small-gap-spacious, 16px)*-1) calc(var(--primer-controlStack-small-gap-spacious, 16px)*-1);padding:var(--primer-control-medium-paddingInline-spacious,16px) var(--primer-control-medium-paddingInline-spacious,16px)}
@@ -0,0 +1 @@
1
+ {"name":"beta/border_box","selectors":[".Box",".Box--condensed",".Box--condensed .Box-body",".Box--condensed .Box-footer",".Box--condensed .Box-header",".Box--condensed .Box-btn-octicon.btn-octicon",".Box--condensed .Box-row",".Box--spacious .Box-header",".Box--spacious .Box-title",".Box--spacious .Box-body",".Box--spacious .Box-btn-octicon.btn-octicon",".Box--spacious .Box-footer",".Box--spacious .Box-row",".Box-header",".Box-title",".Box-body",".Box-body:last-of-type",".Box-row",".Box-row:first-of-type",".Box-row:last-of-type",".Box-row.Box-row--unread",".Box-row.unread",".Box-row.navigation-focus .Box-row--drag-button",".Box-row.navigation-focus.is-dragging .Box-row--drag-button",".Box-row.navigation-focus.sortable-chosen",".Box-row.navigation-focus.sortable-ghost",".Box-row.navigation-focus.sortable-ghost .Box-row--drag-hide",".Box-row--focus-gray.navigation-focus",".Box-row--focus-blue.navigation-focus",".Box-row--hover-gray:hover",".Box-row--hover-blue:hover",".Box-row-link",".Box-row-link:hover",".Box-row--drag-button",".Box-footer",".Box--scrollable",".Box--blue",".Box--blue .Box-header",".Box--blue .Box-body",".Box--blue .Box-footer",".Box--blue .Box-row",".Box--danger",".Box--danger .Box-body:last-of-type",".Box--danger .Box-row:first-of-type",".Box-header--blue",".Box-row--yellow",".Box-row--blue",".Box-row--gray",".Box-btn-octicon.btn-octicon"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["border_box.pcss"],"names":[],"mappings":"AAGA,KACE,4CAA6C,CAC7C,wCAAyC,CAGzC,mDAAqD,CAFrD,kBAAmB,CACnB,+CAEF,CAGA,gBACE,gBAyBF,CAfE,kFACE,yFACF,CAGE,6CAGE,gBAAiB,CADjB,iIAAsI,CADtI,yHAGF,CAGF,yBACE,yFACF,CAIA,2BAEE,gBAAiB,CADjB,iDAEF,CAEA,0BACE,mDACF,CAWE,gGAJA,iDAOA,CAHA,4CAEE,sGACF,CAGF,wBACE,iDACF,CAGF,YAGE,2CAA4C,CAC5C,wCAAyC,CACzC,kBAAmB,CAEnB,4DAA8D,CAC9D,6DAA+D,CAF/D,+CAAiD,CAJjD,kGAAuG,CADvG,+CAQF,CAEA,WACE,kDAAoD,CACpD,gDACF,CAEA,UAEE,kFAAoF,CADpF,+CASF,CALE,uBAGE,+DAAiE,CADjE,gEAAkE,CADlE,0DAGF,CAIF,SAME,6EAAqD,CAHrD,oBAAqB,CADrB,uDAA0D,CAD1D,+CAqDF,CA9CE,uBACE,4DAA8D,CAC9D,6DACF,CAEA,sBAEE,+DAAiE,CADjE,gEAEF,CAIA,yCAGE,qDACF,CAIE,gDACE,4BAA6B,CAC7B,WAAY,CACZ,SACF,CAGA,4DACE,eACF,CAQA,mFACE,2CAMF,CAHE,6DACE,SACF,CAMJ,sCACE,2CACF,CAIA,sCACE,2CACF,CAIA,2BACE,2CACF,CAIA,2BACE,2CACF,CAOA,yBADF,cAEI,6BAA8B,CAC9B,oBAOJ,CALI,oBACE,4BAA6B,CAC7B,oBACF,CACF,CAKF,sBACE,SACF,CAEA,YAME,6FAAgG,CADhG,+EAAqD,CAHrD,uDAA0D,CAD1D,+CAMF,CAGA,iBACE,gBAAiB,CACjB,eACF,CAOE,kCAFA,sCAKA,CAHA,uBACE,2CAEF,CAUA,gEACE,sCACF,CAeE,qFACE,yCACF,CAIJ,kBACE,2CAA4C,CAC5C,sCACF,CAIA,iBACE,8CACF,CAEA,eACE,2CACF,CAEA,eACE,2CACF,CAKE,6BAGE,eAAgB,CADhB,gIAAqI,CADrI,yHAGF","file":"border_box.css","sourcesContent":["/* BorderBox */\n\n/* TODO: Rename to BorderBox to match PVC */\n.Box {\n background-color: var(--color-canvas-default);\n border-color: var(--color-border-default);\n border-style: solid;\n border-width: var(--primer-borderWidth-thin, 1px);\n border-radius: var(--primer-borderRadius-medium, 6px);\n}\n\n/* Box padding density options */\n.Box--condensed {\n line-height: 1.25;\n\n & .Box-header {\n padding: var(--primer-stack-padding-condensed, 8px) var(--primer-stack-padding-normal, 16px);\n }\n\n & .Box-body {\n padding: var(--primer-stack-padding-condensed, 8px) var(--primer-stack-padding-normal, 16px);\n }\n\n & .Box-footer {\n padding: var(--primer-stack-padding-condensed, 8px) var(--primer-stack-padding-normal, 16px);\n }\n\n & .Box-btn-octicon {\n &.btn-octicon {\n padding: var(--primer-control-medium-paddingInline-condensed, 8px) var(--primer-control-medium-paddingInline-spacious, 16px);\n margin: calc(var(--primer-controlStack-medium-gap-condensed, 8px) * -1) calc(var(--primer-controlStack-small-gap-spacious, 16px) * -1);\n line-height: 1.25;\n }\n }\n\n & .Box-row {\n padding: var(--primer-stack-padding-condensed, 8px) var(--primer-stack-padding-normal, 16px);\n }\n}\n\n.Box--spacious {\n & .Box-header {\n padding: var(--primer-stack-padding-spacious, 24px);\n line-height: 1.25;\n }\n\n & .Box-title {\n font-size: var(--primer-text-title-size-medium, 20px);\n }\n\n & .Box-body {\n padding: var(--primer-stack-padding-spacious, 24px);\n }\n\n & .Box-footer {\n padding: var(--primer-stack-padding-spacious, 24px);\n }\n\n & .Box-btn-octicon {\n &.btn-octicon {\n padding: var(--primer-stack-padding-spacious, 24px);\n margin: calc(var(--primer-stack-gap-spacious, 24px) * -1) calc(var(--primer-stack-gap-spacious, 24px) * -1);\n }\n }\n\n & .Box-row {\n padding: var(--primer-stack-padding-spacious, 24px);\n }\n}\n\n.Box-header {\n padding: var(--primer-stack-padding-normal, 16px);\n margin: calc(var(--primer-borderWidth-thin, 1px) * -1) calc(var(--primer-borderWidth-thin, 1px) * -1) 0;\n background-color: var(--color-canvas-subtle);\n border-color: var(--color-border-default);\n border-style: solid;\n border-width: var(--primer-borderWidth-thin, 1px);\n border-top-left-radius: var(--primer-borderRadius-medium, 6px);\n border-top-right-radius: var(--primer-borderRadius-medium, 6px);\n}\n\n.Box-title {\n font-size: var(--primer-text-body-size-medium, 14px);\n font-weight: var(--base-text-weight-semibold, 600);\n}\n\n.Box-body {\n padding: var(--primer-stack-padding-normal, 16px);\n border-bottom: var(--primer-borderWidth-thin, 1px) solid var(--color-border-default);\n\n /* Ensures bottom-border doesn't poke out when .Box-body used without box-footer */\n &:last-of-type {\n margin-bottom: calc(var(--primer-borderWidth-thin, 1px) * -1);\n border-bottom-right-radius: var(--primer-borderRadius-medium, 6px);\n border-bottom-left-radius: var(--primer-borderRadius-medium, 6px);\n }\n}\n\n/* Box rows */\n.Box-row {\n padding: var(--primer-stack-padding-normal, 16px);\n margin-top: calc(var(--primer-borderWidth-thin, 1px) * -1);\n list-style-type: none; /* To account for applying Box component to a list */\n border-top-color: var(--color-border-muted);\n border-top-style: solid;\n border-top-width: var(--primer-borderWidth-thin, 1px);\n\n &:first-of-type {\n border-top-left-radius: var(--primer-borderRadius-medium, 6px);\n border-top-right-radius: var(--primer-borderRadius-medium, 6px);\n }\n\n &:last-of-type {\n border-bottom-right-radius: var(--primer-borderRadius-medium, 6px);\n border-bottom-left-radius: var(--primer-borderRadius-medium, 6px);\n }\n\n /* Adds a blue vertical line to the left of the row\n ** For indicating a row item is unread */\n &.Box-row--unread,\n /* .unread to be deprecated with .Box-row-unread */\n &.unread {\n box-shadow: inset 2px 0 0 var(--color-accent-emphasis);\n }\n\n &.navigation-focus {\n /* Focus styles for when drag icon */\n & .Box-row--drag-button {\n color: var(--color-accent-fg);\n cursor: grab;\n opacity: 100;\n }\n\n /* Grabbing while row is dragged */\n &.is-dragging .Box-row--drag-button {\n cursor: grabbing;\n }\n\n /* Row dragging styles */\n &.sortable-chosen {\n background-color: var(--color-canvas-subtle);\n }\n\n /* Makes dragging row background gray */\n &.sortable-ghost {\n background-color: var(--color-canvas-subtle);\n\n /* Hides contents of row while dragging so row looks solid gray */\n & .Box-row--drag-hide {\n opacity: 0;\n }\n }\n }\n}\n\n.Box-row--focus-gray {\n &.navigation-focus {\n background-color: var(--color-canvas-subtle);\n }\n}\n\n.Box-row--focus-blue {\n &.navigation-focus {\n background-color: var(--color-accent-subtle);\n }\n}\n\n.Box-row--hover-gray {\n &:hover {\n background-color: var(--color-canvas-subtle);\n }\n}\n\n.Box-row--hover-blue {\n &:hover {\n background-color: var(--color-accent-subtle);\n }\n}\n\n/* Optional link style\n** Makes links on mobile blue since they don't have hover state,\n** and links are dark-gray with blue hover on desktop. */\n.Box-row-link {\n @media (min-width: 768px) {\n color: var(--color-fg-default);\n text-decoration: none;\n\n &:hover {\n color: var(--color-accent-fg);\n text-decoration: none;\n }\n }\n}\n\n/* Optional drag icon styles for reordering items\n** Focus styles included in .Box-row above */\n.Box-row--drag-button {\n opacity: 0;\n}\n\n.Box-footer {\n padding: var(--primer-stack-padding-normal, 16px);\n margin-top: calc(var(--primer-borderWidth-thin, 1px) * -1); /* prevents double border when used with .Box-body */\n border-top-color: var(--color-border-default);\n border-top-style: solid;\n border-top-width: var(--primer-borderWidth-thin, 1px);\n border-radius: 0 0 var(--primer-borderRadius-medium, 6px) var(--primer-borderRadius-medium, 6px);\n}\n\n/* Option for a box with scrolling content */\n.Box--scrollable {\n max-height: 324px;\n overflow: scroll;\n}\n\n/* Box themes */\n\n.Box--blue {\n border-color: var(--color-accent-muted);\n\n & .Box-header {\n background-color: var(--color-accent-subtle);\n border-color: var(--color-accent-muted);\n }\n\n & .Box-body {\n border-color: var(--color-accent-muted);\n }\n\n & .Box-row {\n border-color: var(--color-accent-muted);\n }\n\n & .Box-footer {\n border-color: var(--color-accent-muted);\n }\n}\n\n/* Applies and red border to the outside of the box,\n** but not to the border separating rows. */\n.Box--danger {\n border-color: var(--color-danger-emphasis);\n\n & .Box-row {\n &:first-of-type {\n border-color: var(--color-danger-emphasis);\n }\n }\n\n & .Box-body {\n &:last-of-type {\n border-color: var(--color-danger-emphasis);\n }\n }\n}\n\n.Box-header--blue {\n background-color: var(--color-accent-subtle);\n border-color: var(--color-accent-muted);\n}\n\n/* Box row highlight themes */\n\n.Box-row--yellow {\n background-color: var(--color-attention-subtle);\n}\n\n.Box-row--blue {\n background-color: var(--color-accent-subtle);\n}\n\n.Box-row--gray {\n background-color: var(--color-canvas-subtle);\n}\n\n/* Box with btn-octicon */\n.Box-btn-octicon {\n /* Increase specificity when btn-octicon is used because comes after .Box in the cascade */\n &.btn-octicon {\n padding: var(--primer-control-medium-paddingInline-spacious, 16px) var(--primer-control-medium-paddingInline-spacious, 16px);\n margin: calc(var(--primer-controlStack-small-gap-spacious, 16px) * -1) calc(var(--primer-controlStack-small-gap-spacious, 16px) * -1);\n line-height: 1.5; /* override btn-octicon line-height */\n }\n}\n"]}
@@ -0,0 +1,284 @@
1
+ /* BorderBox */
2
+
3
+ /* TODO: Rename to BorderBox to match PVC */
4
+ .Box {
5
+ background-color: var(--color-canvas-default);
6
+ border-color: var(--color-border-default);
7
+ border-style: solid;
8
+ border-width: var(--primer-borderWidth-thin, 1px);
9
+ border-radius: var(--primer-borderRadius-medium, 6px);
10
+ }
11
+
12
+ /* Box padding density options */
13
+ .Box--condensed {
14
+ line-height: 1.25;
15
+
16
+ & .Box-header {
17
+ padding: var(--primer-stack-padding-condensed, 8px) var(--primer-stack-padding-normal, 16px);
18
+ }
19
+
20
+ & .Box-body {
21
+ padding: var(--primer-stack-padding-condensed, 8px) var(--primer-stack-padding-normal, 16px);
22
+ }
23
+
24
+ & .Box-footer {
25
+ padding: var(--primer-stack-padding-condensed, 8px) var(--primer-stack-padding-normal, 16px);
26
+ }
27
+
28
+ & .Box-btn-octicon {
29
+ &.btn-octicon {
30
+ padding: var(--primer-control-medium-paddingInline-condensed, 8px) var(--primer-control-medium-paddingInline-spacious, 16px);
31
+ margin: calc(var(--primer-controlStack-medium-gap-condensed, 8px) * -1) calc(var(--primer-controlStack-small-gap-spacious, 16px) * -1);
32
+ line-height: 1.25;
33
+ }
34
+ }
35
+
36
+ & .Box-row {
37
+ padding: var(--primer-stack-padding-condensed, 8px) var(--primer-stack-padding-normal, 16px);
38
+ }
39
+ }
40
+
41
+ .Box--spacious {
42
+ & .Box-header {
43
+ padding: var(--primer-stack-padding-spacious, 24px);
44
+ line-height: 1.25;
45
+ }
46
+
47
+ & .Box-title {
48
+ font-size: var(--primer-text-title-size-medium, 20px);
49
+ }
50
+
51
+ & .Box-body {
52
+ padding: var(--primer-stack-padding-spacious, 24px);
53
+ }
54
+
55
+ & .Box-footer {
56
+ padding: var(--primer-stack-padding-spacious, 24px);
57
+ }
58
+
59
+ & .Box-btn-octicon {
60
+ &.btn-octicon {
61
+ padding: var(--primer-stack-padding-spacious, 24px);
62
+ margin: calc(var(--primer-stack-gap-spacious, 24px) * -1) calc(var(--primer-stack-gap-spacious, 24px) * -1);
63
+ }
64
+ }
65
+
66
+ & .Box-row {
67
+ padding: var(--primer-stack-padding-spacious, 24px);
68
+ }
69
+ }
70
+
71
+ .Box-header {
72
+ padding: var(--primer-stack-padding-normal, 16px);
73
+ margin: calc(var(--primer-borderWidth-thin, 1px) * -1) calc(var(--primer-borderWidth-thin, 1px) * -1) 0;
74
+ background-color: var(--color-canvas-subtle);
75
+ border-color: var(--color-border-default);
76
+ border-style: solid;
77
+ border-width: var(--primer-borderWidth-thin, 1px);
78
+ border-top-left-radius: var(--primer-borderRadius-medium, 6px);
79
+ border-top-right-radius: var(--primer-borderRadius-medium, 6px);
80
+ }
81
+
82
+ .Box-title {
83
+ font-size: var(--primer-text-body-size-medium, 14px);
84
+ font-weight: var(--base-text-weight-semibold, 600);
85
+ }
86
+
87
+ .Box-body {
88
+ padding: var(--primer-stack-padding-normal, 16px);
89
+ border-bottom: var(--primer-borderWidth-thin, 1px) solid var(--color-border-default);
90
+
91
+ /* Ensures bottom-border doesn't poke out when .Box-body used without box-footer */
92
+ &:last-of-type {
93
+ margin-bottom: calc(var(--primer-borderWidth-thin, 1px) * -1);
94
+ border-bottom-right-radius: var(--primer-borderRadius-medium, 6px);
95
+ border-bottom-left-radius: var(--primer-borderRadius-medium, 6px);
96
+ }
97
+ }
98
+
99
+ /* Box rows */
100
+ .Box-row {
101
+ padding: var(--primer-stack-padding-normal, 16px);
102
+ margin-top: calc(var(--primer-borderWidth-thin, 1px) * -1);
103
+ list-style-type: none; /* To account for applying Box component to a list */
104
+ border-top-color: var(--color-border-muted);
105
+ border-top-style: solid;
106
+ border-top-width: var(--primer-borderWidth-thin, 1px);
107
+
108
+ &:first-of-type {
109
+ border-top-left-radius: var(--primer-borderRadius-medium, 6px);
110
+ border-top-right-radius: var(--primer-borderRadius-medium, 6px);
111
+ }
112
+
113
+ &:last-of-type {
114
+ border-bottom-right-radius: var(--primer-borderRadius-medium, 6px);
115
+ border-bottom-left-radius: var(--primer-borderRadius-medium, 6px);
116
+ }
117
+
118
+ /* Adds a blue vertical line to the left of the row
119
+ ** For indicating a row item is unread */
120
+ &.Box-row--unread,
121
+ /* .unread to be deprecated with .Box-row-unread */
122
+ &.unread {
123
+ box-shadow: inset 2px 0 0 var(--color-accent-emphasis);
124
+ }
125
+
126
+ &.navigation-focus {
127
+ /* Focus styles for when drag icon */
128
+ & .Box-row--drag-button {
129
+ color: var(--color-accent-fg);
130
+ cursor: grab;
131
+ opacity: 100;
132
+ }
133
+
134
+ /* Grabbing while row is dragged */
135
+ &.is-dragging .Box-row--drag-button {
136
+ cursor: grabbing;
137
+ }
138
+
139
+ /* Row dragging styles */
140
+ &.sortable-chosen {
141
+ background-color: var(--color-canvas-subtle);
142
+ }
143
+
144
+ /* Makes dragging row background gray */
145
+ &.sortable-ghost {
146
+ background-color: var(--color-canvas-subtle);
147
+
148
+ /* Hides contents of row while dragging so row looks solid gray */
149
+ & .Box-row--drag-hide {
150
+ opacity: 0;
151
+ }
152
+ }
153
+ }
154
+ }
155
+
156
+ .Box-row--focus-gray {
157
+ &.navigation-focus {
158
+ background-color: var(--color-canvas-subtle);
159
+ }
160
+ }
161
+
162
+ .Box-row--focus-blue {
163
+ &.navigation-focus {
164
+ background-color: var(--color-accent-subtle);
165
+ }
166
+ }
167
+
168
+ .Box-row--hover-gray {
169
+ &:hover {
170
+ background-color: var(--color-canvas-subtle);
171
+ }
172
+ }
173
+
174
+ .Box-row--hover-blue {
175
+ &:hover {
176
+ background-color: var(--color-accent-subtle);
177
+ }
178
+ }
179
+
180
+ /* Optional link style
181
+ ** Makes links on mobile blue since they don't have hover state,
182
+ ** and links are dark-gray with blue hover on desktop. */
183
+ .Box-row-link {
184
+ @media (min-width: 768px) {
185
+ color: var(--color-fg-default);
186
+ text-decoration: none;
187
+
188
+ &:hover {
189
+ color: var(--color-accent-fg);
190
+ text-decoration: none;
191
+ }
192
+ }
193
+ }
194
+
195
+ /* Optional drag icon styles for reordering items
196
+ ** Focus styles included in .Box-row above */
197
+ .Box-row--drag-button {
198
+ opacity: 0;
199
+ }
200
+
201
+ .Box-footer {
202
+ padding: var(--primer-stack-padding-normal, 16px);
203
+ margin-top: calc(var(--primer-borderWidth-thin, 1px) * -1); /* prevents double border when used with .Box-body */
204
+ border-top-color: var(--color-border-default);
205
+ border-top-style: solid;
206
+ border-top-width: var(--primer-borderWidth-thin, 1px);
207
+ border-radius: 0 0 var(--primer-borderRadius-medium, 6px) var(--primer-borderRadius-medium, 6px);
208
+ }
209
+
210
+ /* Option for a box with scrolling content */
211
+ .Box--scrollable {
212
+ max-height: 324px;
213
+ overflow: scroll;
214
+ }
215
+
216
+ /* Box themes */
217
+
218
+ .Box--blue {
219
+ border-color: var(--color-accent-muted);
220
+
221
+ & .Box-header {
222
+ background-color: var(--color-accent-subtle);
223
+ border-color: var(--color-accent-muted);
224
+ }
225
+
226
+ & .Box-body {
227
+ border-color: var(--color-accent-muted);
228
+ }
229
+
230
+ & .Box-row {
231
+ border-color: var(--color-accent-muted);
232
+ }
233
+
234
+ & .Box-footer {
235
+ border-color: var(--color-accent-muted);
236
+ }
237
+ }
238
+
239
+ /* Applies and red border to the outside of the box,
240
+ ** but not to the border separating rows. */
241
+ .Box--danger {
242
+ border-color: var(--color-danger-emphasis);
243
+
244
+ & .Box-row {
245
+ &:first-of-type {
246
+ border-color: var(--color-danger-emphasis);
247
+ }
248
+ }
249
+
250
+ & .Box-body {
251
+ &:last-of-type {
252
+ border-color: var(--color-danger-emphasis);
253
+ }
254
+ }
255
+ }
256
+
257
+ .Box-header--blue {
258
+ background-color: var(--color-accent-subtle);
259
+ border-color: var(--color-accent-muted);
260
+ }
261
+
262
+ /* Box row highlight themes */
263
+
264
+ .Box-row--yellow {
265
+ background-color: var(--color-attention-subtle);
266
+ }
267
+
268
+ .Box-row--blue {
269
+ background-color: var(--color-accent-subtle);
270
+ }
271
+
272
+ .Box-row--gray {
273
+ background-color: var(--color-canvas-subtle);
274
+ }
275
+
276
+ /* Box with btn-octicon */
277
+ .Box-btn-octicon {
278
+ /* Increase specificity when btn-octicon is used because comes after .Box in the cascade */
279
+ &.btn-octicon {
280
+ padding: var(--primer-control-medium-paddingInline-spacious, 16px) var(--primer-control-medium-paddingInline-spacious, 16px);
281
+ margin: calc(var(--primer-controlStack-small-gap-spacious, 16px) * -1) calc(var(--primer-controlStack-small-gap-spacious, 16px) * -1);
282
+ line-height: 1.5; /* override btn-octicon line-height */
283
+ }
284
+ }
@@ -58,7 +58,7 @@ module Primer
58
58
  renders_one :trailing_visual, types: {
59
59
  icon: Primer::OcticonComponent,
60
60
  label: Primer::Beta::Label,
61
- counter: Primer::CounterComponent
61
+ counter: Primer::Beta::Counter
62
62
  }
63
63
 
64
64
  # Trailing action appears to the right of the trailing visual.
@@ -0,0 +1 @@
1
+ .flash:not(.Banner){background-image:linear-gradient(var(--color-accent-subtle),var(--color-accent-subtle));border-color:var(--color-accent-muted);border-radius:var(--primer-borderRadius-medium,6px);border-style:solid;border-width:var(--primer-borderWidth-thin,1px);color:var(--color-fg-default);padding:var(--base-size-20,20px) var(--primer-control-medium-paddingInline-spacious,16px);position:relative}.flash:not(.Banner) .octicon{color:var(--color-accent-fg);margin-right:var(--base-size-12,12px)}.flash:not(.Banner) p:last-child{margin-bottom:0}.flash-messages{margin-bottom:var(--primer-stack-gap-spacious,24px)}.flash-close:not(.Banner-close){-webkit-appearance:none;appearance:none;background:none;border:0;cursor:pointer;float:right;margin:calc(var(--primer-control-medium-paddingInline-spacious, 16px)*-1);padding:var(--primer-control-medium-paddingInline-spacious,16px);text-align:center}.flash-close:not(.Banner-close):hover{opacity:.7}.flash-close:not(.Banner-close):active{opacity:.5}.flash-close:not(.Banner-close) .octicon{margin-right:0}.flash-action:not(.Banner-actions){background-clip:padding-box;float:right;margin-left:var(--primer-stack-gap-spacious,24px);margin-top:-3px}.flash-action.btn:not(.Banner-actions) .octicon{color:var(--color-fg-muted);margin-right:var(--primer-control-small-gap,4px)}.flash-action.btn-primary:not(.Banner-actions){background-clip:initial}.flash-action.btn-primary:not(.Banner-actions) .octicon{color:inherit}.flash-warn:not(.Banner){background-image:linear-gradient(var(--color-attention-subtle),var(--color-attention-subtle));border-color:var(--color-attention-muted);color:var(--color-fg-default)}.flash-warn:not(.Banner) .octicon{color:var(--color-attention-fg)}.flash-error:not(.Banner){background-image:linear-gradient(var(--color-danger-subtle),var(--color-danger-subtle));border-color:var(--color-danger-muted);color:var(--color-fg-default)}.flash-error:not(.Banner) .octicon{color:var(--color-danger-fg)}.flash-success:not(.Banner){background-image:linear-gradient(var(--color-success-subtle),var(--color-success-subtle));border-color:var(--color-success-muted);color:var(--color-fg-default)}.flash-success:not(.Banner) .octicon{color:var(--color-success-fg)}.flash-full:not(.Banner){border-radius:0;border-width:var(--primer-borderWidth-thin,1px) 0;margin-top:calc(var(--primer-borderWidth-thin, 1px)*-1)}.flash-banner{border-left:0;border-radius:0;border-right:0;border-top:0;position:fixed;top:0;width:100%;z-index:90}.flash-banner,.flash-full{background-color:var(--color-canvas-default)}.warning{background-color:var(--color-attention-subtle);font-weight:var(--base-text-weight-semibold,600);margin-bottom:.8em;padding:.5em}
@@ -0,0 +1 @@
1
+ {"name":"beta/flash","selectors":[".flash:not(.Banner)",".flash:not(.Banner) .octicon",".flash:not(.Banner) p:last-child",".flash-messages",".flash-close:not(.Banner-close)",".flash-close:not(.Banner-close):hover",".flash-close:not(.Banner-close):active",".flash-close:not(.Banner-close) .octicon",".flash-action:not(.Banner-actions)",".flash-action.btn:not(.Banner-actions) .octicon",".flash-action.btn-primary:not(.Banner-actions)",".flash-action.btn-primary:not(.Banner-actions) .octicon",".flash-warn:not(.Banner)",".flash-warn:not(.Banner) .octicon",".flash-error:not(.Banner)",".flash-error:not(.Banner) .octicon",".flash-success:not(.Banner)",".flash-success:not(.Banner) .octicon",".flash-full:not(.Banner)",".flash-banner",".flash-full",".warning"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["flash.pcss"],"names":[],"mappings":"AAGA,oBASE,uFAAyF,CACzF,sCAAuC,CALvC,mDAAqD,CAFrD,kBAAmB,CACnB,+CAAiD,CAIjD,6BAA8B,CAN9B,yFAA4F,CAD5F,iBAmBF,CARE,6BACE,4BAA6B,CAC7B,qCACF,CAEA,iCACE,eACF,CAIF,gBACE,mDACF,CAGA,gCAUE,uBAAgB,CAAhB,eAAgB,CAFhB,eAAgB,CAChB,QAAS,CAJT,cAAe,CAJf,WAAY,CAEZ,yEAA4E,CAD5E,gEAAkE,CAElE,iBAmBF,CAXE,sCACE,UACF,CAEA,uCACE,UACF,CAEA,yCACE,cACF,CAIF,mCAIE,2BAA4B,CAH5B,WAAY,CAEZ,iDAAmD,CADnD,eAgBF,CAZE,gDAEE,2BAA4B,CAD5B,gDAEF,CAEA,+CACE,uBAKF,CAHE,wDACE,aACF,CAOJ,yBAEE,6FAA+F,CAC/F,yCAA0C,CAF1C,6BAOF,CAHE,kCACE,+BACF,CAGF,0BAEE,uFAAyF,CACzF,sCAAuC,CAFvC,6BAOF,CAHE,mCACE,4BACF,CAGF,4BAEE,yFAA2F,CAC3F,uCAAwC,CAFxC,6BAOF,CAHE,qCACE,6BACF,CAKF,yBAGE,eAAgB,CADhB,iDAAmD,CADnD,uDAGF,CAGA,cAOE,aAAc,CACd,eAAgB,CAFhB,cAAe,CADf,YAAa,CAJb,cAAe,CACf,KAAM,CAEN,UAAW,CADX,UAMF,CAGA,0BAEE,4CACF,CAGA,SAIE,8CAA+C,CAD/C,gDAAkD,CADlD,kBAAoB,CADpB,YAIF","file":"flash.css","sourcesContent":["/* flash */\n\n/* Default flash */\n.flash:not(.Banner) {\n position: relative;\n padding: var(--base-size-20, 20px) var(--primer-control-medium-paddingInline-spacious, 16px);\n border-style: solid;\n border-width: var(--primer-borderWidth-thin, 1px);\n border-radius: var(--primer-borderRadius-medium, 6px);\n\n /* Default color */\n color: var(--color-fg-default);\n background-image: linear-gradient(var(--color-accent-subtle), var(--color-accent-subtle));\n border-color: var(--color-accent-muted);\n\n & .octicon {\n color: var(--color-accent-fg);\n margin-right: var(--base-size-12, 12px);\n }\n\n & p:last-child {\n margin-bottom: 0;\n }\n}\n\n/* Contain the flash messages */\n.flash-messages {\n margin-bottom: var(--primer-stack-gap-spacious, 24px);\n}\n\n/* Close button */\n.flash-close:not(.Banner-close) {\n float: right;\n padding: var(--primer-control-medium-paddingInline-spacious, 16px);\n margin: calc(var(--primer-control-medium-paddingInline-spacious, 16px) * -1);\n text-align: center;\n cursor: pointer;\n\n /* Undo `<button>` styles */\n background: none;\n border: 0;\n appearance: none;\n\n &:hover {\n opacity: 0.7;\n }\n\n &:active {\n opacity: 0.5;\n }\n\n & .octicon {\n margin-right: 0;\n }\n}\n\n/* Action button */\n.flash-action:not(.Banner-actions) {\n float: right;\n margin-top: -3px;\n margin-left: var(--primer-stack-gap-spacious, 24px);\n background-clip: padding-box;\n\n &.btn .octicon {\n margin-right: var(--primer-control-small-gap, 4px);\n color: var(--color-fg-muted);\n }\n\n &.btn-primary {\n background-clip: border-box;\n\n & .octicon {\n color: inherit;\n }\n }\n}\n\n\n/* Color variations */\n\n.flash-warn:not(.Banner) {\n color: var(--color-fg-default);\n background-image: linear-gradient(var(--color-attention-subtle), var(--color-attention-subtle));\n border-color: var(--color-attention-muted);\n\n & .octicon {\n color: var(--color-attention-fg);\n }\n}\n\n.flash-error:not(.Banner) {\n color: var(--color-fg-default);\n background-image: linear-gradient(var(--color-danger-subtle), var(--color-danger-subtle));\n border-color: var(--color-danger-muted);\n\n & .octicon {\n color: var(--color-danger-fg);\n }\n}\n\n.flash-success:not(.Banner) {\n color: var(--color-fg-default);\n background-image: linear-gradient(var(--color-success-subtle), var(--color-success-subtle));\n border-color: var(--color-success-muted);\n\n & .octicon {\n color: var(--color-success-fg);\n }\n}\n\n/* Layout variations */\n\n.flash-full:not(.Banner) {\n margin-top: calc(var(--primer-borderWidth-thin, 1px) * -1);\n border-width: var(--primer-borderWidth-thin, 1px) 0;\n border-radius: 0;\n}\n\n/* A banner rendered at the top of the page. */\n.flash-banner {\n position: fixed;\n top: 0;\n z-index: 90;\n width: 100%;\n border-top: 0;\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n/* Makes sure the background is opaque to cover any content underneath */\n.flash-full,\n.flash-banner {\n background-color: var(--color-canvas-default);\n}\n\n/* FIXME deprecate this */\n.warning {\n padding: 0.5em;\n margin-bottom: 0.8em;\n font-weight: var(--base-text-weight-semibold, 600);\n background-color: var(--color-attention-subtle);\n}\n"]}
@@ -0,0 +1,143 @@
1
+ /* flash */
2
+
3
+ /* Default flash */
4
+ .flash:not(.Banner) {
5
+ position: relative;
6
+ padding: var(--base-size-20, 20px) var(--primer-control-medium-paddingInline-spacious, 16px);
7
+ border-style: solid;
8
+ border-width: var(--primer-borderWidth-thin, 1px);
9
+ border-radius: var(--primer-borderRadius-medium, 6px);
10
+
11
+ /* Default color */
12
+ color: var(--color-fg-default);
13
+ background-image: linear-gradient(var(--color-accent-subtle), var(--color-accent-subtle));
14
+ border-color: var(--color-accent-muted);
15
+
16
+ & .octicon {
17
+ color: var(--color-accent-fg);
18
+ margin-right: var(--base-size-12, 12px);
19
+ }
20
+
21
+ & p:last-child {
22
+ margin-bottom: 0;
23
+ }
24
+ }
25
+
26
+ /* Contain the flash messages */
27
+ .flash-messages {
28
+ margin-bottom: var(--primer-stack-gap-spacious, 24px);
29
+ }
30
+
31
+ /* Close button */
32
+ .flash-close:not(.Banner-close) {
33
+ float: right;
34
+ padding: var(--primer-control-medium-paddingInline-spacious, 16px);
35
+ margin: calc(var(--primer-control-medium-paddingInline-spacious, 16px) * -1);
36
+ text-align: center;
37
+ cursor: pointer;
38
+
39
+ /* Undo `<button>` styles */
40
+ background: none;
41
+ border: 0;
42
+ appearance: none;
43
+
44
+ &:hover {
45
+ opacity: 0.7;
46
+ }
47
+
48
+ &:active {
49
+ opacity: 0.5;
50
+ }
51
+
52
+ & .octicon {
53
+ margin-right: 0;
54
+ }
55
+ }
56
+
57
+ /* Action button */
58
+ .flash-action:not(.Banner-actions) {
59
+ float: right;
60
+ margin-top: -3px;
61
+ margin-left: var(--primer-stack-gap-spacious, 24px);
62
+ background-clip: padding-box;
63
+
64
+ &.btn .octicon {
65
+ margin-right: var(--primer-control-small-gap, 4px);
66
+ color: var(--color-fg-muted);
67
+ }
68
+
69
+ &.btn-primary {
70
+ background-clip: border-box;
71
+
72
+ & .octicon {
73
+ color: inherit;
74
+ }
75
+ }
76
+ }
77
+
78
+
79
+ /* Color variations */
80
+
81
+ .flash-warn:not(.Banner) {
82
+ color: var(--color-fg-default);
83
+ background-image: linear-gradient(var(--color-attention-subtle), var(--color-attention-subtle));
84
+ border-color: var(--color-attention-muted);
85
+
86
+ & .octicon {
87
+ color: var(--color-attention-fg);
88
+ }
89
+ }
90
+
91
+ .flash-error:not(.Banner) {
92
+ color: var(--color-fg-default);
93
+ background-image: linear-gradient(var(--color-danger-subtle), var(--color-danger-subtle));
94
+ border-color: var(--color-danger-muted);
95
+
96
+ & .octicon {
97
+ color: var(--color-danger-fg);
98
+ }
99
+ }
100
+
101
+ .flash-success:not(.Banner) {
102
+ color: var(--color-fg-default);
103
+ background-image: linear-gradient(var(--color-success-subtle), var(--color-success-subtle));
104
+ border-color: var(--color-success-muted);
105
+
106
+ & .octicon {
107
+ color: var(--color-success-fg);
108
+ }
109
+ }
110
+
111
+ /* Layout variations */
112
+
113
+ .flash-full:not(.Banner) {
114
+ margin-top: calc(var(--primer-borderWidth-thin, 1px) * -1);
115
+ border-width: var(--primer-borderWidth-thin, 1px) 0;
116
+ border-radius: 0;
117
+ }
118
+
119
+ /* A banner rendered at the top of the page. */
120
+ .flash-banner {
121
+ position: fixed;
122
+ top: 0;
123
+ z-index: 90;
124
+ width: 100%;
125
+ border-top: 0;
126
+ border-right: 0;
127
+ border-left: 0;
128
+ border-radius: 0;
129
+ }
130
+
131
+ /* Makes sure the background is opaque to cover any content underneath */
132
+ .flash-full,
133
+ .flash-banner {
134
+ background-color: var(--color-canvas-default);
135
+ }
136
+
137
+ /* FIXME deprecate this */
138
+ .warning {
139
+ padding: 0.5em;
140
+ margin-bottom: 0.8em;
141
+ font-weight: var(--base-text-weight-semibold, 600);
142
+ background-color: var(--color-attention-subtle);
143
+ }
@@ -0,0 +1 @@
1
+ .Link{color:var(--color-accent-fg)}.Link:hover{cursor:pointer;text-decoration:underline}.Link:focus,.Link:focus-visible{outline-offset:0}.Link--primary{color:var(--color-fg-default)!important}.Link--primary:hover{color:var(--color-accent-fg)!important}.Link--secondary{color:var(--color-fg-muted)!important}.Link--secondary:hover{color:var(--color-accent-fg)!important}.Link--muted{color:var(--color-fg-muted)!important}.Link--muted:hover{text-decoration:none}.Link--muted:hover,.Link--onHover:hover{color:var(--color-accent-fg)!important}.Link--onHover:hover{cursor:pointer;text-decoration:underline}.Link--muted:hover [class*=color-fg],.Link--primary:hover [class*=color-fg],.Link--secondary:hover [class*=color-fg]{color:inherit!important}
@@ -0,0 +1 @@
1
+ {"name":"beta/link","selectors":[".Link",".Link:hover",".Link:focus",".Link:focus-visible",".Link--primary",".Link--primary:hover",".Link--secondary",".Link--secondary:hover",".Link--muted",".Link--muted:hover",".Link--onHover:hover",".Link--muted:hover [class*=color-fg]",".Link--primary:hover [class*=color-fg]",".Link--secondary:hover [class*=color-fg]"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["link.pcss"],"names":[],"mappings":"AAEA,MACE,4BAWF,CATE,YAEE,cAAe,CADf,yBAEF,CAEA,gCAEE,gBACF,CAGF,eACE,uCAKF,CAHE,qBACE,sCACF,CAGF,iBACE,qCAKF,CAHE,uBACE,sCACF,CAGF,aACE,qCAMF,CAJE,mBAEE,oBACF,CAMA,wCARE,sCAYF,CAJA,qBAGE,cAAe,CADf,yBAEF,CAQA,qHACE,uBACF","file":"link.css","sourcesContent":["/* Links */\n\n.Link {\n color: var(--color-accent-fg);\n\n &:hover {\n text-decoration: underline;\n cursor: pointer;\n }\n\n &:focus,\n &:focus-visible {\n outline-offset: 0;\n }\n}\n\n.Link--primary {\n color: var(--color-fg-default) !important;\n\n &:hover {\n color: var(--color-accent-fg) !important;\n }\n}\n\n.Link--secondary {\n color: var(--color-fg-muted) !important;\n\n &:hover {\n color: var(--color-accent-fg) !important;\n }\n}\n\n.Link--muted {\n color: var(--color-fg-muted) !important;\n\n &:hover {\n color: var(--color-accent-fg) !important;\n text-decoration: none;\n }\n}\n\n/* Set the link color only on hover\n Useful when you want only part of a link to turn blue on hover */\n.Link--onHover {\n &:hover {\n color: var(--color-accent-fg) !important;\n text-decoration: underline;\n cursor: pointer;\n }\n}\n\n/* When using a color utility class inside of a link class\n color should change with link on hover. */\n.Link--secondary,\n.Link--primary,\n.Link--muted {\n &:hover [class*='color-fg'] {\n color: inherit !important;\n }\n}\n"]}