primer_view_components 0.0.111 → 0.0.113
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +68 -0
- data/app/assets/javascripts/primer_view_components.js +1 -1
- data/app/assets/javascripts/primer_view_components.js.map +1 -1
- data/app/assets/styles/primer_view_components.css +3 -1
- data/app/assets/styles/primer_view_components.css.map +1 -1
- data/app/components/primer/alpha/action_list.css +1 -1
- data/app/components/primer/alpha/action_list.css.json +1 -1
- data/app/components/primer/alpha/action_list.css.map +1 -1
- data/app/components/primer/alpha/action_list.pcss +0 -15
- data/app/components/primer/alpha/auto_complete.css +1 -0
- data/app/components/primer/alpha/auto_complete.css.json +1 -0
- data/app/components/primer/alpha/auto_complete.css.map +1 -0
- data/app/components/primer/alpha/auto_complete.pcss +118 -0
- data/app/components/primer/alpha/banner.css +1 -1
- data/app/components/primer/alpha/banner.css.map +1 -1
- data/app/components/primer/alpha/banner.pcss +0 -1
- data/app/components/primer/alpha/button_marketing.css +1 -0
- data/app/components/primer/alpha/button_marketing.css.json +1 -0
- data/app/components/primer/alpha/button_marketing.css.map +1 -0
- data/app/components/primer/alpha/button_marketing.pcss +175 -0
- data/app/components/primer/alpha/dialog/body.rb +3 -0
- data/app/components/primer/alpha/dialog/footer.rb +3 -0
- data/app/components/primer/alpha/dialog/header.rb +3 -0
- data/app/components/primer/alpha/dialog.css +1 -0
- data/app/components/primer/alpha/dialog.css.json +1 -0
- data/app/components/primer/alpha/dialog.css.map +1 -0
- data/app/components/primer/alpha/dialog.pcss +484 -0
- data/app/components/primer/alpha/dialog.rb +3 -0
- data/app/components/primer/{dropdown → alpha/dropdown}/menu.d.ts +0 -0
- data/app/components/primer/{dropdown → alpha/dropdown}/menu.html.erb +0 -0
- data/app/components/primer/{dropdown → alpha/dropdown}/menu.js +0 -0
- data/app/components/primer/alpha/dropdown/menu.rb +105 -0
- data/app/components/primer/{dropdown → alpha/dropdown}/menu.ts +0 -0
- data/app/components/primer/alpha/dropdown.css +1 -0
- data/app/components/primer/alpha/dropdown.css.json +1 -0
- data/app/components/primer/{dropdown.css.map → alpha/dropdown.css.map} +1 -1
- data/app/components/primer/{dropdown.d.ts → alpha/dropdown.d.ts} +0 -0
- data/app/components/primer/{dropdown.html.erb → alpha/dropdown.html.erb} +0 -0
- data/app/components/primer/{dropdown.js → alpha/dropdown.js} +0 -0
- data/app/components/primer/{dropdown.pcss → alpha/dropdown.pcss} +1 -1
- data/app/components/primer/alpha/dropdown.rb +154 -0
- data/app/components/primer/{dropdown.ts → alpha/dropdown.ts} +0 -0
- data/app/components/primer/alpha/segmented_control.css +1 -1
- data/app/components/primer/alpha/segmented_control.css.map +1 -1
- data/app/components/primer/alpha/tab_nav.css +1 -0
- data/app/components/primer/alpha/tab_nav.css.json +1 -0
- data/app/components/primer/alpha/tab_nav.css.map +1 -0
- data/app/components/primer/alpha/tab_nav.pcss +100 -0
- data/app/components/primer/alpha/text_field.css +3 -0
- data/app/components/primer/alpha/text_field.css.json +1 -0
- data/app/components/primer/alpha/text_field.css.map +1 -0
- data/app/components/primer/alpha/text_field.pcss +683 -0
- data/app/components/primer/alpha/toggle_switch.d.ts +1 -1
- data/app/components/primer/alpha/toggle_switch.js +7 -4
- data/app/components/primer/alpha/toggle_switch.ts +7 -3
- data/app/components/primer/alpha/underline_nav.css +1 -0
- data/app/components/primer/alpha/underline_nav.css.json +1 -0
- data/app/components/primer/alpha/underline_nav.css.map +1 -0
- data/app/components/primer/alpha/underline_nav.pcss +133 -0
- data/app/components/primer/beta/border_box.css +1 -0
- data/app/components/primer/beta/border_box.css.json +1 -0
- data/app/components/primer/beta/border_box.css.map +1 -0
- data/app/components/primer/beta/border_box.pcss +284 -0
- data/app/components/primer/beta/button_group.css +1 -0
- data/app/components/primer/beta/button_group.css.json +1 -0
- data/app/components/primer/beta/button_group.css.map +1 -0
- data/app/components/primer/beta/button_group.pcss +92 -0
- data/app/components/primer/{clipboard_copy.d.ts → beta/clipboard_copy.d.ts} +0 -0
- data/app/components/primer/{clipboard_copy.html.erb → beta/clipboard_copy.html.erb} +0 -0
- data/app/components/primer/{clipboard_copy.js → beta/clipboard_copy.js} +0 -0
- data/app/components/primer/beta/clipboard_copy.rb +50 -0
- data/app/components/primer/{clipboard_copy.ts → beta/clipboard_copy.ts} +0 -0
- data/app/components/primer/beta/link.css +1 -0
- data/app/components/primer/beta/link.css.json +1 -0
- data/app/components/primer/beta/link.css.map +1 -0
- data/app/components/primer/beta/link.pcss +60 -0
- data/app/components/primer/{popover_component.css → beta/popover.css} +0 -0
- data/app/components/primer/beta/popover.css.json +1 -0
- data/app/components/primer/beta/popover.css.map +1 -0
- data/app/components/primer/{popover_component.html.erb → beta/popover.html.erb} +0 -0
- data/app/components/primer/{popover_component.pcss → beta/popover.pcss} +5 -5
- data/app/components/primer/beta/popover.rb +127 -0
- data/app/components/primer/beta/relative_time.rb +160 -0
- data/app/components/primer/button_component.css +1 -0
- data/app/components/primer/button_component.css.json +1 -0
- data/app/components/primer/button_component.css.map +1 -0
- data/app/components/primer/button_component.pcss +557 -0
- data/app/components/primer/button_component.rb +1 -1
- data/app/components/primer/clipboard_copy.rb +2 -43
- data/app/components/primer/component.rb +6 -2
- data/app/components/primer/dropdown/menu.rb +5 -90
- data/app/components/primer/dropdown.rb +2 -145
- data/app/components/primer/local_time.d.ts +1 -1
- data/app/components/primer/local_time.js +1 -1
- data/app/components/primer/local_time.rb +3 -1
- data/app/components/primer/local_time.ts +1 -1
- data/app/components/primer/menu_component.css +1 -0
- data/app/components/primer/menu_component.css.json +1 -0
- data/app/components/primer/menu_component.css.map +1 -0
- data/app/components/primer/menu_component.pcss +119 -0
- data/app/components/primer/popover_component.rb +3 -120
- data/app/components/primer/primer.d.ts +2 -2
- data/app/components/primer/primer.js +2 -2
- data/app/components/primer/primer.pcss +20 -3
- data/app/components/primer/primer.ts +2 -2
- data/app/components/primer/time_ago_component.d.ts +1 -1
- data/app/components/primer/time_ago_component.js +1 -1
- data/app/components/primer/time_ago_component.rb +2 -1
- data/app/components/primer/time_ago_component.ts +1 -1
- data/app/forms/submit_button_form.rb +8 -2
- data/app/helpers/primer/form_helper.rb +12 -0
- data/lib/postcss_mixins/clearfix.pcss +12 -0
- data/lib/primer/deprecations.rb +96 -24
- data/lib/primer/deprecations.yml +68 -0
- data/lib/primer/forms/base.rb +7 -20
- data/lib/primer/forms/base_component.rb +15 -1
- data/lib/primer/forms/button.html.erb +4 -0
- data/lib/primer/forms/button.rb +68 -0
- data/lib/primer/forms/check_box.html.erb +2 -2
- data/lib/primer/forms/check_box.rb +1 -1
- data/lib/primer/forms/check_box_group.html.erb +2 -2
- data/lib/primer/forms/dsl/button_input.rb +29 -0
- data/lib/primer/forms/dsl/input_methods.rb +7 -2
- data/lib/primer/forms/dsl/submit_button_input.rb +1 -0
- data/lib/primer/forms/dsl/text_field_input.rb +0 -7
- data/lib/primer/forms/radio_button.html.erb +2 -2
- data/lib/primer/forms/radio_button.rb +1 -1
- data/lib/primer/forms/radio_button_group.html.erb +2 -2
- data/lib/primer/forms/select_list.html.erb +1 -1
- data/lib/primer/forms/select_list.rb +4 -1
- data/lib/primer/forms/submit_button.html.erb +1 -4
- data/lib/primer/forms/submit_button.rb +1 -37
- data/lib/primer/forms/text_area.html.erb +1 -1
- data/lib/primer/forms/text_area.rb +5 -1
- data/lib/primer/forms/text_field.html.erb +1 -1
- data/lib/primer/forms/text_field.rb +11 -0
- data/lib/primer/forms/utils.rb +28 -0
- data/lib/primer/view_components/audited.rb +14 -0
- data/lib/primer/view_components/engine.rb +1 -0
- data/lib/primer/view_components/linters/clipboard_copy_component_migration_counter.rb +2 -2
- data/lib/primer/view_components/linters/deprecated_components_counter.rb +15 -4
- data/lib/primer/view_components/linters/helpers/deprecated_components_helpers.rb +3 -18
- data/lib/primer/view_components/linters/severity_schema.rb +14 -0
- data/lib/primer/view_components/version.rb +1 -1
- data/lib/rubocop/cop/primer/component_name_migration.rb +2 -2
- data/lib/tasks/docs.rake +6 -5
- data/previews/primer/alpha/auto_complete_preview.rb +12 -0
- data/previews/primer/alpha/button_marketing_preview.rb +36 -0
- data/previews/primer/alpha/dropdown_preview.rb +210 -0
- data/previews/primer/alpha/segmented_control_preview.rb +9 -6
- data/previews/primer/alpha/tab_nav_preview.rb +55 -0
- data/previews/primer/alpha/text_field_preview.rb +77 -52
- data/previews/primer/beta/border_box_preview.rb +65 -13
- data/previews/primer/beta/clipboard_copy_preview/element.html.erb +2 -0
- data/previews/primer/beta/clipboard_copy_preview.rb +39 -0
- data/previews/primer/beta/link_preview.rb +28 -0
- data/previews/primer/beta/popover_preview.rb +79 -0
- data/previews/primer/beta/relative_time_preview.rb +271 -0
- data/previews/primer/forms/forms_preview.rb +1 -0
- data/static/arguments.json +183 -73
- data/static/audited_at.json +10 -6
- data/static/constants.json +180 -50
- data/static/statuses.json +12 -8
- metadata +86 -29
- data/app/components/primer/dropdown.css +0 -1
- data/app/components/primer/dropdown.css.json +0 -1
- data/app/components/primer/image.rb +0 -7
- data/app/components/primer/popover_component.css.json +0 -1
- data/app/components/primer/popover_component.css.map +0 -1
- data/app/components/primer/progress_bar_component.rb +0 -7
- data/previews/primer/clipboard_copy_preview/element.html.erb +0 -2
- data/previews/primer/clipboard_copy_preview.rb +0 -37
- data/previews/primer/dropdown_preview.rb +0 -208
- data/previews/primer/popover_component_preview.rb +0 -34
@@ -27,9 +27,12 @@ let ToggleSwitchElement = class ToggleSwitchElement extends HTMLElement {
|
|
27
27
|
return this.src != null;
|
28
28
|
}
|
29
29
|
toggle() {
|
30
|
+
if (this.isDisabled()) {
|
31
|
+
return;
|
32
|
+
}
|
30
33
|
if (this.isRemote()) {
|
31
34
|
this.setLoadingState();
|
32
|
-
this.
|
35
|
+
this.submitForm();
|
33
36
|
}
|
34
37
|
else {
|
35
38
|
this.performToggle();
|
@@ -90,12 +93,12 @@ let ToggleSwitchElement = class ToggleSwitchElement extends HTMLElement {
|
|
90
93
|
this.loadingSpinner.setAttribute('hidden', 'hidden');
|
91
94
|
this.enable();
|
92
95
|
}
|
93
|
-
async
|
96
|
+
async submitForm() {
|
94
97
|
const body = new FormData();
|
95
98
|
if (this.csrf) {
|
96
99
|
body.append(this.csrfField, this.csrf);
|
97
100
|
}
|
98
|
-
body.append('value', this.isOn() ? '
|
101
|
+
body.append('value', this.isOn() ? '0' : '1');
|
99
102
|
try {
|
100
103
|
if (!this.src)
|
101
104
|
throw new Error('invalid src');
|
@@ -131,7 +134,7 @@ __decorate([
|
|
131
134
|
], ToggleSwitchElement.prototype, "errorIcon", void 0);
|
132
135
|
__decorate([
|
133
136
|
debounce(300)
|
134
|
-
], ToggleSwitchElement.prototype, "
|
137
|
+
], ToggleSwitchElement.prototype, "submitForm", null);
|
135
138
|
ToggleSwitchElement = __decorate([
|
136
139
|
controller
|
137
140
|
], ToggleSwitchElement);
|
@@ -32,9 +32,13 @@ class ToggleSwitchElement extends HTMLElement {
|
|
32
32
|
}
|
33
33
|
|
34
34
|
toggle() {
|
35
|
+
if (this.isDisabled()) {
|
36
|
+
return
|
37
|
+
}
|
38
|
+
|
35
39
|
if (this.isRemote()) {
|
36
40
|
this.setLoadingState()
|
37
|
-
this.
|
41
|
+
this.submitForm()
|
38
42
|
} else {
|
39
43
|
this.performToggle()
|
40
44
|
}
|
@@ -110,14 +114,14 @@ class ToggleSwitchElement extends HTMLElement {
|
|
110
114
|
}
|
111
115
|
|
112
116
|
@debounce(300)
|
113
|
-
private async
|
117
|
+
private async submitForm() {
|
114
118
|
const body = new FormData()
|
115
119
|
|
116
120
|
if (this.csrf) {
|
117
121
|
body.append(this.csrfField, this.csrf)
|
118
122
|
}
|
119
123
|
|
120
|
-
body.append('value', this.isOn() ? '
|
124
|
+
body.append('value', this.isOn() ? '0' : '1')
|
121
125
|
|
122
126
|
try {
|
123
127
|
if (!this.src) throw new Error('invalid src')
|
@@ -0,0 +1 @@
|
|
1
|
+
.UnderlineNav{-webkit-overflow-scrolling:auto;box-shadow:inset 0 -1px 0 var(--color-border-muted);display:flex;justify-content:space-between;min-height:var(--base-size-48,48px);overflow-x:auto;overflow-y:hidden}.UnderlineNav .Counter{background-color:var(--color-neutral-muted);color:var(--color-fg-default);margin-left:var(--primer-control-medium-gap,8px)}.UnderlineNav .Counter--primary{background-color:var(--color-neutral-emphasis);color:var(--color-fg-on-emphasis)}.UnderlineNav-body{align-items:center;display:flex;gap:var(--primer-control-medium-gap,8px);list-style:none}.UnderlineNav-item{align-items:center;background-color:initial;border:0;border-radius:var(--primer-borderRadius-medium,6px);color:var(--color-fg-default);cursor:pointer;display:flex;font-size:var(--primer-text-body-size-medium,14px);line-height:30px;padding:0 var(--primer-control-medium-paddingInline-condensed,8px);position:relative;text-align:center;white-space:nowrap}.UnderlineNav-item:focus,.UnderlineNav-item:focus-visible,.UnderlineNav-item:hover{border-bottom-color:var(--color-neutral-muted);color:var(--color-fg-default);outline-offset:-2px;text-decoration:none;transition:border-bottom-color .12s ease-out}.UnderlineNav-item [data-content]:before{content:attr(data-content);display:block;font-weight:var(--base-text-weight-semibold,600);height:0;visibility:hidden}.UnderlineNav-item:before{content:"";height:100%;left:50%;min-height:48px;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:100%}@media (pointer:fine){.UnderlineNav-item:hover{background:var(--color-action-list-item-default-hover-bg);color:var(--color-fg-default);text-decoration:none;transition:background .12s ease-out}}.UnderlineNav-item.selected,.UnderlineNav-item[aria-current]:not([aria-current=false]),.UnderlineNav-item[role=tab][aria-selected=true]{border-bottom-color:var(--color-primer-border-active);color:var(--color-fg-default);font-weight:var(--base-text-weight-semibold,600)}:is(.UnderlineNav-item.selected,.UnderlineNav-item[role=tab][aria-selected=true],.UnderlineNav-item[aria-current]:not([aria-current=false])):after{background:var(--color-primer-border-active);border-radius:var(--primer-borderRadius-medium,6px);bottom:calc(50% - 25px);content:"";height:2px;position:absolute;right:50%;transform:translate(50%,-50%);width:100%}.UnderlineNav--right{justify-content:flex-end}.UnderlineNav--right .UnderlineNav-actions{flex:1 1 auto}.UnderlineNav-actions{align-self:center}.UnderlineNav--full{display:block}.UnderlineNav--full .UnderlineNav-body{min-height:var(--base-size-48,48px)}.UnderlineNav-octicon{fill:var(--color-fg-muted);color:var(--color-fg-muted);display:inline!important;margin-right:var(--primer-control-medium-gap,8px)}.UnderlineNav-container{display:flex;justify-content:space-between}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"alpha/underline_nav","selectors":[".UnderlineNav",".UnderlineNav .Counter",".UnderlineNav .Counter--primary",".UnderlineNav-body",".UnderlineNav-item",".UnderlineNav-item:focus",".UnderlineNav-item:focus-visible",".UnderlineNav-item:hover",".UnderlineNav-item [data-content]:before",".UnderlineNav-item:before",".UnderlineNav-item.selected",".UnderlineNav-item[aria-current]:not([aria-current=false])",".UnderlineNav-item[role=tab][aria-selected=true]",":is(.UnderlineNav-item.selected",".UnderlineNav-item[aria-current]:not([aria-current=false])):after",".UnderlineNav--right",".UnderlineNav--right .UnderlineNav-actions",".UnderlineNav-actions",".UnderlineNav--full",".UnderlineNav--full .UnderlineNav-body",".UnderlineNav-octicon",".UnderlineNav-container"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["underline_nav.pcss","<no source>"],"names":[],"mappings":"AAEA,cAME,+BAAgC,CADhC,mDAAoD,CAJpD,YAAa,CAMb,6BAA8B,CAL9B,mCAAqC,CACrC,eAAgB,CAChB,iBAeF,CAVE,uBAGE,2CAA4C,CAD5C,6BAA8B,CAD9B,gDAGF,CAEA,gCAEE,8CAA+C,CAD/C,iCAEF,CAGF,mBAEE,kBAAmB,CADnB,YAAa,CAEb,wCAA0C,CAC1C,eACF,CAEA,mBAaE,kBAAmB,CAHnB,wBAA6B,CAC7B,QAAS,CACT,mDAAqD,CANrD,6BAA8B,CAG9B,cAAe,CAPf,YAAa,CAEb,kDAAoD,CACpD,gBAAiB,CAFjB,kEAAoE,CAFpE,iBAAkB,CAMlB,iBAAkB,CAClB,kBA6DF,CAtDE,mFAKE,8CAA+C,CAF/C,6BAA8B,CAG9B,mBAAoB,CAFpB,oBAAqB,CAGrB,4CACF,CAGA,yCAKE,0BAA2B,CAJ3B,aAAc,CAEd,gDAAkD,CADlD,QAAS,CAET,iBAEF,CAIE,0BClEJ,WAAA,YAAA,SAAA,gBAAA,kBAAA,QAAA,4CAAA,UDkE8B,CAI5B,sBACE,yBAGE,yDAA0D,CAF1D,6BAA8B,CAC9B,oBAAqB,CAErB,mCACF,CACF,CAEA,wIAKE,qDAAsD,CADtD,6BAA8B,CAD9B,gDAgBF,CAXE,mJAOE,4CAA6C,CAC7C,mDAAqD,CALrD,uBAAwB,CAGxB,UAAW,CADX,UAAW,CAJX,iBAAkB,CAClB,SAAU,CAOV,6BAA+B,CAL/B,UAMF,CAIJ,qBACE,wBAKF,CAHE,2CACE,aACF,CAGF,sBACE,iBACF,CAEA,oBACE,aAMF,CAHE,uCACE,mCACF,CAGF,sBAIE,0BAA2B,CAD3B,2BAA4B,CAF5B,wBAA0B,CAC1B,iDAGF,CAEA,wBACE,YAAa,CACb,6BACF","file":"underline_nav.css","sourcesContent":["/* UnderlineNav */\n\n.UnderlineNav {\n display: flex;\n min-height: var(--base-size-48, 48px);\n overflow-x: auto;\n overflow-y: hidden;\n box-shadow: inset 0 -1px 0 var(--color-border-muted);\n -webkit-overflow-scrolling: auto;\n justify-content: space-between;\n\n & .Counter {\n margin-left: var(--primer-control-medium-gap, 8px);\n color: var(--color-fg-default);\n background-color: var(--color-neutral-muted);\n }\n\n & .Counter--primary {\n color: var(--color-fg-on-emphasis);\n background-color: var(--color-neutral-emphasis);\n }\n}\n\n.UnderlineNav-body {\n display: flex;\n align-items: center;\n gap: var(--primer-control-medium-gap, 8px);\n list-style: none;\n}\n\n.UnderlineNav-item {\n position: relative;\n display: flex;\n padding: 0 var(--primer-control-medium-paddingInline-condensed, 8px);\n font-size: var(--primer-text-body-size-medium, 14px);\n line-height: 30px;\n color: var(--color-fg-default);\n text-align: center;\n white-space: nowrap;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--primer-borderRadius-medium, 6px);\n align-items: center;\n\n &:hover,\n &:focus,\n &:focus-visible {\n color: var(--color-fg-default);\n text-decoration: none;\n border-bottom-color: var(--color-neutral-muted);\n outline-offset: -2px;\n transition: border-bottom-color 0.12s ease-out;\n }\n\n /* renders a visibly hidden \"copy\" of the label in bold, reserving box space for when label becomes bold on selected */\n & [data-content]::before {\n display: block;\n height: 0;\n font-weight: var(--base-text-weight-semibold, 600);\n visibility: hidden;\n content: attr(data-content);\n }\n\n /* increase touch target area */\n &::before {\n @mixin minTouchTarget 48px;\n }\n\n /* hover state was \"sticking\" on mobile after click */\n @media (pointer: fine) {\n &:hover {\n color: var(--color-fg-default);\n text-decoration: none;\n background: var(--color-action-list-item-default-hover-bg);\n transition: background 0.12s ease-out;\n }\n }\n\n &.selected,\n &[role='tab'][aria-selected='true'],\n &[aria-current]:not([aria-current='false']) {\n font-weight: var(--base-text-weight-semibold, 600);\n color: var(--color-fg-default);\n border-bottom-color: var(--color-primer-border-active);\n\n /* current/selected underline */\n &::after {\n position: absolute;\n right: 50%;\n bottom: calc(50% - 25px); /* 48px total height / 2 (24px) + 1px */\n width: 100%;\n height: 2px;\n content: '';\n background: var(--color-primer-border-active);\n border-radius: var(--primer-borderRadius-medium, 6px);\n transform: translate(50%, -50%);\n }\n }\n}\n\n.UnderlineNav--right {\n justify-content: flex-end;\n\n & .UnderlineNav-actions {\n flex: 1 1 auto;\n }\n}\n\n.UnderlineNav-actions {\n align-self: center;\n}\n\n.UnderlineNav--full {\n display: block;\n\n /* required for underline to align with additional wrapper element */\n & .UnderlineNav-body {\n min-height: var(--base-size-48, 48px);\n }\n}\n\n.UnderlineNav-octicon {\n display: inline !important;\n margin-right: var(--primer-control-medium-gap, 8px);\n color: var(--color-fg-muted);\n fill: var(--color-fg-muted);\n}\n\n.UnderlineNav-container {\n display: flex;\n justify-content: space-between;\n}\n",null]}
|
@@ -0,0 +1,133 @@
|
|
1
|
+
/* UnderlineNav */
|
2
|
+
|
3
|
+
.UnderlineNav {
|
4
|
+
display: flex;
|
5
|
+
min-height: var(--base-size-48, 48px);
|
6
|
+
overflow-x: auto;
|
7
|
+
overflow-y: hidden;
|
8
|
+
box-shadow: inset 0 -1px 0 var(--color-border-muted);
|
9
|
+
-webkit-overflow-scrolling: auto;
|
10
|
+
justify-content: space-between;
|
11
|
+
|
12
|
+
& .Counter {
|
13
|
+
margin-left: var(--primer-control-medium-gap, 8px);
|
14
|
+
color: var(--color-fg-default);
|
15
|
+
background-color: var(--color-neutral-muted);
|
16
|
+
}
|
17
|
+
|
18
|
+
& .Counter--primary {
|
19
|
+
color: var(--color-fg-on-emphasis);
|
20
|
+
background-color: var(--color-neutral-emphasis);
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
.UnderlineNav-body {
|
25
|
+
display: flex;
|
26
|
+
align-items: center;
|
27
|
+
gap: var(--primer-control-medium-gap, 8px);
|
28
|
+
list-style: none;
|
29
|
+
}
|
30
|
+
|
31
|
+
.UnderlineNav-item {
|
32
|
+
position: relative;
|
33
|
+
display: flex;
|
34
|
+
padding: 0 var(--primer-control-medium-paddingInline-condensed, 8px);
|
35
|
+
font-size: var(--primer-text-body-size-medium, 14px);
|
36
|
+
line-height: 30px;
|
37
|
+
color: var(--color-fg-default);
|
38
|
+
text-align: center;
|
39
|
+
white-space: nowrap;
|
40
|
+
cursor: pointer;
|
41
|
+
background-color: transparent;
|
42
|
+
border: 0;
|
43
|
+
border-radius: var(--primer-borderRadius-medium, 6px);
|
44
|
+
align-items: center;
|
45
|
+
|
46
|
+
&:hover,
|
47
|
+
&:focus,
|
48
|
+
&:focus-visible {
|
49
|
+
color: var(--color-fg-default);
|
50
|
+
text-decoration: none;
|
51
|
+
border-bottom-color: var(--color-neutral-muted);
|
52
|
+
outline-offset: -2px;
|
53
|
+
transition: border-bottom-color 0.12s ease-out;
|
54
|
+
}
|
55
|
+
|
56
|
+
/* renders a visibly hidden "copy" of the label in bold, reserving box space for when label becomes bold on selected */
|
57
|
+
& [data-content]::before {
|
58
|
+
display: block;
|
59
|
+
height: 0;
|
60
|
+
font-weight: var(--base-text-weight-semibold, 600);
|
61
|
+
visibility: hidden;
|
62
|
+
content: attr(data-content);
|
63
|
+
}
|
64
|
+
|
65
|
+
/* increase touch target area */
|
66
|
+
&::before {
|
67
|
+
@mixin minTouchTarget 48px;
|
68
|
+
}
|
69
|
+
|
70
|
+
/* hover state was "sticking" on mobile after click */
|
71
|
+
@media (pointer: fine) {
|
72
|
+
&:hover {
|
73
|
+
color: var(--color-fg-default);
|
74
|
+
text-decoration: none;
|
75
|
+
background: var(--color-action-list-item-default-hover-bg);
|
76
|
+
transition: background 0.12s ease-out;
|
77
|
+
}
|
78
|
+
}
|
79
|
+
|
80
|
+
&.selected,
|
81
|
+
&[role='tab'][aria-selected='true'],
|
82
|
+
&[aria-current]:not([aria-current='false']) {
|
83
|
+
font-weight: var(--base-text-weight-semibold, 600);
|
84
|
+
color: var(--color-fg-default);
|
85
|
+
border-bottom-color: var(--color-primer-border-active);
|
86
|
+
|
87
|
+
/* current/selected underline */
|
88
|
+
&::after {
|
89
|
+
position: absolute;
|
90
|
+
right: 50%;
|
91
|
+
bottom: calc(50% - 25px); /* 48px total height / 2 (24px) + 1px */
|
92
|
+
width: 100%;
|
93
|
+
height: 2px;
|
94
|
+
content: '';
|
95
|
+
background: var(--color-primer-border-active);
|
96
|
+
border-radius: var(--primer-borderRadius-medium, 6px);
|
97
|
+
transform: translate(50%, -50%);
|
98
|
+
}
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
.UnderlineNav--right {
|
103
|
+
justify-content: flex-end;
|
104
|
+
|
105
|
+
& .UnderlineNav-actions {
|
106
|
+
flex: 1 1 auto;
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
110
|
+
.UnderlineNav-actions {
|
111
|
+
align-self: center;
|
112
|
+
}
|
113
|
+
|
114
|
+
.UnderlineNav--full {
|
115
|
+
display: block;
|
116
|
+
|
117
|
+
/* required for underline to align with additional wrapper element */
|
118
|
+
& .UnderlineNav-body {
|
119
|
+
min-height: var(--base-size-48, 48px);
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
.UnderlineNav-octicon {
|
124
|
+
display: inline !important;
|
125
|
+
margin-right: var(--primer-control-medium-gap, 8px);
|
126
|
+
color: var(--color-fg-muted);
|
127
|
+
fill: var(--color-fg-muted);
|
128
|
+
}
|
129
|
+
|
130
|
+
.UnderlineNav-container {
|
131
|
+
display: flex;
|
132
|
+
justify-content: space-between;
|
133
|
+
}
|
@@ -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
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
.BtnGroup{display:inline-block;vertical-align:middle}.BtnGroup:after,.BtnGroup:before{content:"";display:table}.BtnGroup:after{clear:both}.BtnGroup+.BtnGroup,.BtnGroup+.btn{margin-left:var(--primer-control-small-gap,4px)}.BtnGroup-item.btn{border-radius:0;border-right-width:0;float:left;position:relative}.BtnGroup-item.btn:first-child{border-bottom-left-radius:var(--primer-borderRadius-medium,6px);border-top-left-radius:var(--primer-borderRadius-medium,6px)}.BtnGroup-item.btn:last-child{border-bottom-right-radius:var(--primer-borderRadius-medium,6px);border-right-width:var(--primer-borderWidth-thin,1px);border-top-right-radius:var(--primer-borderRadius-medium,6px)}.BtnGroup-item.btn.selected,.BtnGroup-item.btn:active,.BtnGroup-item.btn:focus,.BtnGroup-item.btn:hover,.BtnGroup-item.btn[aria-selected=true]{border-right-width:var(--primer-borderWidth-thin,1px)}.BtnGroup-item.btn.selected+.BtnGroup-item,.BtnGroup-item.btn.selected+.BtnGroup-parent .BtnGroup-item,.BtnGroup-item.btn:active+.BtnGroup-item,.BtnGroup-item.btn:active+.BtnGroup-parent .BtnGroup-item,.BtnGroup-item.btn:focus+.BtnGroup-item,.BtnGroup-item.btn:focus+.BtnGroup-parent .BtnGroup-item,.BtnGroup-item.btn:hover+.BtnGroup-item,.BtnGroup-item.btn:hover+.BtnGroup-parent .BtnGroup-item,.BtnGroup-item.btn[aria-selected=true]+.BtnGroup-item,.BtnGroup-item.btn[aria-selected=true]+.BtnGroup-parent .BtnGroup-item{border-left-width:0}.BtnGroup-parent{float:left}.BtnGroup-parent:first-child .BtnGroup-item{border-bottom-left-radius:var(--primer-borderRadius-medium,6px);border-top-left-radius:var(--primer-borderRadius-medium,6px)}.BtnGroup-parent:last-child .BtnGroup-item{border-bottom-right-radius:var(--primer-borderRadius-medium,6px);border-right-width:var(--primer-borderWidth-thin,1px);border-top-right-radius:var(--primer-borderRadius-medium,6px)}.BtnGroup-parent .BtnGroup-item{border-radius:0;border-right-width:0}.BtnGroup-parent.selected .BtnGroup-item,.BtnGroup-parent:active .BtnGroup-item,.BtnGroup-parent:focus .BtnGroup-item,.BtnGroup-parent:hover .BtnGroup-item,.BtnGroup-parent[aria-selected=true] .BtnGroup-item{border-right-width:var(--primer-borderWidth-thin,1px)}.BtnGroup-parent.selected+.BtnGroup-item,.BtnGroup-parent.selected+.BtnGroup-parent .BtnGroup-item,.BtnGroup-parent:active+.BtnGroup-item,.BtnGroup-parent:active+.BtnGroup-parent .BtnGroup-item,.BtnGroup-parent:focus+.BtnGroup-item,.BtnGroup-parent:focus+.BtnGroup-parent .BtnGroup-item,.BtnGroup-parent:hover+.BtnGroup-item,.BtnGroup-parent:hover+.BtnGroup-parent .BtnGroup-item,.BtnGroup-parent[aria-selected=true]+.BtnGroup-item,.BtnGroup-parent[aria-selected=true]+.BtnGroup-parent .BtnGroup-item{border-left-width:0}.BtnGroup-item:active,.BtnGroup-item:focus,.BtnGroup-parent:active,.BtnGroup-parent:focus{z-index:1}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"beta/button_group","selectors":[".BtnGroup",".BtnGroup:after",".BtnGroup:before",".BtnGroup+.BtnGroup",".BtnGroup+.btn",".BtnGroup-item.btn",".BtnGroup-item.btn:first-child",".BtnGroup-item.btn:last-child",".BtnGroup-item.btn.selected",".BtnGroup-item.btn:active",".BtnGroup-item.btn:focus",".BtnGroup-item.btn:hover",".BtnGroup-item.btn[aria-selected=true]",".BtnGroup-item.btn.selected+.BtnGroup-item",".BtnGroup-item.btn.selected+.BtnGroup-parent .BtnGroup-item",".BtnGroup-item.btn:active+.BtnGroup-item",".BtnGroup-item.btn:active+.BtnGroup-parent .BtnGroup-item",".BtnGroup-item.btn:focus+.BtnGroup-item",".BtnGroup-item.btn:focus+.BtnGroup-parent .BtnGroup-item",".BtnGroup-item.btn:hover+.BtnGroup-item",".BtnGroup-item.btn:hover+.BtnGroup-parent .BtnGroup-item",".BtnGroup-item.btn[aria-selected=true]+.BtnGroup-item",".BtnGroup-item.btn[aria-selected=true]+.BtnGroup-parent .BtnGroup-item",".BtnGroup-parent",".BtnGroup-parent:first-child .BtnGroup-item",".BtnGroup-parent:last-child .BtnGroup-item",".BtnGroup-parent .BtnGroup-item",".BtnGroup-parent.selected .BtnGroup-item",".BtnGroup-parent:active .BtnGroup-item",".BtnGroup-parent:focus .BtnGroup-item",".BtnGroup-parent:hover .BtnGroup-item",".BtnGroup-parent[aria-selected=true] .BtnGroup-item",".BtnGroup-parent.selected+.BtnGroup-item",".BtnGroup-parent.selected+.BtnGroup-parent .BtnGroup-item",".BtnGroup-parent:active+.BtnGroup-item",".BtnGroup-parent:active+.BtnGroup-parent .BtnGroup-item",".BtnGroup-parent:focus+.BtnGroup-item",".BtnGroup-parent:focus+.BtnGroup-parent .BtnGroup-item",".BtnGroup-parent:hover+.BtnGroup-item",".BtnGroup-parent:hover+.BtnGroup-parent .BtnGroup-item",".BtnGroup-parent[aria-selected=true]+.BtnGroup-item",".BtnGroup-parent[aria-selected=true]+.BtnGroup-parent .BtnGroup-item",".BtnGroup-item:active",".BtnGroup-item:focus",".BtnGroup-parent:active",".BtnGroup-parent:focus"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["button_group.pcss","../../../../lib/postcss_mixins/clearfix.pcss"],"names":[],"mappings":"AAKA,UACE,oBAAqB,CACrB,qBASF,CCVE,iCAHE,UAAW,CADX,aAQF,CAJA,gBAEE,UAEF,CDEA,mCAEE,+CACF,CAGF,mBAIE,eAAgB,CADhB,oBAAqB,CADrB,UAAW,CADX,iBA4BF,CAvBE,+BAEE,+DAAiE,CADjE,4DAEF,CAEA,8BAGE,gEAAkE,CAFlE,qDAAuD,CACvD,6DAEF,CAEA,+IAKE,qDAMF,CAJE,ygBAEE,mBACF,CAIJ,iBACE,UAgCF,CA9BE,4CAEE,+DAAiE,CADjE,4DAEF,CAEA,2CAGE,gEAAkE,CAFlE,qDAAuD,CACvD,6DAEF,CAEA,gCAEE,eAAgB,CADhB,oBAEF,CAOE,gNACE,qDACF,CAEA,qfAEE,mBACF,CAOF,0FAEE,SACF","file":"button_group.css","sourcesContent":["/* BtnGroup */\n\n/* A button group is a series of buttons laid out next to each other, all part\n** of one visual button, but separated by rules to be separate. */\n\n.BtnGroup {\n display: inline-block;\n vertical-align: middle;\n\n @mixin clearfix;\n\n /* Proper spacing for multiple button groups (a la, gollum editor) */\n & + .BtnGroup,\n & + .btn {\n margin-left: var(--primer-control-small-gap, 4px);\n }\n}\n\n.BtnGroup-item.btn {\n position: relative;\n float: left;\n border-right-width: 0;\n border-radius: 0;\n\n &:first-child {\n border-top-left-radius: var(--primer-borderRadius-medium, 6px);\n border-bottom-left-radius: var(--primer-borderRadius-medium, 6px);\n }\n\n &:last-child {\n border-right-width: var(--primer-borderWidth-thin, 1px);\n border-top-right-radius: var(--primer-borderRadius-medium, 6px);\n border-bottom-right-radius: var(--primer-borderRadius-medium, 6px);\n }\n\n &.selected,\n &[aria-selected='true'],\n &:focus,\n &:active,\n &:hover {\n border-right-width: var(--primer-borderWidth-thin, 1px);\n\n & + .BtnGroup-item,\n & + .BtnGroup-parent .BtnGroup-item {\n border-left-width: 0;\n }\n }\n}\n\n.BtnGroup-parent {\n float: left;\n\n &:first-child .BtnGroup-item {\n border-top-left-radius: var(--primer-borderRadius-medium, 6px);\n border-bottom-left-radius: var(--primer-borderRadius-medium, 6px);\n }\n\n &:last-child .BtnGroup-item {\n border-right-width: var(--primer-borderWidth-thin, 1px);\n border-top-right-radius: var(--primer-borderRadius-medium, 6px);\n border-bottom-right-radius: var(--primer-borderRadius-medium, 6px);\n }\n\n & .BtnGroup-item {\n border-right-width: 0;\n border-radius: 0;\n }\n\n &.selected,\n &[aria-selected='true'],\n &:focus,\n &:active,\n &:hover {\n & .BtnGroup-item {\n border-right-width: var(--primer-borderWidth-thin, 1px);\n }\n\n & + .BtnGroup-item,\n & + .BtnGroup-parent .BtnGroup-item {\n border-left-width: 0;\n }\n }\n}\n\n/* ensure that the focus ring sits above the adjacent buttons */\n.BtnGroup-item,\n.BtnGroup-parent {\n &:focus,\n &:active {\n z-index: 1;\n }\n}\n","@define-mixin clearfix {\n &::before {\n display: table;\n content: '';\n }\n\n &::after {\n display: table;\n clear: both;\n content: '';\n }\n}\n"]}
|
@@ -0,0 +1,92 @@
|
|
1
|
+
/* BtnGroup */
|
2
|
+
|
3
|
+
/* A button group is a series of buttons laid out next to each other, all part
|
4
|
+
** of one visual button, but separated by rules to be separate. */
|
5
|
+
|
6
|
+
.BtnGroup {
|
7
|
+
display: inline-block;
|
8
|
+
vertical-align: middle;
|
9
|
+
|
10
|
+
@mixin clearfix;
|
11
|
+
|
12
|
+
/* Proper spacing for multiple button groups (a la, gollum editor) */
|
13
|
+
& + .BtnGroup,
|
14
|
+
& + .btn {
|
15
|
+
margin-left: var(--primer-control-small-gap, 4px);
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
.BtnGroup-item.btn {
|
20
|
+
position: relative;
|
21
|
+
float: left;
|
22
|
+
border-right-width: 0;
|
23
|
+
border-radius: 0;
|
24
|
+
|
25
|
+
&:first-child {
|
26
|
+
border-top-left-radius: var(--primer-borderRadius-medium, 6px);
|
27
|
+
border-bottom-left-radius: var(--primer-borderRadius-medium, 6px);
|
28
|
+
}
|
29
|
+
|
30
|
+
&:last-child {
|
31
|
+
border-right-width: var(--primer-borderWidth-thin, 1px);
|
32
|
+
border-top-right-radius: var(--primer-borderRadius-medium, 6px);
|
33
|
+
border-bottom-right-radius: var(--primer-borderRadius-medium, 6px);
|
34
|
+
}
|
35
|
+
|
36
|
+
&.selected,
|
37
|
+
&[aria-selected='true'],
|
38
|
+
&:focus,
|
39
|
+
&:active,
|
40
|
+
&:hover {
|
41
|
+
border-right-width: var(--primer-borderWidth-thin, 1px);
|
42
|
+
|
43
|
+
& + .BtnGroup-item,
|
44
|
+
& + .BtnGroup-parent .BtnGroup-item {
|
45
|
+
border-left-width: 0;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
50
|
+
.BtnGroup-parent {
|
51
|
+
float: left;
|
52
|
+
|
53
|
+
&:first-child .BtnGroup-item {
|
54
|
+
border-top-left-radius: var(--primer-borderRadius-medium, 6px);
|
55
|
+
border-bottom-left-radius: var(--primer-borderRadius-medium, 6px);
|
56
|
+
}
|
57
|
+
|
58
|
+
&:last-child .BtnGroup-item {
|
59
|
+
border-right-width: var(--primer-borderWidth-thin, 1px);
|
60
|
+
border-top-right-radius: var(--primer-borderRadius-medium, 6px);
|
61
|
+
border-bottom-right-radius: var(--primer-borderRadius-medium, 6px);
|
62
|
+
}
|
63
|
+
|
64
|
+
& .BtnGroup-item {
|
65
|
+
border-right-width: 0;
|
66
|
+
border-radius: 0;
|
67
|
+
}
|
68
|
+
|
69
|
+
&.selected,
|
70
|
+
&[aria-selected='true'],
|
71
|
+
&:focus,
|
72
|
+
&:active,
|
73
|
+
&:hover {
|
74
|
+
& .BtnGroup-item {
|
75
|
+
border-right-width: var(--primer-borderWidth-thin, 1px);
|
76
|
+
}
|
77
|
+
|
78
|
+
& + .BtnGroup-item,
|
79
|
+
& + .BtnGroup-parent .BtnGroup-item {
|
80
|
+
border-left-width: 0;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
}
|
84
|
+
|
85
|
+
/* ensure that the focus ring sits above the adjacent buttons */
|
86
|
+
.BtnGroup-item,
|
87
|
+
.BtnGroup-parent {
|
88
|
+
&:focus,
|
89
|
+
&:active {
|
90
|
+
z-index: 1;
|
91
|
+
}
|
92
|
+
}
|
File without changes
|
File without changes
|
File without changes
|