openproject-primer_view_components 0.28.0 → 0.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +25 -0
- data/app/assets/javascripts/app/components/primer/open_project/page_header_element.d.ts +2 -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 +1 -1
- data/app/assets/styles/primer_view_components.css.map +1 -1
- data/app/components/primer/alpha/action_bar.css +1 -1
- data/app/components/primer/alpha/action_bar.css.map +1 -1
- data/app/components/primer/alpha/action_list/item.html.erb +1 -1
- data/app/components/primer/alpha/action_list.css +1 -1
- data/app/components/primer/alpha/action_list.css.map +1 -1
- data/app/components/primer/alpha/auto_complete.css +1 -1
- data/app/components/primer/alpha/auto_complete.css.map +1 -1
- data/app/components/primer/alpha/banner.css +1 -1
- data/app/components/primer/alpha/banner.css.map +1 -1
- data/app/components/primer/alpha/button_marketing.css +1 -1
- data/app/components/primer/alpha/button_marketing.css.map +1 -1
- data/app/components/primer/alpha/dialog.css +1 -1
- data/app/components/primer/alpha/dialog.css.map +1 -1
- data/app/components/primer/alpha/dropdown.css +1 -1
- data/app/components/primer/alpha/dropdown.css.map +1 -1
- data/app/components/primer/alpha/layout.css +1 -1
- data/app/components/primer/alpha/layout.css.map +1 -1
- data/app/components/primer/alpha/menu.css +1 -1
- data/app/components/primer/alpha/menu.css.map +1 -1
- data/app/components/primer/alpha/segmented_control.css +1 -1
- data/app/components/primer/alpha/segmented_control.css.json +2 -0
- data/app/components/primer/alpha/segmented_control.css.map +1 -1
- data/app/components/primer/alpha/segmented_control.pcss +13 -0
- data/app/components/primer/alpha/tab_nav.css +1 -1
- data/app/components/primer/alpha/tab_nav.css.map +1 -1
- data/app/components/primer/alpha/text_field.css +1 -1
- data/app/components/primer/alpha/text_field.css.map +1 -1
- data/app/components/primer/alpha/toggle_switch.css +1 -1
- data/app/components/primer/alpha/toggle_switch.css.map +1 -1
- data/app/components/primer/alpha/underline_nav.css +1 -1
- data/app/components/primer/alpha/underline_nav.css.map +1 -1
- data/app/components/primer/beta/avatar.css +1 -1
- data/app/components/primer/beta/avatar.css.map +1 -1
- data/app/components/primer/beta/avatar_stack.css +1 -1
- data/app/components/primer/beta/avatar_stack.css.map +1 -1
- data/app/components/primer/beta/blankslate.css +1 -1
- data/app/components/primer/beta/blankslate.css.map +1 -1
- data/app/components/primer/beta/border_box.css +1 -1
- data/app/components/primer/beta/border_box.css.json +1 -1
- data/app/components/primer/beta/border_box.css.map +1 -1
- data/app/components/primer/beta/breadcrumbs.css +1 -1
- data/app/components/primer/beta/breadcrumbs.css.map +1 -1
- data/app/components/primer/beta/breadcrumbs.rb +3 -2
- data/app/components/primer/beta/button.css +1 -1
- data/app/components/primer/beta/button.css.json +8 -0
- data/app/components/primer/beta/button.css.map +1 -1
- data/app/components/primer/beta/button.pcss +42 -0
- data/app/components/primer/beta/button.rb +5 -1
- data/app/components/primer/beta/button_group.css +1 -1
- data/app/components/primer/beta/button_group.css.map +1 -1
- data/app/components/primer/beta/counter.css +1 -1
- data/app/components/primer/beta/counter.css.map +1 -1
- data/app/components/primer/beta/flash.css +1 -1
- data/app/components/primer/beta/flash.css.map +1 -1
- data/app/components/primer/beta/label.css +1 -1
- data/app/components/primer/beta/label.css.map +1 -1
- data/app/components/primer/beta/link.css +1 -1
- data/app/components/primer/beta/link.css.map +1 -1
- data/app/components/primer/beta/popover.css +1 -1
- data/app/components/primer/beta/popover.css.map +1 -1
- data/app/components/primer/beta/progress_bar.css +1 -1
- data/app/components/primer/beta/progress_bar.css.map +1 -1
- data/app/components/primer/beta/state.css +1 -1
- data/app/components/primer/beta/state.css.map +1 -1
- data/app/components/primer/beta/subhead.css +1 -1
- data/app/components/primer/beta/subhead.css.map +1 -1
- data/app/components/primer/beta/timeline_item.css +1 -1
- data/app/components/primer/beta/timeline_item.css.map +1 -1
- data/app/components/primer/beta/truncate.css +1 -1
- data/app/components/primer/beta/truncate.css.map +1 -1
- data/app/components/primer/open_project/border_grid.css +1 -1
- data/app/components/primer/open_project/border_grid.css.map +1 -1
- data/app/components/primer/open_project/drag_handle.css +1 -1
- data/app/components/primer/open_project/drag_handle.css.map +1 -1
- data/app/components/primer/open_project/page_header.css +1 -1
- data/app/components/primer/open_project/page_header.css.map +1 -1
- data/app/components/primer/open_project/page_header.html.erb +1 -1
- data/app/components/primer/open_project/page_header.pcss +1 -2
- data/app/components/primer/open_project/page_header.rb +25 -10
- data/app/components/primer/open_project/page_header_element.d.ts +2 -0
- data/app/components/primer/open_project/page_header_element.js +16 -1
- data/app/components/primer/open_project/page_header_element.ts +16 -1
- data/lib/primer/view_components/version.rb +1 -1
- data/previews/primer/alpha/action_list_preview.rb +1 -1
- data/previews/primer/alpha/select_preview.rb +3 -0
- data/previews/primer/beta/button_preview/label_wrap.html.erb +9 -0
- data/previews/primer/beta/button_preview/link_scheme_label_wrap.html.erb +8 -0
- data/previews/primer/beta/button_preview.rb +31 -2
- data/previews/primer/beta/nav_list_preview.rb +15 -1
- data/previews/primer/open_project/page_header_preview.rb +5 -5
- data/static/arguments.json +6 -0
- data/static/classes.json +3 -0
- data/static/info_arch.json +47 -2
- data/static/previews.json +41 -2
- metadata +4 -2
@@ -1 +1 @@
|
|
1
|
-
.Popover{position:absolute;z-index:100}.Popover-message{background-color:var(--overlay-bgColor
|
1
|
+
.Popover{position:absolute;z-index:100}.Popover-message{background-color:var(--overlay-bgColor);border:var(--borderWidth-thin) solid var(--borderColor-default);border-radius:var(--borderRadius-medium);box-shadow:var(--shadow-floating-legacy,var(--color-shadow-large))!important;margin-left:auto;margin-right:auto;position:relative;width:232px}.Popover-message:after,.Popover-message:before{content:"";display:inline-block;left:50%;position:absolute}.Popover-message:before{border:8px solid #0000;border-bottom:8px solid var(--borderColor-default);margin-left:-9px;top:-16px}.Popover-message:after{border:7px solid #0000;border-bottom:7px solid var(--overlay-bgColor);margin-left:-8px;top:-14px}.Popover-message--no-caret:after,.Popover-message--no-caret:before{display:none}.Popover-message--bottom-left:after,.Popover-message--bottom-left:before,.Popover-message--bottom-right:after,.Popover-message--bottom-right:before,.Popover-message--bottom:after,.Popover-message--bottom:before{border-bottom-color:#0000;top:auto}.Popover-message--bottom-left:before,.Popover-message--bottom-right:before,.Popover-message--bottom:before{border-top-color:var(--borderColor-default);bottom:-16px}.Popover-message--bottom-left:after,.Popover-message--bottom-right:after,.Popover-message--bottom:after{border-top-color:var(--overlay-bgColor);bottom:-14px}.Popover-message--bottom-right,.Popover-message--top-right{margin-right:0;right:-9px}.Popover-message--bottom-right:after,.Popover-message--bottom-right:before,.Popover-message--top-right:after,.Popover-message--top-right:before{left:auto;margin-left:0}.Popover-message--bottom-right:before,.Popover-message--top-right:before{right:20px}.Popover-message--bottom-right:after,.Popover-message--top-right:after{right:21px}.Popover-message--bottom-left,.Popover-message--top-left{left:-9px;margin-left:0}.Popover-message--bottom-left:after,.Popover-message--bottom-left:before,.Popover-message--top-left:after,.Popover-message--top-left:before{left:24px;margin-left:0}.Popover-message--bottom-left:after,.Popover-message--top-left:after{left:25px}.Popover-message--left-bottom:after,.Popover-message--left-bottom:before,.Popover-message--left-top:after,.Popover-message--left-top:before,.Popover-message--left:after,.Popover-message--left:before,.Popover-message--right-bottom:after,.Popover-message--right-bottom:before,.Popover-message--right-top:after,.Popover-message--right-top:before,.Popover-message--right:after,.Popover-message--right:before{border-bottom-color:#0000;left:auto;margin-left:0;top:50%}.Popover-message--left-bottom:before,.Popover-message--left-top:before,.Popover-message--left:before,.Popover-message--right-bottom:before,.Popover-message--right-top:before,.Popover-message--right:before{margin-top:-9px}.Popover-message--left-bottom:after,.Popover-message--left-top:after,.Popover-message--left:after,.Popover-message--right-bottom:after,.Popover-message--right-top:after,.Popover-message--right:after{margin-top:-8px}.Popover-message--right-bottom:before,.Popover-message--right-top:before,.Popover-message--right:before{border-left-color:var(--borderColor-default);right:-16px}.Popover-message--right-bottom:after,.Popover-message--right-top:after,.Popover-message--right:after{border-left-color:var(--overlay-bgColor);right:-14px}.Popover-message--left-bottom:before,.Popover-message--left-top:before,.Popover-message--left:before{border-right-color:var(--borderColor-default);left:-16px}.Popover-message--left-bottom:after,.Popover-message--left-top:after,.Popover-message--left:after{border-right-color:var(--overlay-bgColor);left:-14px}.Popover-message--left-top:after,.Popover-message--left-top:before,.Popover-message--right-top:after,.Popover-message--right-top:before{top:24px}.Popover-message--left-bottom:after,.Popover-message--left-bottom:before,.Popover-message--right-bottom:after,.Popover-message--right-bottom:before{top:auto}.Popover-message--left-bottom:before,.Popover-message--right-bottom:before{bottom:16px}.Popover-message--left-bottom:after,.Popover-message--right-bottom:after{bottom:17px}@media (min-width:544px){.Popover-message--large{min-width:320px}}@media (max-width:767.98px){.Popover{bottom:0!important;left:0!important;position:fixed;right:0!important;top:auto!important}.Popover-message{bottom:auto;left:auto;margin:var(--stack-gap-condensed);right:auto;top:auto;width:auto!important}.Popover-message>.btn-octicon{padding:var(--control-medium-paddingInline-normal)!important}.Popover-message:after,.Popover-message:before{display:none}}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["popover.pcss"],"names":[],"mappings":"AAEA,SACE,iBAAkB,CAClB,WACF,CAEA,iBAKE,
|
1
|
+
{"version":3,"sources":["popover.pcss"],"names":[],"mappings":"AAEA,SACE,iBAAkB,CAClB,WACF,CAEA,iBAKE,uCAAwC,CACxC,+DAAgE,CAChE,wCAAyC,CAGzC,4EAA+E,CAN/E,gBAAiB,CADjB,iBAAkB,CAFlB,iBAAkB,CAClB,WAgCF,CArBE,+CAKE,UAAW,CADX,oBAAqB,CADrB,QAAS,CADT,iBAIF,CAEA,wBAIE,sBAA+C,CAA/C,kDAA+C,CAF/C,gBAAiB,CADjB,SAIF,CAEA,uBAIE,sBAA2C,CAA3C,8CAA2C,CAF3C,gBAAiB,CADjB,SAIF,CAKA,mEAEE,YACF,CAOA,mNAGE,yBAAgC,CADhC,QAEF,CAEA,2GAEE,2CAA4C,CAD5C,YAEF,CAEA,wGAEE,uCAAwC,CADxC,YAEF,CAIF,2DAGE,cAAe,CADf,UAgBF,CAbE,gJAEE,SAAU,CACV,aACF,CAEA,yEACE,UACF,CAEA,uEACE,UACF,CAIF,yDAEE,SAAU,CACV,aAWF,CATE,4IAEE,SAAU,CACV,aACF,CAEA,qEACE,SACF,CAUA,oZAKE,yBAAgC,CAFhC,SAAU,CACV,aAAc,CAFd,OAIF,CAEA,6MACE,eACF,CAEA,uMACE,eACF,CAOA,wGAEE,4CAA6C,CAD7C,WAEF,CAEA,qGAEE,wCAAyC,CADzC,WAEF,CAOA,qGAEE,6CAA8C,CAD9C,UAEF,CAEA,kGAEE,yCAA0C,CAD1C,UAEF,CAMA,wIAEE,QACF,CAMA,oJAEE,QACF,CAEA,2EACE,WACF,CAEA,yEACE,WACF,CAGF,yBACE,wBACE,eACF,CACF,CAKA,4BACE,SAIE,kBAAoB,CACpB,gBAAkB,CAJlB,cAAe,CAEf,iBAAmB,CADnB,kBAIF,CAEA,iBAGE,WAAY,CACZ,SAAU,CAEV,iCAAkC,CAJlC,UAAW,CADX,QAAS,CAIT,oBAEF,CAGA,8BACE,4DACF,CAGA,+CAEE,YACF,CACF","file":"popover.css","sourcesContent":["/* Popover */\n\n.Popover {\n position: absolute;\n z-index: 100;\n}\n\n.Popover-message {\n position: relative;\n width: 232px;\n margin-right: auto;\n margin-left: auto;\n background-color: var(--overlay-bgColor);\n border: var(--borderWidth-thin) solid var(--borderColor-default);\n border-radius: var(--borderRadius-medium);\n\n /* adding !important to override utility classes used in dotcom */\n box-shadow: var(--shadow-floating-legacy, var(--color-shadow-large)) !important;\n\n /* Carets */\n &::before,\n &::after {\n position: absolute;\n left: 50%;\n display: inline-block;\n content: '';\n }\n\n &::before {\n top: -16px;\n margin-left: -9px;\n border: 8px solid transparent;\n border-bottom-color: var(--borderColor-default);\n }\n\n &::after {\n top: -14px;\n margin-left: -8px;\n border: 7px solid transparent;\n border-bottom-color: var(--overlay-bgColor);\n }\n}\n\n/* No caret */\n.Popover-message--no-caret {\n &::before,\n &::after {\n display: none;\n }\n}\n\n/* Bottom-oriented carets */\n.Popover-message--bottom,\n.Popover-message--bottom-right,\n.Popover-message--bottom-left {\n &::before,\n &::after {\n top: auto;\n border-bottom-color: transparent;\n }\n\n &::before {\n bottom: -16px;\n border-top-color: var(--borderColor-default);\n }\n\n &::after {\n bottom: -14px;\n border-top-color: var(--overlay-bgColor);\n }\n}\n\n/* Top and Bottom: Right-oriented carets */\n.Popover-message--top-right,\n.Popover-message--bottom-right {\n right: -9px;\n margin-right: 0;\n\n &::before,\n &::after {\n left: auto;\n margin-left: 0;\n }\n\n &::before {\n right: 20px;\n }\n\n &::after {\n right: 21px;\n }\n}\n\n/* Top and Bottom: Left-oriented carets */\n.Popover-message--top-left,\n.Popover-message--bottom-left {\n left: -9px;\n margin-left: 0;\n\n &::before,\n &::after {\n left: 24px;\n margin-left: 0;\n }\n\n &::after {\n left: 25px;\n }\n}\n\n/* Right- and Left-oriented carets */\n.Popover-message--right,\n.Popover-message--right-top,\n.Popover-message--right-bottom,\n.Popover-message--left,\n.Popover-message--left-top,\n.Popover-message--left-bottom {\n &::before,\n &::after {\n top: 50%;\n left: auto;\n margin-left: 0;\n border-bottom-color: transparent;\n }\n\n &::before {\n margin-top: -9px;\n }\n\n &::after {\n margin-top: -8px;\n }\n}\n\n/* Right-oriented carets */\n.Popover-message--right,\n.Popover-message--right-top,\n.Popover-message--right-bottom {\n &::before {\n right: -16px;\n border-left-color: var(--borderColor-default);\n }\n\n &::after {\n right: -14px;\n border-left-color: var(--overlay-bgColor);\n }\n}\n\n/* Left-oriented carets */\n.Popover-message--left,\n.Popover-message--left-top,\n.Popover-message--left-bottom {\n &::before {\n left: -16px;\n border-right-color: var(--borderColor-default);\n }\n\n &::after {\n left: -14px;\n border-right-color: var(--overlay-bgColor);\n }\n}\n\n/* Right and Left: Top-oriented carets */\n.Popover-message--right-top,\n.Popover-message--left-top {\n &::before,\n &::after {\n top: 24px;\n }\n}\n\n/* Right and Left: Bottom-oriented carets */\n.Popover-message--right-bottom,\n.Popover-message--left-bottom {\n &::before,\n &::after {\n top: auto;\n }\n\n &::before {\n bottom: 16px;\n }\n\n &::after {\n bottom: 17px;\n }\n}\n\n@media (min-width: 544px) {\n .Popover-message--large {\n min-width: 320px;\n }\n}\n\n/* Responsive Popover\n** For < md it will show full-width anchored to the bottom */\n\n@media (max-width: 767.98px) {\n .Popover {\n position: fixed;\n top: auto !important;\n right: 0 !important;\n bottom: 0 !important;\n left: 0 !important;\n }\n\n .Popover-message {\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n width: auto !important;\n margin: var(--stack-gap-condensed);\n }\n\n /* Increase tap area for touch input */\n .Popover-message > .btn-octicon {\n padding: var(--control-medium-paddingInline-normal) !important;\n }\n\n /* Remove caret */\n .Popover-message::after,\n .Popover-message::before {\n display: none;\n }\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
.Progress{background-color:var(--bgColor-neutral-muted
|
1
|
+
.Progress{background-color:var(--bgColor-neutral-muted);border-radius:6px;display:flex;height:8px;outline:1px solid #0000;overflow:hidden}.Progress--large{height:10px}.Progress--small{height:5px}.Progress-item{outline:2px solid #0000}.Progress-item+.Progress-item{margin-left:2px}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["progress_bar.pcss"],"names":[],"mappings":"AAEA,UAIE,
|
1
|
+
{"version":3,"sources":["progress_bar.pcss"],"names":[],"mappings":"AAEA,UAIE,6CAA8C,CAC9C,iBAAkB,CAJlB,YAAa,CACb,UAAW,CAIX,uBAA8B,CAH9B,eAIF,CAEA,iBACE,WACF,CAEA,iBACE,UACF,CAEA,eACE,uBACF,CAEA,8BACE,eACF","file":"progress_bar.css","sourcesContent":["/* Progress */\n\n.Progress {\n display: flex;\n height: 8px;\n overflow: hidden;\n background-color: var(--bgColor-neutral-muted);\n border-radius: 6px;\n outline: 1px solid transparent; /* Support Firefox custom colors */\n}\n\n.Progress--large {\n height: 10px;\n}\n\n.Progress--small {\n height: 5px;\n}\n\n.Progress-item {\n outline: 2px solid transparent; /* Support Firefox custom colors */\n}\n\n.Progress-item + .Progress-item {\n margin-left: 2px;\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
.State,.state{border-radius:2em;display:inline-block;font-size:var(--text-body-size-medium
|
1
|
+
.State,.state{border-radius:2em;display:inline-block;font-size:var(--text-body-size-medium);font-weight:var(--base-text-weight-medium);line-height:var(--control-medium-lineBoxHeight);padding:5px var(--control-medium-paddingInline-normal);text-align:center;white-space:nowrap}.State,.State--draft,.state{background-color:var(--bgColor-neutral-emphasis);border:var(--borderWidth-thin) solid #0000;color:var(--fgColor-onEmphasis)}.State--open{background-color:var(--bgColor-open-emphasis,var(--color-open-emphasis))}.State--merged,.State--open{color:var(--fgColor-onEmphasis)}.State--merged{background-color:var(--bgColor-done-emphasis,var(--color-done-emphasis))}.State--closed{background-color:var(--bgColor-closed-emphasis,var(--color-closed-emphasis));color:var(--fgColor-onEmphasis)}.State--small{font-size:var(--text-body-size-small);line-height:var(--base-size-24);padding:0 10px}.State--small .octicon{width:1em}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["state.pcss"],"names":[],"mappings":"AAIA,cASE,iBAAkB,CAPlB,oBAAqB,CAErB,
|
1
|
+
{"version":3,"sources":["state.pcss"],"names":[],"mappings":"AAIA,cASE,iBAAkB,CAPlB,oBAAqB,CAErB,sCAAuC,CACvC,0CAA2C,CAC3C,+CAAgD,CAHhD,sDAAuD,CAIvD,iBAAkB,CAClB,kBAEF,CAEA,4BAIE,gDAAiD,CACjD,0CAAiD,CAFjD,+BAGF,CAEA,aAEE,wEACF,CAEA,4BAJE,+BAOF,CAHA,eAEE,wEACF,CAEA,eAEE,4EAA8E,CAD9E,+BAEF,CAIA,cAEE,qCAAsC,CACtC,+BAAgC,CAFhC,cAOF,CAHE,uBACE,SACF","file":"state.css","sourcesContent":["/* State */\n\n/* Default 32px */\n\n.state, /* TODO: Deprecate */\n.State {\n display: inline-block;\n padding: 5px var(--control-medium-paddingInline-normal);\n font-size: var(--text-body-size-medium);\n font-weight: var(--base-text-weight-medium);\n line-height: var(--control-medium-lineBoxHeight);\n text-align: center;\n white-space: nowrap;\n border-radius: 2em;\n}\n\n.state, /* TODO: Deprecate */\n.State,\n.State--draft {\n color: var(--fgColor-onEmphasis);\n background-color: var(--bgColor-neutral-emphasis);\n border: var(--borderWidth-thin) solid transparent;\n}\n\n.State--open {\n color: var(--fgColor-onEmphasis);\n background-color: var(--bgColor-open-emphasis, var(--color-open-emphasis));\n}\n\n.State--merged {\n color: var(--fgColor-onEmphasis);\n background-color: var(--bgColor-done-emphasis, var(--color-done-emphasis));\n}\n\n.State--closed {\n color: var(--fgColor-onEmphasis);\n background-color: var(--bgColor-closed-emphasis, var(--color-closed-emphasis));\n}\n\n/* Small 24px */\n\n.State--small {\n padding: 0 10px;\n font-size: var(--text-body-size-small);\n line-height: var(--base-size-24);\n\n & .octicon {\n width: 1em; /* Ensures different icons don't change State indicator width */\n }\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
.Subhead{border-bottom:var(--borderWidth-thin
|
1
|
+
.Subhead{border-bottom:var(--borderWidth-thin) solid var(--borderColor-muted);display:flex;flex-flow:row wrap;justify-content:flex-end;margin-bottom:var(--stack-gap-normal);padding-bottom:var(--stack-padding-condensed)}.Subhead--spacious{margin-top:var(--base-size-40)}.Subhead-heading{flex:1 1 auto;font-weight:var(--base-text-weight-normal);order:0}.Subhead-heading--large{font-size:var(--base-size-24)}.Subhead-heading--medium{font-size:var(--text-title-size-medium)}.Subhead-heading--danger{color:var(--fgColor-danger);font-weight:var(--base-text-weight-semibold)}.Subhead-description{color:var(--fgColor-muted);flex:1 100%;font-size:var(--text-body-size-medium);order:2}.Subhead-actions{align-self:center;justify-content:flex-end;margin:var(--base-size-4) 0 var(--base-size-4) var(--base-size-4);order:1}.Subhead-actions+.Subhead-description{margin-top:var(--base-size-4)}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["subhead.pcss"],"names":[],"mappings":"AAEA,SAIE,
|
1
|
+
{"version":3,"sources":["subhead.pcss"],"names":[],"mappings":"AAEA,SAIE,oEAAqE,CAHrE,YAAa,CAIb,kBAAmB,CACnB,wBAAyB,CAHzB,qCAAsC,CADtC,6CAKF,CAGA,mBACE,8BACF,CAGA,iBAEE,aAAc,CADd,0CAA2C,CAE3C,OACF,CAEA,wBACE,6BACF,CAEA,yBACE,uCACF,CAGA,yBAEE,2BAA4B,CAD5B,4CAEF,CAGA,qBAEE,0BAA2B,CAC3B,WAAY,CAFZ,sCAAuC,CAGvC,OACF,CAGA,iBAEE,iBAAkB,CAClB,wBAAyB,CAFzB,iEAAkE,CAGlE,OAKF,CAHE,sCACE,6BACF","file":"subhead.css","sourcesContent":["/* Subhead */\n\n.Subhead {\n display: flex;\n padding-bottom: var(--stack-padding-condensed);\n margin-bottom: var(--stack-gap-normal);\n border-bottom: var(--borderWidth-thin) solid var(--borderColor-muted);\n flex-flow: row wrap;\n justify-content: flex-end; /* Keep actions right aligned. */\n}\n\n/* Modifier class to give a lot of breathing room between sections of content. */\n.Subhead--spacious {\n margin-top: var(--base-size-40);\n}\n\n/* <h2> sized heading with normal font weight */\n.Subhead-heading {\n font-weight: var(--base-text-weight-normal);\n flex: 1 1 auto;\n order: 0;\n}\n\n.Subhead-heading--large {\n font-size: var(--base-size-24);\n}\n\n.Subhead-heading--medium {\n font-size: var(--text-title-size-medium);\n}\n\n/* Make the text bold and red for dangerous content */\n.Subhead-heading--danger {\n font-weight: var(--base-text-weight-semibold);\n color: var(--fgColor-danger);\n}\n\n/* One-liner of supporting text */\n.Subhead-description {\n font-size: var(--text-body-size-medium);\n color: var(--fgColor-muted);\n flex: 1 100%;\n order: 2;\n}\n\n/* Add 1 or 2 buttons to the right of the heading */\n.Subhead-actions {\n margin: var(--base-size-4) 0 var(--base-size-4) var(--base-size-4);\n align-self: center;\n justify-content: flex-end;\n order: 1;\n\n & + .Subhead-description {\n margin-top: var(--base-size-4);\n }\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
.TimelineItem{display:flex;margin-left:var(--stack-gap-normal
|
1
|
+
.TimelineItem{display:flex;margin-left:var(--stack-gap-normal);padding:var(--stack-padding-normal) 0;position:relative}.TimelineItem:before{background-color:var(--borderColor-muted);bottom:0;content:"";display:block;left:0;position:absolute;top:0;width:var(--borderWidth-thick)}.TimelineItem:target .TimelineItem-badge{border-color:var(--borderColor-accent-emphasis);box-shadow:0 0 .2em var(--borderColor-accent-muted)}.TimelineItem-badge{align-items:center;background-color:var(--timelineBadge-bgColor);border:var(--borderWidth-thick) solid var(--bgColor-default);border-radius:50%;color:var(--fgColor-muted);display:flex;flex-shrink:0;height:var(--control-medium-size);justify-content:center;margin-left:calc(var(--control-medium-size)/-2 + 1px);margin-right:var(--controlStack-medium-gap-condensed);position:relative;width:var(--control-medium-size);z-index:1}.TimelineItem-badge--success{background-color:var(--bgColor-success-emphasis);border:var(--borderWidth-thin) solid #0000;color:var(--fgColor-onEmphasis)}.TimelineItem-body{color:var(--fgColor-muted);flex:auto;margin-top:var(--base-size-4);max-width:100%;min-width:0}.TimelineItem-avatar{left:-72px;position:absolute;z-index:1}.TimelineItem-break{background-color:var(--bgColor-default);border:0;border-top:var(--borderWidth-thicker) solid var(--borderColor-default);height:var(--stack-gap-spacious);margin:0;margin-bottom:calc(var(--stack-gap-normal)*-1);margin-left:-56px;position:relative;z-index:1}.TimelineItem--condensed{padding-bottom:0;padding-top:var(--base-size-4)}.TimelineItem--condensed:last-child{padding-bottom:var(--stack-gap-normal)}.TimelineItem--condensed .TimelineItem-badge{background-color:var(--bgColor-default);border:0;color:var(--fgColor-muted);height:var(--base-size-16);margin-bottom:var(--base-size-8);margin-top:var(--base-size-8)}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["timeline_item.pcss"],"names":[],"mappings":"AAEA,cAEE,YAAa,CAEb,
|
1
|
+
{"version":3,"sources":["timeline_item.pcss"],"names":[],"mappings":"AAEA,cAEE,YAAa,CAEb,mCAAoC,CADpC,qCAAsC,CAFtC,iBAqBF,CAfE,qBAQE,yCAA0C,CAL1C,QAAS,CAIT,UAAW,CAFX,aAAc,CADd,MAAO,CAHP,iBAAkB,CAClB,KAAM,CAIN,8BAGF,CAEA,yCACE,+CAAgD,CAChD,mDACF,CAGF,oBASE,kBAAmB,CACnB,6CAA8C,CAC9C,4DAA6D,CAC7D,iBAAkB,CAJlB,0BAA2B,CAL3B,YAAa,CAWb,aAAc,CATd,iCAAkC,CAQlC,sBAAuB,CANvB,qDAAwD,CADxD,qDAAsD,CALtD,iBAAkB,CAGlB,gCAAiC,CAFjC,SAaF,CAEA,6BAEE,gDAAiD,CACjD,0CAAiD,CAFjD,+BAGF,CAEA,mBAIE,0BAA2B,CAC3B,SAAU,CAFV,6BAA8B,CAD9B,cAAe,CADf,WAKF,CAEA,qBAEE,UAAW,CADX,iBAAkB,CAElB,SACF,CAEA,oBAOE,uCAAwC,CACxC,QAAS,CACT,sEAAuE,CANvE,gCAAiC,CACjC,QAAS,CACT,8CAAiD,CACjD,iBAAkB,CALlB,iBAAkB,CAClB,SAQF,CAEA,yBAEE,gBAAiB,CADjB,8BAgBF,CAZE,oCACE,sCACF,CAEA,6CAKE,uCAAwC,CACxC,QAAS,CAFT,0BAA2B,CAH3B,0BAA2B,CAE3B,gCAAiC,CADjC,6BAKF","file":"timeline_item.css","sourcesContent":["/* TimelineItem */\n\n.TimelineItem {\n position: relative;\n display: flex;\n padding: var(--stack-padding-normal) 0;\n margin-left: var(--stack-gap-normal);\n\n /* The Timeline */\n &::before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n display: block;\n width: var(--borderWidth-thick);\n content: '';\n background-color: var(--borderColor-muted);\n }\n\n &:target .TimelineItem-badge {\n border-color: var(--borderColor-accent-emphasis);\n box-shadow: 0 0 0.2em var(--borderColor-accent-muted);\n }\n}\n\n.TimelineItem-badge {\n position: relative;\n z-index: 1;\n display: flex;\n width: var(--control-medium-size);\n height: var(--control-medium-size);\n margin-right: var(--controlStack-medium-gap-condensed);\n margin-left: calc(var(--control-medium-size) / -2 + 1px);\n color: var(--fgColor-muted);\n align-items: center;\n background-color: var(--timelineBadge-bgColor);\n border: var(--borderWidth-thick) solid var(--bgColor-default);\n border-radius: 50%;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.TimelineItem-badge--success {\n color: var(--fgColor-onEmphasis);\n background-color: var(--bgColor-success-emphasis);\n border: var(--borderWidth-thin) solid transparent;\n}\n\n.TimelineItem-body {\n min-width: 0;\n max-width: 100%;\n margin-top: var(--base-size-4);\n color: var(--fgColor-muted);\n flex: auto;\n}\n\n.TimelineItem-avatar {\n position: absolute;\n left: -72px;\n z-index: 1;\n}\n\n.TimelineItem-break {\n position: relative;\n z-index: 1;\n height: var(--stack-gap-spacious);\n margin: 0;\n margin-bottom: calc(var(--stack-gap-normal) * -1);\n margin-left: -56px;\n background-color: var(--bgColor-default);\n border: 0;\n border-top: var(--borderWidth-thicker) solid var(--borderColor-default);\n}\n\n.TimelineItem--condensed {\n padding-top: var(--base-size-4);\n padding-bottom: 0;\n\n /* TimelineItem--condensed is often grouped. (commits) */\n &:last-child {\n padding-bottom: var(--stack-gap-normal);\n }\n\n & .TimelineItem-badge {\n height: var(--base-size-16);\n margin-top: var(--base-size-8);\n margin-bottom: var(--base-size-8);\n color: var(--fgColor-muted);\n background-color: var(--bgColor-default);\n border: 0;\n }\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
.Truncate{display:inline-flex;max-width:100%;min-width:0}.Truncate>.Truncate-text{max-width:-moz-fit-content;max-width:fit-content;min-width:1ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Truncate>.Truncate-text+.Truncate-text{margin-left:var(--control-small-gap
|
1
|
+
.Truncate{display:inline-flex;max-width:100%;min-width:0}.Truncate>.Truncate-text{max-width:-moz-fit-content;max-width:fit-content;min-width:1ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Truncate>.Truncate-text+.Truncate-text{margin-left:var(--control-small-gap)}.Truncate>.Truncate-text.Truncate-text--primary{flex-basis:200%}.Truncate>.Truncate-text.Truncate-text--expandable:active,.Truncate>.Truncate-text.Truncate-text--expandable:focus,.Truncate>.Truncate-text.Truncate-text--expandable:hover{cursor:pointer;flex-shrink:0;max-width:100%!important}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["truncate.pcss"],"names":[],"mappings":"AAEA,UACE,mBAAoB,CAEpB,cAAe,CADf,WA0BF,CAvBE,yBAEE,0BAAsB,CAAtB,qBAAsB,CADtB,aAAc,CAEd,eAAgB,CAChB,sBAAuB,CACvB,kBAiBF,CAfE,wCACE,
|
1
|
+
{"version":3,"sources":["truncate.pcss"],"names":[],"mappings":"AAEA,UACE,mBAAoB,CAEpB,cAAe,CADf,WA0BF,CAvBE,yBAEE,0BAAsB,CAAtB,qBAAsB,CADtB,aAAc,CAEd,eAAgB,CAChB,sBAAuB,CACvB,kBAiBF,CAfE,wCACE,oCACF,CAEA,gDACE,eACF,CAEA,4KAKE,cAAe,CADf,aAAc,CADd,wBAGF","file":"truncate.css","sourcesContent":["/* Truncate */\n\n.Truncate {\n display: inline-flex;\n min-width: 0;\n max-width: 100%;\n\n & > .Truncate-text {\n min-width: 1ch;\n max-width: fit-content;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n & + .Truncate-text {\n margin-left: var(--control-small-gap);\n }\n\n &.Truncate-text--primary {\n flex-basis: 200%;\n }\n\n &.Truncate-text--expandable:hover,\n &.Truncate-text--expandable:focus,\n &.Truncate-text--expandable:active {\n max-width: 100% !important;\n flex-shrink: 0;\n cursor: pointer;\n }\n }\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
.BorderGrid{border-collapse:collapse;border-style:hidden;display:table;margin-bottom:-16px;margin-top:-16px;table-layout:fixed;width:100%}.BorderGrid .BorderGrid-cell{padding-bottom:16px;padding-top:16px}.BorderGrid--spacious{margin-bottom:-24px;margin-top:-24px}.BorderGrid--spacious .BorderGrid-cell{padding-bottom:24px;padding-top:24px}.BorderGrid-row{display:table-row}.BorderGrid-cell{border:1px solid var(--borderColor-muted
|
1
|
+
.BorderGrid{border-collapse:collapse;border-style:hidden;display:table;margin-bottom:-16px;margin-top:-16px;table-layout:fixed;width:100%}.BorderGrid .BorderGrid-cell{padding-bottom:16px;padding-top:16px}.BorderGrid--spacious{margin-bottom:-24px;margin-top:-24px}.BorderGrid--spacious .BorderGrid-cell{padding-bottom:24px;padding-top:24px}.BorderGrid-row{display:table-row}.BorderGrid-cell{border:1px solid var(--borderColor-muted);display:table-cell}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["border_grid.pcss"],"names":[],"mappings":"AAEA,YAMI,wBAAyB,CACzB,mBAAmB,CANnB,aAAc,CAGd,mBAAoB,CADpB,gBAAiB,CAEjB,kBAAmB,CAHnB,UAMJ,CAEA,6BAEI,mBAAmB,CADnB,gBAEJ,CAEA,sBAEI,mBAAmB,CADnB,gBAEJ,CAEA,uCAEI,mBAAmB,CADnB,gBAEJ,CAEA,gBACI,iBACJ,CAEA,iBAEI,
|
1
|
+
{"version":3,"sources":["border_grid.pcss"],"names":[],"mappings":"AAEA,YAMI,wBAAyB,CACzB,mBAAmB,CANnB,aAAc,CAGd,mBAAoB,CADpB,gBAAiB,CAEjB,kBAAmB,CAHnB,UAMJ,CAEA,6BAEI,mBAAmB,CADnB,gBAEJ,CAEA,sBAEI,mBAAmB,CADnB,gBAEJ,CAEA,uCAEI,mBAAmB,CADnB,gBAEJ,CAEA,gBACI,iBACJ,CAEA,iBAEI,yCAAyC,CADzC,kBAEJ","file":"border_grid.css","sourcesContent":["/* CSS for BorderGrid */\n\n.BorderGrid {\n display: table;\n width: 100%;\n margin-top: -16px;\n margin-bottom: -16px;\n table-layout: fixed;\n border-collapse: collapse;\n border-style: hidden\n}\n\n.BorderGrid .BorderGrid-cell {\n padding-top: 16px;\n padding-bottom: 16px\n}\n\n.BorderGrid--spacious {\n margin-top: -24px;\n margin-bottom: -24px\n}\n\n.BorderGrid--spacious .BorderGrid-cell {\n padding-top: 24px;\n padding-bottom: 24px\n}\n\n.BorderGrid-row {\n display: table-row\n}\n\n.BorderGrid-cell {\n display: table-cell;\n border: 1px solid var(--borderColor-muted)\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
.DragHandle{color:var(--fgColor-muted
|
1
|
+
.DragHandle{color:var(--fgColor-muted);cursor:move}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["drag_handle.pcss"],"names":[],"mappings":"AAEA,YAEI,
|
1
|
+
{"version":3,"sources":["drag_handle.pcss"],"names":[],"mappings":"AAEA,YAEI,0BAA2B,CAD3B,WAEJ","file":"drag_handle.css","sourcesContent":["/* CSS for DragHandle */\n\n.DragHandle {\n cursor: move;\n color: var(--fgColor-muted);\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
.PageHeader{border-bottom:var(--borderWidth-thin
|
1
|
+
.PageHeader{border-bottom:var(--borderWidth-thin) solid var(--borderColor-muted);display:flex;flex-flow:column;margin-bottom:var(--stack-gap-normal);padding-bottom:var(--stack-padding-condensed)}.PageHeader-contextBar{margin-bottom:var(--base-size-8)}.PageHeader-contextBar,.PageHeader-titleBar{align-items:center;display:flex;flex-flow:row;justify-content:flex-end}.PageHeader-titleBar{margin-bottom:var(--space-xsmall)}.PageHeader-title{flex:1 1 auto;font-size:var(--text-title-size-medium);font-weight:var(--base-text-weight-normal)}.PageHeader-title--large{font-size:var(--text-title-size-large)}.PageHeader-description{color:var(--fgColor-muted);flex:1 100%;font-size:var(--text-body-size-medium)}.PageHeader-actions{align-items:center;display:flex;justify-content:flex-end}@media (max-width:543.98px){.PageHeader--singleAction .PageHeader-action{display:flex!important;position:absolute;top:10px}}.PageHeader-breadcrumbs{display:block;width:100%}.PageHeader-leadingAction{margin-right:var(--base-size-4);margin-top:2px}.PageHeader-parentLink{flex:1 1 auto}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["page_header.pcss"],"names":[],"mappings":"AAEA,YAIE,
|
1
|
+
{"version":3,"sources":["page_header.pcss"],"names":[],"mappings":"AAEA,YAIE,oEAAqE,CAHrE,YAAa,CAIb,gBAAiB,CAFjB,qCAAsC,CADtC,6CAIF,CAEA,uBAKE,gCACF,CAEA,4CAJE,kBAAmB,CAHnB,YAAa,CACb,aAAc,CACd,wBAWF,CANA,qBAKE,iCACF,CAEA,kBAGE,aAAc,CAFd,uCAAwC,CACxC,0CAEF,CAEA,yBACE,sCACF,CAGA,wBAEE,0BAA2B,CAC3B,WAAY,CAFZ,sCAGF,CAEA,oBAGE,kBAAmB,CADnB,YAAa,CADb,wBAGF,CAGE,4BADF,6CAMI,sBAAwB,CAJxB,iBAAkB,CAClB,QAKJ,CADE,CAGF,wBACE,aAAc,CACd,UACF,CAEA,0BAEE,+BAAgC,CADhC,cAEF,CAEA,uBACE,aACF","file":"page_header.css","sourcesContent":["/* OP PageHeader */\n\n.PageHeader {\n display: flex;\n padding-bottom: var(--stack-padding-condensed);\n margin-bottom: var(--stack-gap-normal);\n border-bottom: var(--borderWidth-thin) solid var(--borderColor-muted);\n flex-flow: column;\n}\n\n.PageHeader-contextBar {\n display: flex;\n flex-flow: row;\n justify-content: flex-end;\n align-items: center;\n margin-bottom: var(--base-size-8);\n}\n\n.PageHeader-titleBar {\n display: flex;\n flex-flow: row;\n justify-content: flex-end;\n align-items: center; /* Keep back button vertically aligned. */\n margin-bottom: var(--space-xsmall);\n}\n\n.PageHeader-title {\n font-size: var(--text-title-size-medium);\n font-weight: var(--base-text-weight-normal);\n flex: 1 1 auto;\n}\n\n.PageHeader-title--large {\n font-size: var(--text-title-size-large);\n}\n\n/* One-liner of supporting text */\n.PageHeader-description {\n font-size: var(--text-body-size-medium);\n color: var(--fgColor-muted);\n flex: 1 100%;\n}\n\n.PageHeader-actions {\n justify-content: flex-end;\n display: flex;\n align-items: center;\n}\n\n.PageHeader--singleAction .PageHeader-action {\n @media (max-width: 543.98px) {\n position: absolute;\n top: 10px;\n\n /* Normally, the actions are hidden on mobile, except for this special case of a single action */\n display: flex !important;\n }\n}\n\n.PageHeader-breadcrumbs {\n display: block;\n width: 100%;\n}\n\n.PageHeader-leadingAction {\n margin-top: 2px; /* to center align with label */\n margin-right: var(--base-size-4);\n}\n\n.PageHeader-parentLink {\n flex: 1 1 auto;\n}\n"]}
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<%= breadcrumbs %>
|
6
6
|
<% if render_mobile_menu? %>
|
7
7
|
<%= render(@mobile_action_menu) do |menu| %>
|
8
|
-
<% menu.with_show_button(icon: :"kebab-horizontal", "aria-label": @mobile_menu_label) %>
|
8
|
+
<% menu.with_show_button(icon: :"kebab-horizontal", size: :small, "aria-label": @mobile_menu_label) %>
|
9
9
|
<% @desktop_menu_block.call(menu) unless @desktop_menu_block.nil? %>
|
10
10
|
<% end %>
|
11
11
|
<% end %>
|
@@ -13,6 +13,7 @@
|
|
13
13
|
flex-flow: row;
|
14
14
|
justify-content: flex-end;
|
15
15
|
align-items: center;
|
16
|
+
margin-bottom: var(--base-size-8);
|
16
17
|
}
|
17
18
|
|
18
19
|
.PageHeader-titleBar {
|
@@ -59,8 +60,6 @@
|
|
59
60
|
.PageHeader-breadcrumbs {
|
60
61
|
display: block;
|
61
62
|
width: 100%;
|
62
|
-
margin-bottom: var(--base-size-8);
|
63
|
-
padding-bottom: var(--base-size-4);
|
64
63
|
}
|
65
64
|
|
66
65
|
.PageHeader-leadingAction {
|
@@ -47,6 +47,7 @@ module Primer
|
|
47
47
|
# Optional description below the title row
|
48
48
|
renders_one :description, lambda { |**system_arguments|
|
49
49
|
deny_tag_argument(**system_arguments)
|
50
|
+
|
50
51
|
system_arguments[:tag] = :div
|
51
52
|
system_arguments[:classes] = class_names(system_arguments[:classes], "PageHeader-description")
|
52
53
|
|
@@ -59,21 +60,27 @@ module Primer
|
|
59
60
|
renders_many :actions, types: {
|
60
61
|
icon_button: lambda { |icon:, mobile_icon:, label:, scheme: DEFAULT_ACTION_SCHEME, **system_arguments|
|
61
62
|
deny_tag_argument(**system_arguments)
|
62
|
-
|
63
|
+
|
64
|
+
system_arguments = set_action_arguments(system_arguments, scheme: scheme, button_action: true)
|
65
|
+
|
63
66
|
add_option_to_mobile_menu(system_arguments, mobile_icon, label, scheme)
|
64
67
|
|
65
68
|
Primer::Beta::IconButton.new(icon: icon, "aria-label": label, **system_arguments)
|
66
69
|
},
|
67
70
|
button: lambda { |mobile_icon:, mobile_label:, scheme: DEFAULT_ACTION_SCHEME, **system_arguments|
|
68
71
|
deny_tag_argument(**system_arguments)
|
69
|
-
|
72
|
+
|
73
|
+
system_arguments = set_action_arguments(system_arguments, scheme: scheme, button_action: true)
|
74
|
+
|
70
75
|
add_option_to_mobile_menu(system_arguments, mobile_icon, mobile_label, scheme)
|
71
76
|
|
72
77
|
Primer::Beta::Button.new(**system_arguments)
|
73
78
|
},
|
74
79
|
zen_mode_button: lambda { |mobile_icon: Primer::OpenProject::ZenModeButton::ZEN_MODE_BUTTON_ICON, mobile_label: Primer::OpenProject::ZenModeButton::ZEN_MODE_BUTTON_LABEL, **system_arguments|
|
75
80
|
deny_tag_argument(**system_arguments)
|
76
|
-
|
81
|
+
|
82
|
+
system_arguments = set_action_arguments(system_arguments, scheme: DEFAULT_ACTION_SCHEME, button_action: true)
|
83
|
+
|
77
84
|
add_option_to_mobile_menu(system_arguments, mobile_icon, mobile_label, DEFAULT_ACTION_SCHEME)
|
78
85
|
|
79
86
|
Primer::OpenProject::ZenModeButton.new(**system_arguments)
|
@@ -81,9 +88,10 @@ module Primer
|
|
81
88
|
|
82
89
|
link: lambda { |mobile_icon:, mobile_label:, scheme: DEFAULT_ACTION_SCHEME, **system_arguments|
|
83
90
|
deny_tag_argument(**system_arguments)
|
84
|
-
system_arguments[:target] ||= "_top"
|
85
91
|
|
92
|
+
system_arguments[:target] ||= "_top"
|
86
93
|
system_arguments = set_action_arguments(system_arguments, scheme: scheme)
|
94
|
+
|
87
95
|
add_option_to_mobile_menu(system_arguments, mobile_icon, mobile_label, scheme)
|
88
96
|
|
89
97
|
Primer::Beta::Link.new(**system_arguments)
|
@@ -91,9 +99,7 @@ module Primer
|
|
91
99
|
# Should only be used rarely on a per-need basis
|
92
100
|
text: lambda { |**system_arguments|
|
93
101
|
system_arguments = set_action_arguments(system_arguments)
|
94
|
-
|
95
102
|
system_arguments[:color] ||= :muted
|
96
|
-
|
97
103
|
# Enforce that texts are hidden on mobile
|
98
104
|
system_arguments[:display] = [:none, :flex]
|
99
105
|
|
@@ -102,7 +108,11 @@ module Primer
|
|
102
108
|
menu: {
|
103
109
|
renders: lambda { |**system_arguments, &block|
|
104
110
|
deny_tag_argument(**system_arguments)
|
111
|
+
|
105
112
|
system_arguments[:menu_arguments] = set_action_arguments(system_arguments[:menu_arguments])
|
113
|
+
system_arguments[:button_arguments] ||= {}
|
114
|
+
system_arguments[:button_arguments][:data] ||= {}
|
115
|
+
system_arguments[:button_arguments][:data][:targets] = "page-header.actionItems"
|
106
116
|
|
107
117
|
# Add the options individually to the mobile menu in the template
|
108
118
|
@desktop_menu_block = block
|
@@ -115,9 +125,10 @@ module Primer
|
|
115
125
|
deny_tag_argument(**system_arguments)
|
116
126
|
|
117
127
|
# The id will be automatically calculated for the trigger button, so we have to behave the same, for the mobile click to work
|
128
|
+
system_arguments[:button_arguments] ||= {}
|
118
129
|
system_arguments[:button_arguments][:id] = "dialog-show-#{system_arguments[:dialog_arguments][:id]}"
|
130
|
+
system_arguments[:button_arguments] = set_action_arguments(system_arguments[:button_arguments], button_action: true)
|
119
131
|
|
120
|
-
system_arguments[:button_arguments] = set_action_arguments(system_arguments[:button_arguments])
|
121
132
|
add_option_to_mobile_menu(system_arguments[:button_arguments], mobile_icon, mobile_label, :default)
|
122
133
|
|
123
134
|
Primer::OpenProject::PageHeader::Dialog.new(**system_arguments)
|
@@ -149,7 +160,7 @@ module Primer
|
|
149
160
|
#
|
150
161
|
# @param items [Array<String, Hash>] Items is an array of strings, hash {href, text} or an anchor tag string
|
151
162
|
# @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
|
152
|
-
renders_one :breadcrumbs, lambda { |items, **system_arguments|
|
163
|
+
renders_one :breadcrumbs, lambda { |items, selected_item_font_weight: :bold, **system_arguments|
|
153
164
|
system_arguments[:classes] = class_names(system_arguments[:classes], "PageHeader-breadcrumbs")
|
154
165
|
system_arguments[:display] ||= DEFAULT_BREADCRUMBS_DISPLAY
|
155
166
|
|
@@ -179,7 +190,7 @@ module Primer
|
|
179
190
|
item = anchor_string_to_object(item) if anchor_tag_string?(item)
|
180
191
|
|
181
192
|
if item.is_a?(String)
|
182
|
-
breadcrumbs.with_item(href: "#") { item }
|
193
|
+
breadcrumbs.with_item(href: "#", font_weight: selected_item_font_weight) { item }
|
183
194
|
else
|
184
195
|
breadcrumbs.with_item(href: item[:href], target: "_top") { item[:text] }
|
185
196
|
end
|
@@ -228,7 +239,7 @@ module Primer
|
|
228
239
|
|
229
240
|
private
|
230
241
|
|
231
|
-
def set_action_arguments(system_arguments, scheme: nil)
|
242
|
+
def set_action_arguments(system_arguments, scheme: nil, button_action: false)
|
232
243
|
system_arguments[:ml] ||= 2
|
233
244
|
system_arguments[:display] = [:none, :flex]
|
234
245
|
system_arguments[:scheme] = scheme unless scheme.nil?
|
@@ -236,6 +247,10 @@ module Primer
|
|
236
247
|
system_arguments[:classes],
|
237
248
|
"PageHeader-action",
|
238
249
|
)
|
250
|
+
if button_action
|
251
|
+
system_arguments[:data] ||= {}
|
252
|
+
system_arguments[:data][:targets] = "page-header.actionItems"
|
253
|
+
end
|
239
254
|
|
240
255
|
system_arguments[:id] ||= self.class.generate_id
|
241
256
|
system_arguments
|
@@ -4,8 +4,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
6
6
|
};
|
7
|
-
import { controller } from '@github/catalyst';
|
7
|
+
import { controller, targets } from '@github/catalyst';
|
8
8
|
let PageHeaderElement = class PageHeaderElement extends HTMLElement {
|
9
|
+
connectedCallback() {
|
10
|
+
for (const item of this.actionItems) {
|
11
|
+
/*
|
12
|
+
If there is only one action to be shown, we show that instead of the mobile action menu. However, the buttons should be the smaller button variant.
|
13
|
+
Unfortunately, the `size` attribute does not support responsive attributes and the .pcss syntax does not support inheritance between classes.
|
14
|
+
So we have to add the class manually here.
|
15
|
+
*/
|
16
|
+
if (window.innerWidth <= 544) {
|
17
|
+
item.classList.add('Button--small');
|
18
|
+
}
|
19
|
+
}
|
20
|
+
}
|
9
21
|
menuItemClick(event) {
|
10
22
|
const currentTarget = event.currentTarget;
|
11
23
|
const id = currentTarget?.getAttribute('data-for');
|
@@ -14,6 +26,9 @@ let PageHeaderElement = class PageHeaderElement extends HTMLElement {
|
|
14
26
|
}
|
15
27
|
}
|
16
28
|
};
|
29
|
+
__decorate([
|
30
|
+
targets
|
31
|
+
], PageHeaderElement.prototype, "actionItems", void 0);
|
17
32
|
PageHeaderElement = __decorate([
|
18
33
|
controller
|
19
34
|
], PageHeaderElement);
|
@@ -1,7 +1,22 @@
|
|
1
|
-
import {controller} from '@github/catalyst'
|
1
|
+
import {controller, targets} from '@github/catalyst'
|
2
2
|
|
3
3
|
@controller
|
4
4
|
class PageHeaderElement extends HTMLElement {
|
5
|
+
@targets actionItems: HTMLElement[]
|
6
|
+
|
7
|
+
connectedCallback() {
|
8
|
+
for (const item of this.actionItems) {
|
9
|
+
/*
|
10
|
+
If there is only one action to be shown, we show that instead of the mobile action menu. However, the buttons should be the smaller button variant.
|
11
|
+
Unfortunately, the `size` attribute does not support responsive attributes and the .pcss syntax does not support inheritance between classes.
|
12
|
+
So we have to add the class manually here.
|
13
|
+
*/
|
14
|
+
if (window.innerWidth <= 544) {
|
15
|
+
item.classList.add('Button--small')
|
16
|
+
}
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
5
20
|
menuItemClick(event: Event) {
|
6
21
|
const currentTarget = event.currentTarget as HTMLButtonElement
|
7
22
|
|
@@ -11,6 +11,7 @@ module Primer
|
|
11
11
|
# @param label text
|
12
12
|
# @param caption text
|
13
13
|
# @param required toggle
|
14
|
+
# @param multiple toggle
|
14
15
|
# @param visually_hide_label toggle
|
15
16
|
# @param size [Symbol] select [small, medium, large]
|
16
17
|
# @param full_width toggle
|
@@ -24,6 +25,7 @@ module Primer
|
|
24
25
|
label: "Favorite place to visit",
|
25
26
|
caption: "They're all good",
|
26
27
|
required: false,
|
28
|
+
multiple: false,
|
27
29
|
visually_hide_label: false,
|
28
30
|
size: Primer::Forms::Dsl::Input::DEFAULT_SIZE.to_s,
|
29
31
|
full_width: true,
|
@@ -38,6 +40,7 @@ module Primer
|
|
38
40
|
label: label,
|
39
41
|
caption: caption,
|
40
42
|
required: required,
|
43
|
+
multiple: multiple,
|
41
44
|
visually_hide_label: visually_hide_label,
|
42
45
|
size: size,
|
43
46
|
full_width: full_width,
|
@@ -21,6 +21,7 @@ module Primer
|
|
21
21
|
# @param inactive toggle
|
22
22
|
# @param align_content select [center, start]
|
23
23
|
# @param tag select [a, summary, button]
|
24
|
+
# @param label_wrap toggle
|
24
25
|
def playground(
|
25
26
|
scheme: :default,
|
26
27
|
size: :medium,
|
@@ -29,7 +30,8 @@ module Primer
|
|
29
30
|
align_content: :center,
|
30
31
|
tag: :button,
|
31
32
|
disabled: false,
|
32
|
-
inactive: false
|
33
|
+
inactive: false,
|
34
|
+
label_wrap: false
|
33
35
|
)
|
34
36
|
render(Primer::Beta::Button.new(
|
35
37
|
scheme: scheme,
|
@@ -39,7 +41,8 @@ module Primer
|
|
39
41
|
align_content: align_content,
|
40
42
|
tag: tag,
|
41
43
|
disabled: disabled,
|
42
|
-
inactive: inactive
|
44
|
+
inactive: inactive,
|
45
|
+
label_wrap: label_wrap
|
43
46
|
)) do |_c|
|
44
47
|
"Button"
|
45
48
|
end
|
@@ -194,6 +197,26 @@ module Primer
|
|
194
197
|
end
|
195
198
|
end
|
196
199
|
|
200
|
+
# @label Label wrap
|
201
|
+
# @param scheme select [default, primary, danger, invisible, link]
|
202
|
+
# @param size select [small, medium]
|
203
|
+
# @param block toggle
|
204
|
+
# @param label_wrap toggle
|
205
|
+
# @snapshot
|
206
|
+
def label_wrap(
|
207
|
+
scheme: :default,
|
208
|
+
size: :medium,
|
209
|
+
block: false,
|
210
|
+
label_wrap: true
|
211
|
+
)
|
212
|
+
render_with_template(locals: {
|
213
|
+
scheme: scheme,
|
214
|
+
size: size,
|
215
|
+
block: block,
|
216
|
+
label_wrap: label_wrap
|
217
|
+
})
|
218
|
+
end
|
219
|
+
|
197
220
|
# @label Link as button
|
198
221
|
# @param scheme select [default, primary, danger, invisible, link]
|
199
222
|
# @param size select [small, medium]
|
@@ -361,6 +384,12 @@ module Primer
|
|
361
384
|
"Button"
|
362
385
|
end
|
363
386
|
end
|
387
|
+
|
388
|
+
# @label Link scheme with long label
|
389
|
+
# @snapshot
|
390
|
+
def link_scheme_label_wrap
|
391
|
+
render_with_template(locals: {})
|
392
|
+
end
|
364
393
|
end
|
365
394
|
end
|
366
395
|
end
|
@@ -139,7 +139,7 @@ module Primer
|
|
139
139
|
component.with_item(
|
140
140
|
label: "Really really long label that may wrap, truncate, or appear as a tooltip",
|
141
141
|
truncate_label: truncate_label
|
142
|
-
)
|
142
|
+
)
|
143
143
|
component.with_item(
|
144
144
|
label: "Really really long label that may wrap, truncate, or appear as a tooltip",
|
145
145
|
truncate_label: truncate_label
|
@@ -178,6 +178,20 @@ module Primer
|
|
178
178
|
end
|
179
179
|
end
|
180
180
|
end
|
181
|
+
|
182
|
+
def group_long_label_with_tooltip
|
183
|
+
render(Primer::Beta::NavList.new) do |list|
|
184
|
+
list.with_heading(title: "Repository settings")
|
185
|
+
|
186
|
+
list.with_item(label: "Really really long label that may wrap, truncate, or appear as a tooltip", truncate_label: :show_tooltip) do |item|
|
187
|
+
item.with_leading_visual_icon(icon: :"comment-discussion")
|
188
|
+
|
189
|
+
item.with_item(label: "Interaction limits", href: "/interaction-limits", selected_by_ids: :interaction_limits)
|
190
|
+
item.with_item(label: "Code review limits", href: "/review-limits", selected_by_ids: :code_review_limits)
|
191
|
+
item.with_item(label: "Reported content", href: "/reported-content", selected_by_ids: :reported_content)
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
181
195
|
end
|
182
196
|
end
|
183
197
|
end
|
@@ -137,19 +137,19 @@ module Primer
|
|
137
137
|
end
|
138
138
|
end
|
139
139
|
|
140
|
-
# @label With breadcrumbs
|
140
|
+
# @label With non-bold breadcrumbs
|
141
141
|
# **Breadcrumbs** are only shown on **wider than narrow screens** by default.
|
142
142
|
# A parent link is shown instead in narrow screens
|
143
|
-
#
|
144
|
-
def
|
143
|
+
# Per default, the last element is shown in bold, but that can be disabled, e.g if only parts of the string should be bold.
|
144
|
+
def non_bold_breadcrumbs
|
145
145
|
breadcrumb_items = [
|
146
146
|
{ href: "/foo", text: "Foo" },
|
147
147
|
"\u003ca href=\"/foo/bar\"\u003eBar\u003c/a\u003e",
|
148
|
-
"Baz"
|
148
|
+
"Test: <b>Baz</b>".html_safe
|
149
149
|
]
|
150
150
|
render(Primer::OpenProject::PageHeader.new) do |header|
|
151
151
|
header.with_title { "A title" }
|
152
|
-
header.with_breadcrumbs(breadcrumb_items)
|
152
|
+
header.with_breadcrumbs(breadcrumb_items, selected_item_font_weight: :normal)
|
153
153
|
end
|
154
154
|
end
|
155
155
|
end
|
data/static/arguments.json
CHANGED
@@ -3400,6 +3400,12 @@
|
|
3400
3400
|
"default": "`false`",
|
3401
3401
|
"description": "Whether or not the button is disabled. If true, this option forces `tag:` to `:button`."
|
3402
3402
|
},
|
3403
|
+
{
|
3404
|
+
"name": "label_wrap",
|
3405
|
+
"type": "Boolean",
|
3406
|
+
"default": "`false`",
|
3407
|
+
"description": "Whether or not the button label text wraps and the button height expands."
|
3408
|
+
},
|
3403
3409
|
{
|
3404
3410
|
"name": "system_arguments",
|
3405
3411
|
"type": "Hash",
|