From 26cdeae2089142d511780db8c713a4ad985dedbb Mon Sep 17 00:00:00 2001 From: Wesley Bomar Date: Wed, 17 Jan 2024 14:57:15 -0600 Subject: [PATCH 01/13] chore: save RT basic RT customization https://docs.bestpractical.com/rt/5.0.5/customizing/styling_rt.html#RT-Theme-Editor This is the original content before any edits. It applies no styles. it is a template for the editor to auto-populate. --- .../core-styles.rt.elevator-light.css | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/lib/_imports/core-styles.rt.elevator-light.css diff --git a/src/lib/_imports/core-styles.rt.elevator-light.css b/src/lib/_imports/core-styles.rt.elevator-light.css new file mode 100644 index 000000000..72a12365f --- /dev/null +++ b/src/lib/_imports/core-styles.rt.elevator-light.css @@ -0,0 +1,34 @@ +/* Page */ +body {} +div#body {} + +/* Menu bar */ +div#quickbar {} +#main-navigation #app-nav.sf-shadow > li, #main-navigation #app-nav.sf-shadow > li > a, #prefs-menu > li, #prefs-menu > li > a, #logo .rtname {} + +/* Title bar */ +div#header {} + +/* Page title */ +div#header h1 {} + +/* Page content */ +div#body, .body-content-class {} + +/* Buttons */ +input[type="reset"], input[type="submit"], input[class="button"] {} + +/* Button hover */ +input[type="reset"]:hover, input[type="submit"]:hover, input[class="button"]:hover {} + +/* Search results */ +table.collection-as-table th.collection-as-table a {} + +/* Portlet Text */ +.titlebox .titlebox-title .left a, .titlebox .titlebox-title .left {} + +/* Selected bubble */ +.selectize-control.multi .selectize-input [data-value] {} + +/* Selected bubble (active) */ +.selectize-control.multi .selectize-input [data-value].active {} \ No newline at end of file From c8f9d0995aaba7a74bc01f792ee71e5ce4a28acb Mon Sep 17 00:00:00 2001 From: Wesley Bomar Date: Wed, 17 Jan 2024 15:02:02 -0600 Subject: [PATCH 02/13] feat: rt elevator-light #header & #page-navigation --- .../core-styles.rt.elevator-light.css | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) diff --git a/src/lib/_imports/core-styles.rt.elevator-light.css b/src/lib/_imports/core-styles.rt.elevator-light.css index 72a12365f..642a41143 100644 --- a/src/lib/_imports/core-styles.rt.elevator-light.css +++ b/src/lib/_imports/core-styles.rt.elevator-light.css @@ -1,3 +1,115 @@ +/* TACC CORE-STYLES */ +/* https://github.com/TACC/Core-Styles */ +/* Import (preferred) or copy-paste (as necessary) from TACC's core styles */ +/* IMPORTANT: Test all changes on all themes */ +/* https://docs.bestpractical.com/rt/5.0.5/customizing/styling_rt.html#Selecting-a-Theme */ + +/* To load CSS variables */ +@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.settings.css"); +@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.theme.default.css"); + + + +/* HEADER */ + +/* To match TUP header */ +:root { + --nav-height: calc(32/13 * 1rem); /* 32px via 13px elevator-light html font-size */ + /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L88 */ + --nav-padding-vert: calc(5/13 * 1rem); /* 5px via 13px elevator-light html font-size */ + --nav-padding-horz: 20px; /* to match elevator-light div#body horz. padding */ +} +div#header { + background-color: var(--header-bkgd-color); + padding: var(--nav-padding-vert) var(--nav-padding-horz); + /* To remove elevator-light styles */ + border-bottom: unset; + height: var(--nav-height); +} + +/* To align header links */ +#page-navigation { + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L105 */ + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/layout.css#L91 */ + top: 2.5rem; +} +#page-navigation a { + height: var(--nav-height); + display: flex; + align-items: center; + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L339-L340 */ + padding-block: unset; + /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L104 */ + border-block: 4px solid transparent; +} +#page-navigation a:hover { + /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L106 */ + border-bottom-color: var(--global-color-secondary--light); +} + +/* To make header links visible */ +#page-navigation .sf-menu svg { + color: var(--global-color-primary--xx-light); +} +#page-navigation .sf-menu li { + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L126 */ + background-color: transparent; + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L344-L351 */ + border-inline: unset; +} +#page-navigation .sf-menu li:hover { + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L37 */ + background-color: transparent; +} + +/* To match TUP header links */ +#page-navigation .sf-menu a.btn { + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/bootstrap.css#L2519 */ + font-size: unset; + font-weight: unset; + line-height: unset; +} +#page-navigation .sf-menu a:visited, +#page-navigation .sf-menu a { + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L67-L71 */ + color: var(--global-color-primary--xx-light); +} +#page-navigation .sf-menu a:hover { + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/bootstrap.css#L166 */ + text-decoration: unset; +} +.page-nav-shadow { + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L112 */ + box-shadow: unset; +} + +/* To let #header manage horz. padding */ +div#header h1 { + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/layout.css#L109 */ + padding-left: unset; +} + +/* To change #header heading */ +h1 { + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/layout.css#L114 */ + color: var(--global-color-primary--xx-light); + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/bootstrap.css#L81 */ + margin-bottom: unset; +} + + + + + +/* RT THEME EDITOR (Advanced Customization) */ +/* https://docs.bestpractical.com/rt/5.0.5/customizing/styling_rt.html#Advanced-CSS-Customization */ +/* Achieved (if at all) by files on server updated manually from a code repo */ + +/* RT THEME EDITOR (Basic Customization) */ +/* https://docs.bestpractical.com/rt/5.0.5/customizing/styling_rt.html#RT-Theme-Editor */ +/* Edits here should ONLY be Automatic via "Logo and Colors" form: + https://docs.bestpractical.com/rt/5.0.5/customizing/styling_rt.html#Logo-and-Colors */ + /* Page */ body {} div#body {} From 9c7c01a3f93cf7ae0725883e2adcad1e86f1a7ae Mon Sep 17 00:00:00 2001 From: Wesley Bomar Date: Wed, 17 Jan 2024 15:23:04 -0600 Subject: [PATCH 03/13] docs: rt, consistent comments, new css hierarchy --- .../core-styles.rt.elevator-light.css | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/lib/_imports/core-styles.rt.elevator-light.css b/src/lib/_imports/core-styles.rt.elevator-light.css index 642a41143..921671f27 100644 --- a/src/lib/_imports/core-styles.rt.elevator-light.css +++ b/src/lib/_imports/core-styles.rt.elevator-light.css @@ -12,13 +12,19 @@ /* HEADER */ -/* To match TUP header */ -:root { + +/* To make bottom header match TUP header */ +#rt-header-container { --nav-height: calc(32/13 * 1rem); /* 32px via 13px elevator-light html font-size */ /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L88 */ --nav-padding-vert: calc(5/13 * 1rem); /* 5px via 13px elevator-light html font-size */ --nav-padding-horz: 20px; /* to match elevator-light div#body horz. padding */ } + + + +/* HEADER: BOTTOM BAR (Page Navigation) */ + div#header { background-color: var(--header-bkgd-color); padding: var(--nav-padding-vert) var(--nav-padding-horz); @@ -37,10 +43,11 @@ div#header { height: var(--nav-height); display: flex; align-items: center; - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L339-L340 */ - padding-block: unset; /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L104 */ border-block: 4px solid transparent; + /* To remove elevator-light styles */ + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L339-L340 */ + padding-block: unset; } #page-navigation a:hover { /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L106 */ @@ -54,6 +61,7 @@ div#header { #page-navigation .sf-menu li { /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L126 */ background-color: transparent; + /* To remove elevator-light styles */ /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L344-L351 */ border-inline: unset; } @@ -62,8 +70,9 @@ div#header { background-color: transparent; } -/* To match TUP header links */ +/* To make page nav match TUP header links */ #page-navigation .sf-menu a.btn { + /* To remove elevator-light styles */ /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/bootstrap.css#L2519 */ font-size: unset; font-weight: unset; @@ -75,24 +84,28 @@ div#header { color: var(--global-color-primary--xx-light); } #page-navigation .sf-menu a:hover { + /* To remove elevator-light styles */ /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/bootstrap.css#L166 */ text-decoration: unset; } .page-nav-shadow { + /* To remove elevator-light styles */ /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L112 */ box-shadow: unset; } /* To let #header manage horz. padding */ div#header h1 { + /* To remove elevator-light styles */ /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/layout.css#L109 */ padding-left: unset; } -/* To change #header heading */ +/* To style #header heading */ h1 { /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/layout.css#L114 */ color: var(--global-color-primary--xx-light); + /* To remove elevator-light styles */ /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/bootstrap.css#L81 */ margin-bottom: unset; } From 86bf5c7dd1fcb8dfc21b15adb5f6487fa86b66a8 Mon Sep 17 00:00:00 2001 From: Wesley Bomar Date: Wed, 17 Jan 2024 16:12:03 -0600 Subject: [PATCH 04/13] feat: rt elevator-light header top bar --- .../core-styles.rt.elevator-light.css | 50 +++++++++++++++++-- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/src/lib/_imports/core-styles.rt.elevator-light.css b/src/lib/_imports/core-styles.rt.elevator-light.css index 921671f27..6c76a0c34 100644 --- a/src/lib/_imports/core-styles.rt.elevator-light.css +++ b/src/lib/_imports/core-styles.rt.elevator-light.css @@ -13,7 +13,7 @@ /* HEADER */ -/* To make bottom header match TUP header */ +/* To provide TUP header variables */ #rt-header-container { --nav-height: calc(32/13 * 1rem); /* 32px via 13px elevator-light html font-size */ /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L88 */ @@ -21,10 +21,23 @@ --nav-padding-horz: 20px; /* to match elevator-light div#body horz. padding */ } +/* To make all top-level nav text bold */ +/* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L1-L3 */ +ul.sf-menu > li { + font-weight: var(--bold); +} +/* To un-bold active link */ +/* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L5-L7 */ +.sf-menu li.active > .menu-item { + font-weight: inherit; +} + /* HEADER: BOTTOM BAR (Page Navigation) */ +/* To make page nav match TUP header */ + div#header { background-color: var(--header-bkgd-color); padding: var(--nav-padding-vert) var(--nav-padding-horz); @@ -70,7 +83,7 @@ div#header { background-color: transparent; } -/* To make page nav match TUP header links */ +/* To style links */ #page-navigation .sf-menu a.btn { /* To remove elevator-light styles */ /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/bootstrap.css#L2519 */ @@ -101,8 +114,8 @@ div#header h1 { padding-left: unset; } -/* To style #header heading */ -h1 { +/* To style title */ +#header h1 { /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/layout.css#L114 */ color: var(--global-color-primary--xx-light); /* To remove elevator-light styles */ @@ -112,6 +125,35 @@ h1 { +/* HEADER: TOP BAR (Main Navigation) */ + +/* To make top header match TUP header */ + +div#quickbar { + background-color: var(--header-bkgd-color); +} + +.sf-menu li li.active > a, +.sf-menu li li > a:active { + /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.bootstrap.css#L21-L26 */ + color: var(--global-color-primary--xx-light); + background-color: var(--global-color-accent--normal); +} + +/* To turn arrow icons white */ +/* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L367-L392 */ +ul.toplevel.sf-menu > li > a.sf-with-ul:after { + filter: brightness(0); +} + +/* To invert top-level app nav colors, then un-invert dropdown menus */ +#app-nav.sf-menu, +#app-nav.sf-menu > li > ul { + filter: invert(100%); +} + + + /* RT THEME EDITOR (Advanced Customization) */ From 42472b5d6d61ebda6e43f6692daf124a2ac001cc Mon Sep 17 00:00:00 2001 From: Wesley Bomar Date: Wed, 17 Jan 2024 16:42:36 -0600 Subject: [PATCH 05/13] feat: rt elevator-light header navs links --- .../core-styles.rt.elevator-light.css | 55 +++++++++++++------ 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/src/lib/_imports/core-styles.rt.elevator-light.css b/src/lib/_imports/core-styles.rt.elevator-light.css index 6c76a0c34..dd9a9ee38 100644 --- a/src/lib/_imports/core-styles.rt.elevator-light.css +++ b/src/lib/_imports/core-styles.rt.elevator-light.css @@ -12,7 +12,6 @@ /* HEADER */ - /* To provide TUP header variables */ #rt-header-container { --nav-height: calc(32/13 * 1rem); /* 32px via 13px elevator-light html font-size */ @@ -34,6 +33,44 @@ ul.sf-menu > li { +/* HEADER: NAVIGATION */ + +#page-navigation, +#main-navigation { + /* To align header links */ + & .sf-menu > li > a { + height: var(--nav-height); + display: flex; + align-items: center; + } + /* To re-align header link arrows */ + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/superfish.css#L86 */ + & .sf-arrows .sf-with-ul:after { + top: unset; + } + + /* To style header links */ + .sf-menu > li > a { + /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L104 */ + border-block: 4px solid transparent; + } + & .sf-menu > li > a:hover, + & .sf-menu > li > a:focus, + & .sf-menu > li > a:active, + & .sf-menu > li.active a { + /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L106 */ + border-bottom-color: var(--global-color-secondary--light); + } + /* To remove elevator-light styles */ + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L85-L89 */ + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L339-L340 */ + & .sf-menu > li > a { + padding-block: unset; + } +} + + + /* HEADER: BOTTOM BAR (Page Navigation) */ /* To make page nav match TUP header */ @@ -46,26 +83,12 @@ div#header { height: var(--nav-height); } -/* To align header links */ +/* To align page nav */ #page-navigation { /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L105 */ /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/layout.css#L91 */ top: 2.5rem; } -#page-navigation a { - height: var(--nav-height); - display: flex; - align-items: center; - /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L104 */ - border-block: 4px solid transparent; - /* To remove elevator-light styles */ - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L339-L340 */ - padding-block: unset; -} -#page-navigation a:hover { - /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L106 */ - border-bottom-color: var(--global-color-secondary--light); -} /* To make header links visible */ #page-navigation .sf-menu svg { From eaca85cc91891220a9bc2b52aa2fcba7fcf7d7bc Mon Sep 17 00:00:00 2001 From: Wesley Bomar Date: Wed, 17 Jan 2024 17:25:33 -0600 Subject: [PATCH 06/13] fix: rt elevator-light header nav links --- .../core-styles.rt.elevator-light.css | 49 +++++++++---------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/src/lib/_imports/core-styles.rt.elevator-light.css b/src/lib/_imports/core-styles.rt.elevator-light.css index dd9a9ee38..ed7840e44 100644 --- a/src/lib/_imports/core-styles.rt.elevator-light.css +++ b/src/lib/_imports/core-styles.rt.elevator-light.css @@ -37,29 +37,45 @@ ul.sf-menu > li { #page-navigation, #main-navigation { + /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L104 */ + --border-width: 4px; + --menu-offset: calc(var(--border-width) * 3/4 * -1); + --border-color: var(--global-color-secondary--light); + /* To align header links */ & .sf-menu > li > a { height: var(--nav-height); display: flex; align-items: center; } - /* To re-align header link arrows */ - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/superfish.css#L86 */ - & .sf-arrows .sf-with-ul:after { + /* To re-align & re-color top-level header link arrows */ + & .sf-menu.toplevel.sf-arrows > li > a.sf-with-ul::after { + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/superfish.css#L86 */ top: unset; + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L367-L392 */ + filter: invert(100%) brightness(200%); + } + /* To re-align header link dropdowns */ + .sf-menu ul { + margin-top: var(--menu-offset) !important; /* overrides dynamic inline style */ } /* To style header links */ - .sf-menu > li > a { - /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L104 */ - border-block: 4px solid transparent; + & .sf-menu.toplevel > li > a:visited, + & .sf-menu.toplevel > li > a { + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L67-L71 */ + color: var(--global-color-primary--xx-light); + } + & .sf-menu > li > a { + border-block: var(--border-width) solid transparent; } & .sf-menu > li > a:hover, + & .sf-menu > li.sfHover > a, & .sf-menu > li > a:focus, & .sf-menu > li > a:active, & .sf-menu > li.active a { /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L106 */ - border-bottom-color: var(--global-color-secondary--light); + border-bottom-color: var(--border-color); } /* To remove elevator-light styles */ /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L85-L89 */ @@ -114,17 +130,12 @@ div#header { font-weight: unset; line-height: unset; } -#page-navigation .sf-menu a:visited, -#page-navigation .sf-menu a { - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L67-L71 */ - color: var(--global-color-primary--xx-light); -} #page-navigation .sf-menu a:hover { /* To remove elevator-light styles */ /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/bootstrap.css#L166 */ text-decoration: unset; } -.page-nav-shadow { +#page-navigation .page-nav-shadow { /* To remove elevator-light styles */ /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L112 */ box-shadow: unset; @@ -163,18 +174,6 @@ div#quickbar { background-color: var(--global-color-accent--normal); } -/* To turn arrow icons white */ -/* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L367-L392 */ -ul.toplevel.sf-menu > li > a.sf-with-ul:after { - filter: brightness(0); -} - -/* To invert top-level app nav colors, then un-invert dropdown menus */ -#app-nav.sf-menu, -#app-nav.sf-menu > li > ul { - filter: invert(100%); -} - From 1c1e4cd78a195cca0be7b4ad87f92cd6e70981fa Mon Sep 17 00:00:00 2001 From: Wesley Bomar Date: Wed, 17 Jan 2024 17:32:59 -0600 Subject: [PATCH 07/13] fix: rt elevator-light typo --- src/lib/_imports/core-styles.rt.elevator-light.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/_imports/core-styles.rt.elevator-light.css b/src/lib/_imports/core-styles.rt.elevator-light.css index ed7840e44..70a7c064c 100644 --- a/src/lib/_imports/core-styles.rt.elevator-light.css +++ b/src/lib/_imports/core-styles.rt.elevator-light.css @@ -56,7 +56,7 @@ ul.sf-menu > li { filter: invert(100%) brightness(200%); } /* To re-align header link dropdowns */ - .sf-menu ul { + & .sf-menu ul { margin-top: var(--menu-offset) !important; /* overrides dynamic inline style */ } From 98ac7e6bbd4af546a842354fb372f7ce34334628 Mon Sep 17 00:00:00 2001 From: Wesley Bomar Date: Wed, 17 Jan 2024 18:12:56 -0600 Subject: [PATCH 08/13] feat: rt elevator-light header search --- .../core-styles.rt.elevator-light.css | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/lib/_imports/core-styles.rt.elevator-light.css b/src/lib/_imports/core-styles.rt.elevator-light.css index 70a7c064c..eddf8b2e0 100644 --- a/src/lib/_imports/core-styles.rt.elevator-light.css +++ b/src/lib/_imports/core-styles.rt.elevator-light.css @@ -176,6 +176,30 @@ div#quickbar { +/* HEADER: SEARCH */ + +/* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/tacc-search-bar.css */ +#topactions form:where( + [id*="-search"], /* e.g. Articles search */ + [class*="-search"] /* e.g. Tickets search */ +) { + & input { + padding-right: 0; /* to offer maximum space before characters are cut off */ + + background-color: var(--header-search-bkgd-color); + border: var(--global-border-width--normal) solid var(--header-search-brdr-color); + border-radius: 5px; + + color: var(--header-text-color); + } + & input::placeholder { + color: var(--header-text-color); + opacity: 0.5; + } +} + + + /* RT THEME EDITOR (Advanced Customization) */ From 2cdb6467124d23ef10b8954d4e96ba0bc2f27878 Mon Sep 17 00:00:00 2001 From: Wesley Bomar Date: Mon, 22 Jan 2024 11:20:27 -0600 Subject: [PATCH 09/13] feat: minimize code --- dist/core-styles.rt.elevator-light.css | 1 + .../core-styles.rt.elevator-light.css | 210 ++++-------------- 2 files changed, 45 insertions(+), 166 deletions(-) create mode 100644 dist/core-styles.rt.elevator-light.css diff --git a/dist/core-styles.rt.elevator-light.css b/dist/core-styles.rt.elevator-light.css new file mode 100644 index 000000000..5196dd480 --- /dev/null +++ b/dist/core-styles.rt.elevator-light.css @@ -0,0 +1 @@ +/*! @tacc/core-styles 2.23.1+ | MIT | github.com/TACC/Core-Styles */@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.settings.css");@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.theme.default.css");#main-navigation .sf-menu.toplevel.sf-arrows>li>a.sf-with-ul:after{filter:invert(100%) brightness(200%)}:is(button,input.button){border-style:solid;border-width:var(--global-border-width--normal)}:is(button,input.button).btn-primary:not(:hover,:focus,:active,:disabled,.disabled){background-color:var(--global-color-accent--normal);border-color:var(--global-color-accent--normal);color:var(--global-color-primary--xx-light)}:is(button,input.button).btn-primary:hover{background-color:var(--global-color-accent--dark);border-color:var(--global-color-accent--dark);color:var(--global-color-primary--xx-light)}:is(button,input.button).btn-primary:active:not(:disabled,.disabled){background-color:var(--global-color-accent--x-dark);border-color:var(--global-color-accent--dark);color:var(--global-color-primary--xx-light);outline:var(--global-border-width--normal) solid var(--global-color-accent--dark)}:is(button,input.button).btn-primary:focus:not(:active){background-color:var(--global-color-accent--normal);border-color:var(--global-color-primary--xx-light);color:var(--global-color-primary--xx-light);outline:var(--global-border-width--normal) solid var(--global-color-accent--light)}:is(button,input.button).btn-primary:is(:focus,.focus),:is(button,input.button).btn-primary:not(:disabled,.disabled):active:focus{box-shadow:none}.button,.custom-file-label,.custom-file-label:after,.form-control,button,input[class=button],input[type=reset],input[type=submit]{border-radius:0}#topactions form:where([id*=-search],[class*=-search]) input{background-color:var(--header-search-bkgd-color);border:var(--global-border-width--normal) solid var(--header-search-brdr-color);border-radius:5px;color:var(--header-text-color);padding-right:0}#topactions form:where([id*=-search],[class*=-search]) input::-moz-placeholder{color:var(--header-text-color);opacity:.5}#topactions form:where([id*=-search],[class*=-search]) input::placeholder{color:var(--header-text-color);opacity:.5}div#quickbar{background:#222;border:none;color:#fff}#logo .rtname,#main-navigation #app-nav.sf-shadow>li,#main-navigation #app-nav.sf-shadow>li>a,#prefs-menu>li,#prefs-menu>li>a{color:#fff} \ No newline at end of file diff --git a/src/lib/_imports/core-styles.rt.elevator-light.css b/src/lib/_imports/core-styles.rt.elevator-light.css index eddf8b2e0..862b58d5e 100644 --- a/src/lib/_imports/core-styles.rt.elevator-light.css +++ b/src/lib/_imports/core-styles.rt.elevator-light.css @@ -1,196 +1,74 @@ -/* TACC CORE-STYLES */ -/* https://github.com/TACC/Core-Styles */ -/* Import (preferred) or copy-paste (as necessary) from TACC's core styles */ +/* TACC CUSTOM STYLES */ /* IMPORTANT: Test all changes on all themes */ /* https://docs.bestpractical.com/rt/5.0.5/customizing/styling_rt.html#Selecting-a-Theme */ -/* To load CSS variables */ +/* To load TACC/Core-Styles variables */ @import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.settings.css"); @import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.theme.default.css"); - - -/* HEADER */ - -/* To provide TUP header variables */ -#rt-header-container { - --nav-height: calc(32/13 * 1rem); /* 32px via 13px elevator-light html font-size */ - /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L88 */ - --nav-padding-vert: calc(5/13 * 1rem); /* 5px via 13px elevator-light html font-size */ - --nav-padding-horz: 20px; /* to match elevator-light div#body horz. padding */ +/* To re-color top-level header link arrows */ +#main-navigation .sf-menu.toplevel.sf-arrows > li > a.sf-with-ul::after { + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L367-L392 */ + filter: invert(100%) brightness(200%); } -/* To make all top-level nav text bold */ -/* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L1-L3 */ -ul.sf-menu > li { - font-weight: var(--bold); -} -/* To un-bold active link */ -/* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L5-L7 */ -.sf-menu li.active > .menu-item { - font-weight: inherit; +/* To style buttons like TACC website */ +:is(button, input.button) { + border-width: var(--global-border-width--normal); + border-style: solid; } - - - -/* HEADER: NAVIGATION */ - -#page-navigation, -#main-navigation { - /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L104 */ - --border-width: 4px; - --menu-offset: calc(var(--border-width) * 3/4 * -1); - --border-color: var(--global-color-secondary--light); - - /* To align header links */ - & .sf-menu > li > a { - height: var(--nav-height); - display: flex; - align-items: center; - } - /* To re-align & re-color top-level header link arrows */ - & .sf-menu.toplevel.sf-arrows > li > a.sf-with-ul::after { - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/superfish.css#L86 */ - top: unset; - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L367-L392 */ - filter: invert(100%) brightness(200%); - } - /* To re-align header link dropdowns */ - & .sf-menu ul { - margin-top: var(--menu-offset) !important; /* overrides dynamic inline style */ - } - - /* To style header links */ - & .sf-menu.toplevel > li > a:visited, - & .sf-menu.toplevel > li > a { - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L67-L71 */ - color: var(--global-color-primary--xx-light); - } - & .sf-menu > li > a { - border-block: var(--border-width) solid transparent; - } - & .sf-menu > li > a:hover, - & .sf-menu > li.sfHover > a, - & .sf-menu > li > a:focus, - & .sf-menu > li > a:active, - & .sf-menu > li.active a { - /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.css#L106 */ - border-bottom-color: var(--border-color); - } - /* To remove elevator-light styles */ - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L85-L89 */ - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L339-L340 */ - & .sf-menu > li > a { - padding-block: unset; - } -} - - - -/* HEADER: BOTTOM BAR (Page Navigation) */ - -/* To make page nav match TUP header */ - -div#header { - background-color: var(--header-bkgd-color); - padding: var(--nav-padding-vert) var(--nav-padding-horz); - /* To remove elevator-light styles */ - border-bottom: unset; - height: var(--nav-height); -} - -/* To align page nav */ -#page-navigation { - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L105 */ - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/layout.css#L91 */ - top: 2.5rem; -} - -/* To make header links visible */ -#page-navigation .sf-menu svg { +:is(button, input.button).btn-primary:not( :hover, :focus, :active, :disabled, .disabled ) { color: var(--global-color-primary--xx-light); + background-color: var(--global-color-accent--normal); + border-color: var(--global-color-accent--normal); } -#page-navigation .sf-menu li { - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L126 */ - background-color: transparent; - /* To remove elevator-light styles */ - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L344-L351 */ - border-inline: unset; -} -#page-navigation .sf-menu li:hover { - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L37 */ - background-color: transparent; -} - -/* To style links */ -#page-navigation .sf-menu a.btn { - /* To remove elevator-light styles */ - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/bootstrap.css#L2519 */ - font-size: unset; - font-weight: unset; - line-height: unset; -} -#page-navigation .sf-menu a:hover { - /* To remove elevator-light styles */ - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/bootstrap.css#L166 */ - text-decoration: unset; -} -#page-navigation .page-nav-shadow { - /* To remove elevator-light styles */ - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L112 */ - box-shadow: unset; -} - -/* To let #header manage horz. padding */ -div#header h1 { - /* To remove elevator-light styles */ - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/layout.css#L109 */ - padding-left: unset; -} - -/* To style title */ -#header h1 { - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/layout.css#L114 */ +:is(button, input.button).btn-primary:hover { color: var(--global-color-primary--xx-light); - /* To remove elevator-light styles */ - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/bootstrap.css#L81 */ - margin-bottom: unset; + background-color: var(--global-color-accent--dark); + border-color: var(--global-color-accent--dark); } +:is(button, input.button).btn-primary:active:not( :disabled, .disabled ) { + color: var(--global-color-primary--xx-light); + background-color: var(--global-color-accent--x-dark); + border-color: var(--global-color-accent--dark); - - -/* HEADER: TOP BAR (Main Navigation) */ - -/* To make top header match TUP header */ - -div#quickbar { - background-color: var(--header-bkgd-color); + outline: var(--global-border-width--normal) solid var(--global-color-accent--dark); } - -.sf-menu li li.active > a, -.sf-menu li li > a:active { - /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/s-header.bootstrap.css#L21-L26 */ +:is(button, input.button).btn-primary:focus:not( :active ) { color: var(--global-color-primary--xx-light); background-color: var(--global-color-accent--normal); -} - + border-color: var(--global-color-primary--xx-light); + outline: var(--global-border-width--normal) solid var(--global-color-accent--light); +} +/* To overwrite RT elevator-light theme */ +:is(button, input.button).btn-primary:is( :focus, .focus ), +:is(button, input.button).btn-primary:not( :disabled, .disabled ):active:focus { + box-shadow: none; +} -/* HEADER: SEARCH */ +/* To minimally style input like TACC */ +/* To overwrite RT elevator-light theme */ +.button, input[type=reset], input[type=submit], input[class=button], button, +.custom-file-label, .custom-file-label::after, +.form-control { + border-radius: 0; +} +/* To make search bar dark */ +/* CAVEAT: Only works on browsers since 2023-12 */ /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/tacc-search-bar.css */ #topactions form:where( [id*="-search"], /* e.g. Articles search */ [class*="-search"] /* e.g. Tickets search */ ) { & input { - padding-right: 0; /* to offer maximum space before characters are cut off */ - + color: var(--header-text-color); background-color: var(--header-search-bkgd-color); border: var(--global-border-width--normal) solid var(--header-search-brdr-color); border-radius: 5px; - color: var(--header-text-color); + padding-right: 0; /* to offer maximum space before characters are cut off */ } & input::placeholder { color: var(--header-text-color); @@ -216,8 +94,8 @@ body {} div#body {} /* Menu bar */ -div#quickbar {} -#main-navigation #app-nav.sf-shadow > li, #main-navigation #app-nav.sf-shadow > li > a, #prefs-menu > li, #prefs-menu > li > a, #logo .rtname {} +div#quickbar { background: #222222; color: #fff; border: none; } +#main-navigation #app-nav.sf-shadow > li, #main-navigation #app-nav.sf-shadow > li > a, #prefs-menu > li, #prefs-menu > li > a, #logo .rtname { color: #fff } /* Title bar */ div#header {} @@ -244,4 +122,4 @@ table.collection-as-table th.collection-as-table a {} .selectize-control.multi .selectize-input [data-value] {} /* Selected bubble (active) */ -.selectize-control.multi .selectize-input [data-value].active {} \ No newline at end of file +.selectize-control.multi .selectize-input [data-value].active {} From 520b1343618f35469430f55c3efe04314bab6e96 Mon Sep 17 00:00:00 2001 From: Wesley Bomar Date: Mon, 22 Jan 2024 11:43:57 -0600 Subject: [PATCH 10/13] fix: do not apply custom styles to dark theme --- dist/core-styles.rt.elevator-light.css | 2 +- .../core-styles.rt.elevator-light.css | 138 ++++++++++-------- 2 files changed, 75 insertions(+), 65 deletions(-) diff --git a/dist/core-styles.rt.elevator-light.css b/dist/core-styles.rt.elevator-light.css index 5196dd480..b910c089d 100644 --- a/dist/core-styles.rt.elevator-light.css +++ b/dist/core-styles.rt.elevator-light.css @@ -1 +1 @@ -/*! @tacc/core-styles 2.23.1+ | MIT | github.com/TACC/Core-Styles */@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.settings.css");@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.theme.default.css");#main-navigation .sf-menu.toplevel.sf-arrows>li>a.sf-with-ul:after{filter:invert(100%) brightness(200%)}:is(button,input.button){border-style:solid;border-width:var(--global-border-width--normal)}:is(button,input.button).btn-primary:not(:hover,:focus,:active,:disabled,.disabled){background-color:var(--global-color-accent--normal);border-color:var(--global-color-accent--normal);color:var(--global-color-primary--xx-light)}:is(button,input.button).btn-primary:hover{background-color:var(--global-color-accent--dark);border-color:var(--global-color-accent--dark);color:var(--global-color-primary--xx-light)}:is(button,input.button).btn-primary:active:not(:disabled,.disabled){background-color:var(--global-color-accent--x-dark);border-color:var(--global-color-accent--dark);color:var(--global-color-primary--xx-light);outline:var(--global-border-width--normal) solid var(--global-color-accent--dark)}:is(button,input.button).btn-primary:focus:not(:active){background-color:var(--global-color-accent--normal);border-color:var(--global-color-primary--xx-light);color:var(--global-color-primary--xx-light);outline:var(--global-border-width--normal) solid var(--global-color-accent--light)}:is(button,input.button).btn-primary:is(:focus,.focus),:is(button,input.button).btn-primary:not(:disabled,.disabled):active:focus{box-shadow:none}.button,.custom-file-label,.custom-file-label:after,.form-control,button,input[class=button],input[type=reset],input[type=submit]{border-radius:0}#topactions form:where([id*=-search],[class*=-search]) input{background-color:var(--header-search-bkgd-color);border:var(--global-border-width--normal) solid var(--header-search-brdr-color);border-radius:5px;color:var(--header-text-color);padding-right:0}#topactions form:where([id*=-search],[class*=-search]) input::-moz-placeholder{color:var(--header-text-color);opacity:.5}#topactions form:where([id*=-search],[class*=-search]) input::placeholder{color:var(--header-text-color);opacity:.5}div#quickbar{background:#222;border:none;color:#fff}#logo .rtname,#main-navigation #app-nav.sf-shadow>li,#main-navigation #app-nav.sf-shadow>li>a,#prefs-menu>li,#prefs-menu>li>a{color:#fff} \ No newline at end of file +/*! @tacc/core-styles 2.23.1+ | MIT | github.com/TACC/Core-Styles */@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.settings.css");@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.theme.default.css");body:not(.darkmode){#main-navigation .sf-menu.toplevel.sf-arrows>li>a.sf-with-ul:after{filter:invert(100%) brightness(200%)}button,input.button{border-style:solid;border-width:var(--global-border-width--normal)}button.btn-primary:not(:hover,:focus,:active,:disabled,.disabled),input.button.btn-primary:not(:hover,:focus,:active,:disabled,.disabled){background-color:var(--global-color-accent--normal);border-color:var(--global-color-accent--normal);color:var(--global-color-primary--xx-light)}button.btn-primary:hover,input.button.btn-primary:hover{background-color:var(--global-color-accent--dark);border-color:var(--global-color-accent--dark);color:var(--global-color-primary--xx-light)}button.btn-primary:active:not(:disabled,.disabled),input.button.btn-primary:active:not(:disabled,.disabled){background-color:var(--global-color-accent--x-dark);border-color:var(--global-color-accent--dark);color:var(--global-color-primary--xx-light);outline:var(--global-border-width--normal) solid var(--global-color-accent--dark)}button.btn-primary:focus:not(:active),input.button.btn-primary:focus:not(:active){background-color:var(--global-color-accent--normal);border-color:var(--global-color-primary--xx-light);color:var(--global-color-primary--xx-light);outline:var(--global-border-width--normal) solid var(--global-color-accent--light)}button.btn-primary:is(:focus,.focus),button.btn-primary:not(:disabled,.disabled):active:focus,input.button.btn-primary:is(:focus,.focus),input.button.btn-primary:not(:disabled,.disabled):active:focus{box-shadow:none}.button,.custom-file-label,.custom-file-label:after,.form-control,button,input[class=button],input[type=reset],input[type=submit]{border-radius:0}#topactions form:where([id*=-search],[class*=-search]){input{background-color:var(--header-search-bkgd-color);border:var(--global-border-width--normal) solid var(--header-search-brdr-color);border-radius:5px;color:var(--header-text-color);padding-right:0}input::-moz-placeholder{color:var(--header-text-color);opacity:.5}input::placeholder{color:var(--header-text-color);opacity:.5}}}div#quickbar{background:#222;border:none;color:#fff}#logo .rtname,#main-navigation #app-nav.sf-shadow>li,#main-navigation #app-nav.sf-shadow>li>a,#prefs-menu>li,#prefs-menu>li>a{color:#fff} \ No newline at end of file diff --git a/src/lib/_imports/core-styles.rt.elevator-light.css b/src/lib/_imports/core-styles.rt.elevator-light.css index 862b58d5e..ac1f7fb40 100644 --- a/src/lib/_imports/core-styles.rt.elevator-light.css +++ b/src/lib/_imports/core-styles.rt.elevator-light.css @@ -6,74 +6,84 @@ @import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.settings.css"); @import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.theme.default.css"); -/* To re-color top-level header link arrows */ -#main-navigation .sf-menu.toplevel.sf-arrows > li > a.sf-with-ul::after { - /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L367-L392 */ - filter: invert(100%) brightness(200%); -} - -/* To style buttons like TACC website */ -:is(button, input.button) { - border-width: var(--global-border-width--normal); - border-style: solid; -} -:is(button, input.button).btn-primary:not( :hover, :focus, :active, :disabled, .disabled ) { - color: var(--global-color-primary--xx-light); - background-color: var(--global-color-accent--normal); - border-color: var(--global-color-accent--normal); -} -:is(button, input.button).btn-primary:hover { - color: var(--global-color-primary--xx-light); - background-color: var(--global-color-accent--dark); - border-color: var(--global-color-accent--dark); -} -:is(button, input.button).btn-primary:active:not( :disabled, .disabled ) { - color: var(--global-color-primary--xx-light); - background-color: var(--global-color-accent--x-dark); - border-color: var(--global-color-accent--dark); - - outline: var(--global-border-width--normal) solid var(--global-color-accent--dark); -} -:is(button, input.button).btn-primary:focus:not( :active ) { - color: var(--global-color-primary--xx-light); - background-color: var(--global-color-accent--normal); - border-color: var(--global-color-primary--xx-light); - - outline: var(--global-border-width--normal) solid var(--global-color-accent--light); -} -/* To overwrite RT elevator-light theme */ -:is(button, input.button).btn-primary:is( :focus, .focus ), -:is(button, input.button).btn-primary:not( :disabled, .disabled ):active:focus { - box-shadow: none; -} +/* To apply custom styles only for light theme */ +/* FAQ: The elevator-dark theme is poorly written ∴ cumbersome to overwrite */ +/* CAVEAT: Older major browsers may not apply these styles */ +/* https://developer.mozilla.org/en-US/docs/Web/CSS/Nesting_selector */ +body:not(.darkmode) { + + /* To re-color top-level header link arrows */ + #main-navigation .sf-menu.toplevel.sf-arrows > li > a.sf-with-ul::after { + /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L367-L392 */ + filter: invert(100%) brightness(200%); + } -/* To minimally style input like TACC */ -/* To overwrite RT elevator-light theme */ -.button, input[type=reset], input[type=submit], input[class=button], button, -.custom-file-label, .custom-file-label::after, -.form-control { - border-radius: 0; -} + /* To style buttons like TACC website */ + /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/components/c-button.css */ + button, input.button { + & { + border-width: var(--global-border-width--normal); + border-style: solid; + } + &.btn-primary:not( :hover, :focus, :active, :disabled, .disabled ) { + color: var(--global-color-primary--xx-light); + background-color: var(--global-color-accent--normal); + border-color: var(--global-color-accent--normal); + } + &.btn-primary:hover { + color: var(--global-color-primary--xx-light); + background-color: var(--global-color-accent--dark); + border-color: var(--global-color-accent--dark); + } + &.btn-primary:active:not( :disabled, .disabled ) { + color: var(--global-color-primary--xx-light); + background-color: var(--global-color-accent--x-dark); + border-color: var(--global-color-accent--dark); + + outline: var(--global-border-width--normal) solid var(--global-color-accent--dark); + } + &.btn-primary:focus:not( :active ) { + color: var(--global-color-primary--xx-light); + background-color: var(--global-color-accent--normal); + border-color: var(--global-color-primary--xx-light); + + outline: var(--global-border-width--normal) solid var(--global-color-accent--light); + } + /* To overwrite RT elevator-light theme */ + &.btn-primary:is( :focus, .focus ), + &.btn-primary:not( :disabled, .disabled ):active:focus { + box-shadow: none; + } + } -/* To make search bar dark */ -/* CAVEAT: Only works on browsers since 2023-12 */ -/* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/tacc-search-bar.css */ -#topactions form:where( - [id*="-search"], /* e.g. Articles search */ - [class*="-search"] /* e.g. Tickets search */ -) { - & input { - color: var(--header-text-color); - background-color: var(--header-search-bkgd-color); - border: var(--global-border-width--normal) solid var(--header-search-brdr-color); - border-radius: 5px; - - padding-right: 0; /* to offer maximum space before characters are cut off */ + /* To minimally style input like TACC */ + /* To overwrite RT elevator-light theme */ + .button, input[type=reset], input[type=submit], input[class=button], button, + .custom-file-label, .custom-file-label::after, + .form-control { + border-radius: 0; } - & input::placeholder { - color: var(--header-text-color); - opacity: 0.5; + + /* To make any search bar dark */ + #topactions form:where( + [id*="-search"], /* e.g. Articles search */ + [class*="-search"] /* e.g. Tickets search */ + ) { + /* https://github.com/TACC/Core-Styles/blob/v2.23.1/src/lib/_imports/trumps/tacc-search-bar.css */ + input { + color: var(--header-text-color); + background-color: var(--header-search-bkgd-color); + border: var(--global-border-width--normal) solid var(--header-search-brdr-color); + border-radius: 5px; + + padding-right: 0; /* to offer maximum space before characters are cut off */ + } + input::placeholder { + color: var(--header-text-color); + opacity: 0.5; + } } + } From f08ac37d559f79b5cefddc4d052dd69555289e55 Mon Sep 17 00:00:00 2001 From: Wesley Bomar Date: Mon, 22 Jan 2024 11:46:28 -0600 Subject: [PATCH 11/13] docs: polish comments --- src/lib/_imports/core-styles.rt.elevator-light.css | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/lib/_imports/core-styles.rt.elevator-light.css b/src/lib/_imports/core-styles.rt.elevator-light.css index ac1f7fb40..f5d334923 100644 --- a/src/lib/_imports/core-styles.rt.elevator-light.css +++ b/src/lib/_imports/core-styles.rt.elevator-light.css @@ -1,4 +1,4 @@ -/* TACC CUSTOM STYLES */ +/* TACC CUSTOM STYLES (Based on https://github.com/TACC/Core-Styles) */ /* IMPORTANT: Test all changes on all themes */ /* https://docs.bestpractical.com/rt/5.0.5/customizing/styling_rt.html#Selecting-a-Theme */ @@ -90,10 +90,6 @@ body:not(.darkmode) { -/* RT THEME EDITOR (Advanced Customization) */ -/* https://docs.bestpractical.com/rt/5.0.5/customizing/styling_rt.html#Advanced-CSS-Customization */ -/* Achieved (if at all) by files on server updated manually from a code repo */ - /* RT THEME EDITOR (Basic Customization) */ /* https://docs.bestpractical.com/rt/5.0.5/customizing/styling_rt.html#RT-Theme-Editor */ /* Edits here should ONLY be Automatic via "Logo and Colors" form: From e23f834ea799b4e25b8810494752cdace578de84 Mon Sep 17 00:00:00 2001 From: Wesley Bomar Date: Mon, 22 Jan 2024 11:58:42 -0600 Subject: [PATCH 12/13] fix: footer bkgd --- dist/core-styles.rt.elevator-light.css | 2 +- src/lib/_imports/core-styles.rt.elevator-light.css | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/dist/core-styles.rt.elevator-light.css b/dist/core-styles.rt.elevator-light.css index b910c089d..41dacf371 100644 --- a/dist/core-styles.rt.elevator-light.css +++ b/dist/core-styles.rt.elevator-light.css @@ -1 +1 @@ -/*! @tacc/core-styles 2.23.1+ | MIT | github.com/TACC/Core-Styles */@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.settings.css");@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.theme.default.css");body:not(.darkmode){#main-navigation .sf-menu.toplevel.sf-arrows>li>a.sf-with-ul:after{filter:invert(100%) brightness(200%)}button,input.button{border-style:solid;border-width:var(--global-border-width--normal)}button.btn-primary:not(:hover,:focus,:active,:disabled,.disabled),input.button.btn-primary:not(:hover,:focus,:active,:disabled,.disabled){background-color:var(--global-color-accent--normal);border-color:var(--global-color-accent--normal);color:var(--global-color-primary--xx-light)}button.btn-primary:hover,input.button.btn-primary:hover{background-color:var(--global-color-accent--dark);border-color:var(--global-color-accent--dark);color:var(--global-color-primary--xx-light)}button.btn-primary:active:not(:disabled,.disabled),input.button.btn-primary:active:not(:disabled,.disabled){background-color:var(--global-color-accent--x-dark);border-color:var(--global-color-accent--dark);color:var(--global-color-primary--xx-light);outline:var(--global-border-width--normal) solid var(--global-color-accent--dark)}button.btn-primary:focus:not(:active),input.button.btn-primary:focus:not(:active){background-color:var(--global-color-accent--normal);border-color:var(--global-color-primary--xx-light);color:var(--global-color-primary--xx-light);outline:var(--global-border-width--normal) solid var(--global-color-accent--light)}button.btn-primary:is(:focus,.focus),button.btn-primary:not(:disabled,.disabled):active:focus,input.button.btn-primary:is(:focus,.focus),input.button.btn-primary:not(:disabled,.disabled):active:focus{box-shadow:none}.button,.custom-file-label,.custom-file-label:after,.form-control,button,input[class=button],input[type=reset],input[type=submit]{border-radius:0}#topactions form:where([id*=-search],[class*=-search]){input{background-color:var(--header-search-bkgd-color);border:var(--global-border-width--normal) solid var(--header-search-brdr-color);border-radius:5px;color:var(--header-text-color);padding-right:0}input::-moz-placeholder{color:var(--header-text-color);opacity:.5}input::placeholder{color:var(--header-text-color);opacity:.5}}}div#quickbar{background:#222;border:none;color:#fff}#logo .rtname,#main-navigation #app-nav.sf-shadow>li,#main-navigation #app-nav.sf-shadow>li>a,#prefs-menu>li,#prefs-menu>li>a{color:#fff} \ No newline at end of file +/*! @tacc/core-styles 2.23.1+ | MIT | github.com/TACC/Core-Styles */@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.settings.css");@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.theme.default.css");body:not(.darkmode){#footer{background-color:var(--global-color-primary--xx-dark)}#main-navigation .sf-menu.toplevel.sf-arrows>li>a.sf-with-ul:after{filter:invert(100%) brightness(200%)}button,input.button{border-style:solid;border-width:var(--global-border-width--normal)}button.btn-primary:not(:hover,:focus,:active,:disabled,.disabled),input.button.btn-primary:not(:hover,:focus,:active,:disabled,.disabled){background-color:var(--global-color-accent--normal);border-color:var(--global-color-accent--normal);color:var(--global-color-primary--xx-light)}button.btn-primary:hover,input.button.btn-primary:hover{background-color:var(--global-color-accent--dark);border-color:var(--global-color-accent--dark);color:var(--global-color-primary--xx-light)}button.btn-primary:active:not(:disabled,.disabled),input.button.btn-primary:active:not(:disabled,.disabled){background-color:var(--global-color-accent--x-dark);border-color:var(--global-color-accent--dark);color:var(--global-color-primary--xx-light);outline:var(--global-border-width--normal) solid var(--global-color-accent--dark)}button.btn-primary:focus:not(:active),input.button.btn-primary:focus:not(:active){background-color:var(--global-color-accent--normal);border-color:var(--global-color-primary--xx-light);color:var(--global-color-primary--xx-light);outline:var(--global-border-width--normal) solid var(--global-color-accent--light)}button.btn-primary:is(:focus,.focus),button.btn-primary:not(:disabled,.disabled):active:focus,input.button.btn-primary:is(:focus,.focus),input.button.btn-primary:not(:disabled,.disabled):active:focus{box-shadow:none}.button,.custom-file-label,.custom-file-label:after,.form-control,button,input[class=button],input[type=reset],input[type=submit]{border-radius:0}#topactions form:where([id*=-search],[class*=-search]){input{background-color:var(--header-search-bkgd-color);border:var(--global-border-width--normal) solid var(--header-search-brdr-color);border-radius:5px;color:var(--header-text-color);padding-right:0}input::-moz-placeholder{color:var(--header-text-color);opacity:.5}input::placeholder{color:var(--header-text-color);opacity:.5}}}div#quickbar{background:#222;border:none;color:#fff}#logo .rtname,#main-navigation #app-nav.sf-shadow>li,#main-navigation #app-nav.sf-shadow>li>a,#prefs-menu>li,#prefs-menu>li>a{color:#fff} \ No newline at end of file diff --git a/src/lib/_imports/core-styles.rt.elevator-light.css b/src/lib/_imports/core-styles.rt.elevator-light.css index f5d334923..ae08a81fa 100644 --- a/src/lib/_imports/core-styles.rt.elevator-light.css +++ b/src/lib/_imports/core-styles.rt.elevator-light.css @@ -12,6 +12,11 @@ /* https://developer.mozilla.org/en-US/docs/Web/CSS/Nesting_selector */ body:not(.darkmode) { + /* To match footer to header */ + #footer { + background-color: var(--global-color-primary--xx-dark); /* i.e. #222222 */ + } + /* To re-color top-level header link arrows */ #main-navigation .sf-menu.toplevel.sf-arrows > li > a.sf-with-ul::after { /* https://github.com/bestpractical/rt/blob/rt-5.0.5/share/static/css/elevator-light/nav.css#L367-L392 */ From 3503c2dcfd03e2a28e03d902787d6f9444b42899 Mon Sep 17 00:00:00 2001 From: Wesley Bomar Date: Mon, 22 Jan 2024 12:35:25 -0600 Subject: [PATCH 13/13] fix: save RT Theme Editor changes --- dist/core-styles.rt.elevator-light.css | 2 +- src/lib/_imports/core-styles.rt.elevator-light.css | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/core-styles.rt.elevator-light.css b/dist/core-styles.rt.elevator-light.css index 41dacf371..ca835d178 100644 --- a/dist/core-styles.rt.elevator-light.css +++ b/dist/core-styles.rt.elevator-light.css @@ -1 +1 @@ -/*! @tacc/core-styles 2.23.1+ | MIT | github.com/TACC/Core-Styles */@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.settings.css");@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.theme.default.css");body:not(.darkmode){#footer{background-color:var(--global-color-primary--xx-dark)}#main-navigation .sf-menu.toplevel.sf-arrows>li>a.sf-with-ul:after{filter:invert(100%) brightness(200%)}button,input.button{border-style:solid;border-width:var(--global-border-width--normal)}button.btn-primary:not(:hover,:focus,:active,:disabled,.disabled),input.button.btn-primary:not(:hover,:focus,:active,:disabled,.disabled){background-color:var(--global-color-accent--normal);border-color:var(--global-color-accent--normal);color:var(--global-color-primary--xx-light)}button.btn-primary:hover,input.button.btn-primary:hover{background-color:var(--global-color-accent--dark);border-color:var(--global-color-accent--dark);color:var(--global-color-primary--xx-light)}button.btn-primary:active:not(:disabled,.disabled),input.button.btn-primary:active:not(:disabled,.disabled){background-color:var(--global-color-accent--x-dark);border-color:var(--global-color-accent--dark);color:var(--global-color-primary--xx-light);outline:var(--global-border-width--normal) solid var(--global-color-accent--dark)}button.btn-primary:focus:not(:active),input.button.btn-primary:focus:not(:active){background-color:var(--global-color-accent--normal);border-color:var(--global-color-primary--xx-light);color:var(--global-color-primary--xx-light);outline:var(--global-border-width--normal) solid var(--global-color-accent--light)}button.btn-primary:is(:focus,.focus),button.btn-primary:not(:disabled,.disabled):active:focus,input.button.btn-primary:is(:focus,.focus),input.button.btn-primary:not(:disabled,.disabled):active:focus{box-shadow:none}.button,.custom-file-label,.custom-file-label:after,.form-control,button,input[class=button],input[type=reset],input[type=submit]{border-radius:0}#topactions form:where([id*=-search],[class*=-search]){input{background-color:var(--header-search-bkgd-color);border:var(--global-border-width--normal) solid var(--header-search-brdr-color);border-radius:5px;color:var(--header-text-color);padding-right:0}input::-moz-placeholder{color:var(--header-text-color);opacity:.5}input::placeholder{color:var(--header-text-color);opacity:.5}}}div#quickbar{background:#222;border:none;color:#fff}#logo .rtname,#main-navigation #app-nav.sf-shadow>li,#main-navigation #app-nav.sf-shadow>li>a,#prefs-menu>li,#prefs-menu>li>a{color:#fff} \ No newline at end of file +/*! @tacc/core-styles 2.23.1+ | MIT | github.com/TACC/Core-Styles */@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.settings.css");@import url("https://cdn.jsdelivr.net/npm/@tacc/core-styles@2.23.1/dist/core-styles.theme.default.css");body:not(.darkmode){#footer{background-color:var(--global-color-primary--xx-dark)}#main-navigation .sf-menu.toplevel.sf-arrows>li>a.sf-with-ul:after{filter:invert(100%) brightness(200%)}button,input.button{border-style:solid;border-width:var(--global-border-width--normal)}button.btn-primary:not(:hover,:focus,:active,:disabled,.disabled),input.button.btn-primary:not(:hover,:focus,:active,:disabled,.disabled){background-color:var(--global-color-accent--normal);border-color:var(--global-color-accent--normal);color:var(--global-color-primary--xx-light)}button.btn-primary:hover,input.button.btn-primary:hover{background-color:var(--global-color-accent--dark);border-color:var(--global-color-accent--dark);color:var(--global-color-primary--xx-light)}button.btn-primary:active:not(:disabled,.disabled),input.button.btn-primary:active:not(:disabled,.disabled){background-color:var(--global-color-accent--x-dark);border-color:var(--global-color-accent--dark);color:var(--global-color-primary--xx-light);outline:var(--global-border-width--normal) solid var(--global-color-accent--dark)}button.btn-primary:focus:not(:active),input.button.btn-primary:focus:not(:active){background-color:var(--global-color-accent--normal);border-color:var(--global-color-primary--xx-light);color:var(--global-color-primary--xx-light);outline:var(--global-border-width--normal) solid var(--global-color-accent--light)}button.btn-primary:is(:focus,.focus),button.btn-primary:not(:disabled,.disabled):active:focus,input.button.btn-primary:is(:focus,.focus),input.button.btn-primary:not(:disabled,.disabled):active:focus{box-shadow:none}.button,.custom-file-label,.custom-file-label:after,.form-control,button,input[class=button],input[type=reset],input[type=submit]{border-radius:0}#topactions form:where([id*=-search],[class*=-search]){input{background-color:var(--header-search-bkgd-color);border:var(--global-border-width--normal) solid var(--header-search-brdr-color);border-radius:5px;color:var(--header-text-color);padding-right:0}input::-moz-placeholder{color:var(--header-text-color);opacity:.5}input::placeholder{color:var(--header-text-color);opacity:.5}}}div#quickbar{background:#222;border:none;color:#fff}#logo .rtname,#main-navigation #app-nav.sf-shadow>li,#main-navigation #app-nav.sf-shadow>li>a,#prefs-menu>li,#prefs-menu>li>a{color:#fff}input[class=button],input[type=reset],input[type=submit]{background:#039;color:#fff}input[class=button]:hover,input[type=reset]:hover,input[type=submit]:hover{background:#026;color:#fff}table.collection-as-table th.collection-as-table a{color:#039} \ No newline at end of file diff --git a/src/lib/_imports/core-styles.rt.elevator-light.css b/src/lib/_imports/core-styles.rt.elevator-light.css index ae08a81fa..450936ab2 100644 --- a/src/lib/_imports/core-styles.rt.elevator-light.css +++ b/src/lib/_imports/core-styles.rt.elevator-light.css @@ -118,13 +118,13 @@ div#header h1 {} div#body, .body-content-class {} /* Buttons */ -input[type="reset"], input[type="submit"], input[class="button"] {} +input[type="reset"], input[type="submit"], input[class="button"] { background: #003399; color: #fff } /* Button hover */ -input[type="reset"]:hover, input[type="submit"]:hover, input[class="button"]:hover {} +input[type="reset"]:hover, input[type="submit"]:hover, input[class="button"]:hover { background: #002266; color: #fff } /* Search results */ -table.collection-as-table th.collection-as-table a {} +table.collection-as-table th.collection-as-table a { color: #003399 } /* Portlet Text */ .titlebox .titlebox-title .left a, .titlebox .titlebox-title .left {}