diff --git a/docs/views.py b/docs/views.py index 2ab15a7..4d3d528 100644 --- a/docs/views.py +++ b/docs/views.py @@ -43,9 +43,9 @@ def page(request, package, version, file='index.html'): # Find the latest version of the docs if requested canonical = False latest = Version.objects.filter(active=True, - released__isnull=False, - package__slug=package, - page__isnull=False).first() + released__isnull=False, + package__slug=package, + page__isnull=False).first() if latest is None: raise Http404("The requested page could not be found.") diff --git a/package.json b/package.json index 6b83c5a..1b8df33 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "@babel/polyfill": "^7.8.7", "@babel/preset-env": "^7.9.0", "@babel/runtime": "^7.9.2", - "@fortawesome/fontawesome-free": "^5.13.0", + "@fortawesome/fontawesome-free": "^5.14.0", "@fortawesome/fontawesome-svg-core": "^1.2.28", "@fortawesome/free-brands-svg-icons": "^5.13.0", "@fortawesome/free-solid-svg-icons": "^5.13.0", diff --git a/pgaweb/static/css/styleguide.scss b/pgaweb/static/css/styleguide.scss index 3bf0652..268c238 100644 --- a/pgaweb/static/css/styleguide.scss +++ b/pgaweb/static/css/styleguide.scss @@ -7,6 +7,10 @@ @import "styleguide/pgadmin.resources.scss"; @import "styleguide/_pgadmin.style.scss"; @import "styleguide/alert"; +@import "styleguide/sd_theme"; +@import "styleguide/dark_theme"; +@import "styleguide/hc_theme"; +@import "styleguide/iconography"; .chip-gray { background-color: $color-gray; diff --git a/pgaweb/static/css/styleguide/_default.style.scss b/pgaweb/static/css/styleguide/_default.style.scss index f90fe47..dfd29b6 100644 --- a/pgaweb/static/css/styleguide/_default.style.scss +++ b/pgaweb/static/css/styleguide/_default.style.scss @@ -45,6 +45,14 @@ } } +.bg-info { + background-color: $color-primary; + + &-light { + background-color: $color-primary-light; + } +} + .bg-gray { background-color: $color-gray; @@ -99,6 +107,14 @@ } } +.border-info { + border-color: $color-primary; + + &-light { + border-color: $color-primary-light; + } +} + .border-gray { border: 2px solid $color-gray; @@ -140,6 +156,10 @@ color: $color-success; } +.text-info { + color: $color-primary !important; +} + .text-bold { font-weight: bold; } diff --git a/pgaweb/static/css/styleguide/_pgadmin.style.scss b/pgaweb/static/css/styleguide/_pgadmin.style.scss index d9d7697..311e5ea 100644 --- a/pgaweb/static/css/styleguide/_pgadmin.style.scss +++ b/pgaweb/static/css/styleguide/_pgadmin.style.scss @@ -953,3 +953,409 @@ table.table-empty-rows{ bottom: 0; } } + +.style-action { + display: inline-block; +} + +.style-guide { + display: inline-block; + position: absolute; + padding-left: 2em; +} + +.style-action-menu { + text-align: left; +} + +.style-header{ + text-align: left; + margin-top: 0!important; + margin-bottom: 2.5em!important; + padding-top: 0.1em; + padding-right: 1em; + padding-bottom: 1em; + min-width: 190px; +} + +.style-header h2 { + padding-left: 1em; +} + +.style-action-menu ul { + padding-left:1.2em; +} + +.typography-font-sect { + background-color: #f3f5f9; + + .typg-style-section { + width: 49%; + display: inline-block; + font-size: 36px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 1.11; + letter-spacing: 1px; + color: #222222; + padding-top: 1em; + padding-left: 1em; + } + + .typg-font-normal { + color: #222222; + } + + .typg-font-normal-sample { + width: 49%; + display: inline-block; + font-size: 12px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 1.33; + letter-spacing: 0.25px; + color: #222222; + padding-left: 3em; + } + + .typg-font-bold { + color: #222222; + } + + .typg-font-bold-sample { + width: 49%; + display: inline-block; + font-size: 12px; + font-weight: bold; + font-stretch: normal; + font-style: normal; + line-height: 1.33; + letter-spacing: 0.25px; + color: #222222; + padding-left: 3em; + } +} + +.font-family-desc { + margin-top: 2em; + padding-top: 1em; + padding-left: 3em; + padding-right: 3em; + font-size: 12px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 1.83; + letter-spacing: 0.35px; + color: #222222; + + .font-family-color { + color: #b82519; + } +} + +.tab-16px { + margin-left: 2em; +} +.tab-14px { + margin-left: 2.65em; +} +.tab-13px { + margin-left: 3.1em; +} + +.font-size-sect { + padding-top: 1em; + + .font-size-style { + padding-top: 2em; + padding-bottom: 1em; + padding-left: 32%; + } + .font-size-16-style { + font-size: 16px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + color: #222222; + } + + .font-size-14-style { + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + color: #222222; + } + + .font-size-13-style { + font-size: 13px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + color: #222222; + } +} + +.theme-content { + padding-left: 2em; + padding-top: 2em; + + .color-row { + display: inline-block; + } + + .color-container { + height: 9em; + text-align: center; + margin-right: 2em; + display: inherit; + } + .color-block { + width: 82px; + height: 82px; + border-radius: 6px; + } + + .color-name { + font-size: 14px; + } + + .color-code { + font-size: 16px; + font-weight: 500; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: 0.45px; + color: #222222; + } + + .color-header { + font-size: 16px; + font-weight: 500; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: 0.17px; + color: #326690; + } + +} + +.theme-content-default { + padding-left:0em !important; +} + +.component-container { + width: auto; + border: solid 1px #bac1cd; + margin-bottom: 3em; + + .container-body { + height: 215px; + padding-left: 2em; + } + + .container-body-active { + height: 56px; + padding-left: 2em; + } + + .container-body-disabled { + height: 151px; + padding-left: 2em; + } + + .container-body-error { + height: 90px; + padding-left: 2em; + } + + .dd-container-body { + height: 130px; + } + + .dd-container-filled { + height: 62px; + } + + .alrt-container-body { + height: 216px; + padding-left: 2em; + } + + .tbl-container-body { + height: auto; + padding-left: 2em; + } +} + +.input-svg-style { + height: 36px; + width: 500px; +} + +.input-label { + margin-left: 2.5em; +} + +.input-label-error { + margin-left: 2.5em; + color: #e53935; +} + +.code { + background-color: transparent; + padding-top: 2em; + padding-right: 3em; + font-size: 12px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 1.83; + letter-spacing: 0.35px; + color: #1921a0; + margin-left: -6.9em; + + .code-tag { + color: #222222; + } + + .code-attribute { + color: #b82519; + } + + .code-value { + color: #222222; + } + + .code-text { + padding-left: 2.5em; + } +} + +.dd_default { + width: 252px; + height: 32px; + padding-left: 2em; +} + + +.dd_expand { + width: 252px; + height: 269px; + padding-left: 2em; +} + +.display-inline { + display: inline-block; + vertical-align: top; +} + +.btn-container { + margin-bottom: 2em; +} + +.radio-btn-code { + margin-left: 0em; + + background-color: #FFF; +} + +.radio-container-header { + padding-left: 1.5em; +} + +// Toggle button +.toggle_default { + width: 54px; + height: 27px; +} + +// Alert +.alert-style-cont { + width:480px; + margin-left:5em; +} + +// Table +.table-hover-label{ + display: inline-block; + padding-top: 10em; +} + +//Iconography style +.icongrp-header { + font-size: 15px; + font-weight: 500; + font-stretch: normal; + font-style: normal; + line-height: 1.73; + letter-spacing: 0.25px; + color: #222222; +} + +.icongrp-points { + font-size: 15px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 1.73; + letter-spacing: 0.25px; + color: #222222; +} + +.iconography-header { + height: auto; + border-bottom: solid 1px #bac1cd; + padding: 1.3em 0em 1.3em 2em; +} + +.iconography-icon { + width: 3.2em; + height: 3em; + display: inline-block; + align-items: center; + text-align: center; + vertical-align: middle; +} + +.iconography-custom-icon { + width: 6.2em; + height: 5em; + display: inline-block; + align-items: center; + text-align: center; + vertical-align: middle; + padding: 0.5em; +} + +.iconography-query-icon { + width: 5em; + height: 5em; + display: inline-block; + align-items: center; + text-align: center; + vertical-align: middle; + margin-right: 1em; + margin-bottom: 1em; +} + +.iconography-fa-icon { + width: 7.2em; + height: 7em; + display: inline-block; + align-items: center; + text-align: center; + vertical-align: middle; + padding: 0.5em; +} \ No newline at end of file diff --git a/pgaweb/static/css/styleguide/dark_theme.scss b/pgaweb/static/css/styleguide/dark_theme.scss new file mode 100644 index 0000000..4a7151e --- /dev/null +++ b/pgaweb/static/css/styleguide/dark_theme.scss @@ -0,0 +1,653 @@ +// Color code classes +// Primary colors +.d-primary { + background-color: #234D6E; +} + +.d-primary-dark { + background-color: #15354F; +} + +.d-primary-light { + background-color: #536270; +} + +// Secondary colors +.d-success { + background-color: #1A522B; +} + +.d-success-light { + background-color: #5A7863; +} +// warning is pre existing class in css so instead of using warning using warning-clr +.d-warning-clr { + background-color: #EEA236; +} + +.d-warning-light { + background-color: #B18D5A; +} + +.d-danger { + background-color: #DA6758; +} + +.d-danger-light { + background-color: #914649; +} + + +// Severity status colors +.d-explain-sev-2 { + background-color: #DED17E; +} + +.d-explain-sev-3 { + background-color: #C2812B; +} + +.d-explain-sev-4 { + background-color: #880000; +} + +// schema diff colors +.d-diff-row { + background-color: #807A48; +} + +.d-source-row { + background-color: #402025; +} + +.d-target-row { + background-color: #6B5438; +} + +// Query editor colors +.d-number { + background-color: #7FCC5C; +} + +.d-string { + background-color: #E4E487; +} + +.d-activeline { + background-color: #50B0F0; +} + +.d-keyword{ + background-color: #DB7C74; +} + +.d-editor-fg { + background-color: #7DC9F1; +} + +.d-editor-operator { + background-color: #D6AAAA; +} + +.d-foldmarker { + background-color: #0000FF; +} + +// Ternary colors +.d-fg { + background-color: #D4D4D4; +} + +.d-gray-dark { + background-color: #212121; +} + +.d-gray { + background-color: #2E2E2E; +} + +.d-border-color { + background-color: #4A4A4A; +} + +.d-gray-light { + background-color: #303030; +} + +.d-gra-lighter { + background-color: #424242; +} + +.d-base-color { + background-color: #616161; +} + +.d-text-muted { + background-color: #6B6B6B; +} + + +// Input style +.d-container-header { + height: 72px; + background-color: #212121; + padding-top:1.3em; +} + +.d-input-label { + color: #d4d4d4; +} + +.d-default-input { + stroke: #6b6b6b; + fill: #212121; +} + +.d-active-input { + stroke: #5c8fc2; + fill: #212121; +} + +.d-disabled-input { + stroke: #6b6b6b; + fill: #212121; +} + +.d-error-input { + stroke: #914649; + fill: #212121; +} + +.d-input-svg-text-style { + font-size:14px; + fill: #d4d4d4; +} + +.d-input-svg-text-disabled { + fill: #999999; +} + +.d-input-svg-text-error { + fill: #f39999; +} + +.d-input-label { + margin-left: 2.5em; +} + +.d-input-label-error { + margin-left: 2.5em; + color: #da6758; +} + +// dropdown style +.d-container-header-expand { + width: 653px; + height: 304px; + border-bottom: solid 1px #bac1cd; + padding-top:1.3em; + background-color: #212121; +} + +//Button style +.d-btn-style { + padding-left: 2em; + height: 94px; + background-color: #181818; +} + +.d-btn-label { + font-size: 12px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: 0.35px; + color: #d4d4d4; + width: 162px; +} + +.d-btn-block { + border-right: solid 1px #bac1cd; + width: 163.25px; +} + +.d-btn-code-block { + max-width: 326.5px; + min-width: 326.5px; + height: 94px; +} + +.d-btn { + color: #ffffff; +} + + + +// Primary +.d-btn:hover { + color: #ffffff; +} + +.d-btn-primary { + background-color: #234d6e; + color: #FFFFFF; +} + +.d-icon-color { + color: #FFFFFF; +} + +.d-icon-color:hover { + color: #FFFFFF; +} + +.d-btn-primary-hover { + background-color: #285274; + color: #FFFFFF; +} + +.d-btn-primary-pressed { + background-color: #254b6a; + color: #FFFFFF; +} + +.d-btn-primary-disabled { + background-color: #234d6e; + color: #FFFFFF; + opacity: 0.5; +} + +// Secondary +.d-secondary-btn { + color: #212529; +} + +.d-secondary-btn:hover { + color: #FFFFFF; +} + +.d-btn-secondary { + background-color: #6b6b6b; + border: solid 1px #2e2e2e; + color: #ffffff; +} + +.d-icon-secondary-color { + color: #ffffff; +} + +.d-icon-secondary-color-hover { + color: #212529; +} + +.d-icon-secondary-color:hover { + color: #ffffff; +} + +.d-btn-secondary-hover { + background-color: #303030; + border: solid 1px #151515; + color: #FFFFFF; +} + +.d-btn-secondary-pressed { + background-color: #e6e6e6; + border: solid 1px #95a0b2; + color: #212529; +} + +.d-btn-secondary-pressed:hover { + color: #212529; +} + +.d-btn-secondary-disabled { + background-color: #6b6b6b; + border: solid 2px #2e2e2e; + color: #FFFFFF; + opacity: 0.5; +} + +// icon btn +.d-btn-icon { + width: 27px; + height: 25px; + border: 1px solid #2e2e2e; + border-radius: 3px; + text-align: center; + background-color: #6b6b6b; +} + +.d-btn-icon-style{ + color: #ffffff; + width: 14px; + height: 14px; + vertical-align: baseline; + padding-top: 1px; + filter: invert(1); +} + +.d-btn-icon-hover { + width: 27px; + height: 25px; + border-radius: 3px; + text-align: center; + border: solid 1px #151515; + background-color: #303030; + padding-top: 1px; +} + + +.d-btn-icon-pressed { + width: 27px; + height: 25px; + border-radius: 3px; + text-align: center; + border: solid 1px #95a0b2; + background-color: #e6e6e6; + padding-top: 1px; + + img { + filter: invert(0); + } +} + +.d-btn-icon-disabled { + width: 27px; + height: 25px; + border-radius: 3px; + text-align: center; + border: solid 1px #2e2e2e; + background-color: #6b6b6b; + opacity: 0.5; + padding-top: 1px; +} + +// Checkbox + +.d-checkbox-block { + border-right: solid 1px #bac1cd; + padding-left: 1em; + width: 163.25px; +} + +.d-checkbox-cont { + width: 115px; + height: 34px; + border-radius: 3px; + border: solid 1px #6b6b6b; + padding-top: 0.25em; + padding-left: 0.6em; + font-size: 15px; + background-color: #6b6b6b; + + .custom-control-label::after { + background-color: #212121; + color: #ffffff; + border: solid 1px #212121; + } +} + +.d-checkbox-default { + width: 12px; + height: 12px; + border: solid 1px #6b6b6b; +} + +.d-checkbox-hover-bg { + width: 115px; + height: 34px; + border-radius: 3px; + border: solid 1px #151515; + background-color: #303030; + padding-top: 0.25em; + padding-left: 0.6em; + font-size: 15px; + + .custom-control-label::after { + background-color: #212121; + border: none; + } +} + +.d-checkbox-pressed-bg { + width: 115px; + height: 34px; + border-radius: 3px; + border: solid 1px #0e0e0e; + background-color: #525252; + padding-top: 0.25em; + padding-left: 0.6em; + font-size: 15px; + + .custom-control-label::after { + background-color: #212121; + border: none; + } +} + +.d-checkbox-selected-bg { + width: 115px; + height: 34px; + border-radius: 3px; + background-color: #6b6b6b; + padding-top: 0.25em; + padding-left: 0.6em; + font-size: 15px; + + .custom-control-label::after { + background-color: #2e4d6b; + border: none; + } +} + +.d-checkbox-disabled-bg { + width: 115px; + height: 34px; + border-radius: 3px; + background-color: #6b6b6b; + padding-top: 0.25em; + padding-left: 0.6em; + font-size: 15px; + opacity: 0.5; + + .custom-control-label::after { + background-color: #212121; + border: none; + } +} + +.d-chk-style { + color: #FFFFFF; +} + +// Radio button +.radio-container-body { + width: 653px; + height: 348px; +} + +.d-btn-radio-primary { + color: #fff; + background-color: #234d6e; + border-color: #234d6e; + font-size: 14px; + font-weight: 500; +} + +.d-btn-radio-secondary { + color: #fff; + background-color: #6b6b6b; + border-color: #2e2e2e; + font-size: 14px; + font-weight: 500; +} + +.d-btn-radio-secondary:hover { + color: #fff !important; +} + +.d-radio-check { + color: #fff; +} + +.d-btn-radio-primary-hover { + color: #fff; + border-color: #1a3951; + font-size: 14px; + font-weight: 500; + background-color: #1a3951; +} + +.d-btn-radiomodern:hover { + color: #fff; +} + + +// alert +.d-alert-text-body { + color: #d4d4d4; +} +.d-bg-success { + background-color: #212121; + + &-light { + background-color: #212121; + } +} + +.d-text-success { + color: #26852B; +} + +.d-border-success { + border-color: #26852B !important; +} +// +.d-bg-danger { + background-color: #212121; + + &-light { + background-color: #212121; + } +} + +.d-text-danger { + color: #EE7A55; +} + +.d-border-danger { + border-color: #EE7A55 !important; +} +// +.d-bg-info { + background-color: #212121; + + &-light { + background-color: #212121; + } +} + +.d-text-info { + color: #50B0F0; +} + +.d-border-info { + border-color: #50B0F0 !important; +} + +// Table +.d-table-hover-tr-style { + border: 0px; + margin: 0px; + padding: 0px; + border-spacing: 0px; + background-color: #536270; + color: #ffffff; +} + +.d-table-hover-td-style { + border: 1px solid #4a4a4a !important; + border-bottom: 2px solid #234d6e !important; + border-top: 3px solid #234d6e !important; +} + +.d-table-container-header { + height: auto; + border-bottom: solid 1px #bac1cd; + padding-top: 1.3em; + padding-left: 1em; + padding-right: 1em; + padding-bottom: 1em; + display: inline-flex; + background-color: #212121; +} + + +.d-table-hover-label { + color: #fff; + padding-top:8em; +} + +.d-table-hover { + color: #d4d4d4 !important; +} + +.d-table-cont-style { + pointer-events:none; + margin-left: 1em; + width: 34em; + background-color: #424242; + border-color: #2d3a48 !important; +} + +.d-table-border{ + border: 2px solid #4a4a4a !important; +} + +.d-table-header-style { + color: #FFF; +} + + +// Accordion +.d-accordion-style { + width: 590px; + height: auto; + padding-left: 2em; +} + +.d-acc-container-header-expand { + height: auto; + padding-bottom: 1em; + padding-top:1.3em; + border-bottom: solid 1px #bac1cd; + padding-top:1.3em; + background-color: #212121; + padding-right: 2em; +} + +// iconography +.d-iconography-component-container { + width: auto; + border: solid 1px #bac1cd; + margin-bottom: 3em; + background-color: #212121; +} + +.d-icon-label { + font-size: 12px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 1.17; + letter-spacing: 0.25px; + color: #FFF; +} + +.dark-thm { + filter: invert(1); +} + + + diff --git a/pgaweb/static/css/styleguide/hc_theme.scss b/pgaweb/static/css/styleguide/hc_theme.scss new file mode 100644 index 0000000..3ad5e60 --- /dev/null +++ b/pgaweb/static/css/styleguide/hc_theme.scss @@ -0,0 +1,641 @@ +// Color code classes +// Primary colors +.hc-primary { + background-color: #062F57; +} + +.hc-primary-light { + background-color: #84D6FF; +} + +// Secondary colors +.hc-success { + background-color: #45D48A; +} + +// warning is pre existing class in css so instead of using warning using warning-clr +.hc-warning-clr { + background-color: #F4D35E; +} + +.hc-danger { + background-color: #EE7A55; +} + +// Severity status colors +.hc-explain-sev-2 { + background-color: #EAEA43; +} + +.hc-explain-sev-3 { + background-color: #FFAD65; +} + +.hc-explain-sev-4 { + background-color: #EE7A55; +} + +// schema diff colors +.hc-diff-row { + background-color: #CFC56E; +} + +.hc-source-row { + background-color: #EE97A5; +} + +.hc-target-row { + background-color: #FFAD65; +} + +// Query editor colors +.hc-number { + background-color: #45D48A; +} + +.hc-string { + background-color: #EAEA43; +} + +.hc-variabe { + background-color: #7DC9F1; +} + +.hc-builtin { + background-color: #B394FC; +} + +.hc-comment { + background-color: #FFAD65; +} + +.hc-bracket { + background-color: #D6AAAA; +} + +.hc-activeline { + background-color: #50B0F0; +} + +.hc-keyword{ + background-color: #F8845F; +} + +.hc-foldmarker { + background-color: #FFFFFF; + border: solid 1px #a6b7c8; +} + +// Ternary colors +.hc-gray-dark { + background-color: #010B15; +} + +.hc-gray { + background-color: #1F2932; +} + +.hc-gray-light { + background-color: #2D3A48; +} + +.hc-gra-lighter { + background-color: #8B9CAD; +} + +.hc-border-color { + background-color: #A6B7C8; +} + +.hc-base-color { + background-color: #C9D0D7; +} + +.hc-white { + background-color: #FFFFFF; + border: solid 1px #a6b7c8; +} + + +// Input style +.hc-container-header { + height: 72px; + background-color: #010b15; + padding-top:1.3em; +} + +.hc-input-label { + color: #d4d4d4; +} + +.hc-default-input { + stroke: #6b6b6b; + fill: #010b15; +} + +.hc-active-input { + stroke: #84d6ff; + fill: #010b15; +} + +.hc-disabled-input { + stroke: #8b9cad; + fill: #010b15; +} + +.hc-error-input { + stroke: #ee7a55; + fill: #010b15; +} + +.hc-input-svg-text-style { + font-size:14px; + fill: #ffffff; +} + +.hc-input-svg-text-disabled { + fill: #a6b7c8; +} + +.hc-input-svg-text-error { + fill: #f39999; +} + +.hc-input-label { + margin-left: 2.5em; +} + +.hc-input-label-error { + margin-left: 2.5em; + color: #ee7a55; +} + +// dropdown style +.hc-container-header-expand { + width: 653px; + height: 304px; + border-bottom: solid 1px #bac1cd; + padding-top:1.3em; + background-color: #010b15; +} + +// Button style +.hc-btn-style { + padding-left: 2em; + height: 94px; + background-color: #010b15; +} + +.hc-btn-label { + font-size: 12px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: 0.35px; + color: #d4d4d4; + width: 162px; +} + +.hc-btn-block { + border-right: solid 1px #bac1cd; + width: 163.25px; +} + +.hc-btn-code-block { + max-width: 326.5px; + min-width: 326.5px; + height: 94px; +} + +.hc-btn { + color: #ffffff; +} + + + +// Primary +.hc-btn:hover { + color: #ffffff; +} + +.hc-btn-primary { + background-color: #84d6ff; + color: #010b15; +} + +.hc-icon-color { + color: #010b15; +} + +.hc-icon-color:hover { + color: #010b15; +} + +.hc-btn-primary-hover { + background-color: #ffffff; + color: #010b15; +} + +.hc-btn-primary-pressed { + background-color: #84d6ff; + color: #010b15; +} + +.hc-btn-primary-disabled { + background-color: #8b9cad; + color: #010b15; + opacity: 0.5; +} + +// Secondary +.hc-secondary-btn { + color: #84d6ff; +} + +.hc-secondary-btn:hover { + color: #84d6ff; +} + +.hc-btn-secondary { + background-color: #010b15; + border: solid 1px #84d6ff; + color: #84d6ff; +} + +.hc-icon-secondary-color { + color: #84d6ff; +} + +.hc-icon-hover-color { + color: #FFFFFF; +} + +.hc-icon-hover-color:hover { + color: #FFFFFF; +} + +.hc-icon-secondary-color-hover { + color: #84d6ff; +} + +.hc-icon-disabled-color { + color: #8b9cad; +} + +.hc-icon-disabled-color:hover { + color: #84d6ff; +} + + +.hc-icon-secondary-color:hover { + color: #84d6ff; +} + +.hc-btn-secondary-hover { + background-color: #010b15; + border: solid 1px #ffffff; + color: #FFFFFF; +} + +.hc-btn-secondary-pressed { + background-color: #010b15; + border: solid 1px #84d6ff; + color: #84d6ff; +} + +.hc-btn-secondary-pressed:hover { + color: #84d6ff; +} + +.hc-btn-secondary-disabled { + background-color: #010b15; + border: solid 2px #8b9cad; + color: #8b9cad; + opacity: 0.5; +} + +.hc-btn-secondary-disabled:hover { + color: #8b9cad; +} + +// icon btn +.hc-btn-icon { + width: 27px; + height: 25px; + border: 1px solid #ffffff; + border-radius: 3px; + text-align: center; + background-color: #010b15; +} + +.hc-btn-icon-style{ + color: #ffffff; + width: 14px; + height: 14px; + vertical-align: baseline; + padding-top: 1px; + filter: invert(1); +} + +.hc-btn-icon-hover { + width: 27px; + height: 25px; + border-radius: 3px; + text-align: center; + border: solid 1px #FFFFFF; + background-color: #FFFFFF; + padding-top: 1px; + + img { + filter: invert(0); + } +} + +.hc-btn-icon-pressed { + width: 27px; + height: 25px; + border-radius: 3px; + text-align: center; + border: solid 1px #FFFFFF; + background-color: #010b15; + padding-top: 1px; + + img { + filter: invert(1); + } +} + +.hc-btn-icon-disabled { + width: 27px; + height: 25px; + border-radius: 3px; + text-align: center; + border: solid 1px #8b9cad; + background-color: #1f2932; + opacity: 0.5; + padding-top: 1px; +} + +// Checkbox + +.hc-checkbox-block { + border-right: solid 1px #bac1cd; + padding-left: 1em; + width: 163.25px; +} + +.hc-checkbox-cont { + width: 115px; + height: 34px; + border-radius: 3px; + padding-top: 0.25em; + padding-left: 0.6em; + font-size: 15px; + background-color: #010b15; + + .custom-control-label::after { + background-color: #010b15; + color: #ffffff; + border: solid 1px #8b9cad; + } +} + +.hc-checkbox-default { + width: 12px; + height: 12px; + border: solid 1px #6b6b6b; +} + +.hc-checkbox-hover-bg { + width: 115px; + height: 34px; + border-radius: 3px; + background-color: #010b15; + padding-top: 0.25em; + padding-left: 0.6em; + font-size: 15px; + + .custom-control-label::after { + background-color: #212121; + border: solid 1px #ffffff; + } +} + +.hc-checkbox-pressed-bg { + width: 115px; + height: 34px; + border-radius: 3px; + background-color: #010b15; + padding-top: 0.25em; + padding-left: 0.6em; + font-size: 15px; + + .custom-control-label::after { + background-color: #212121; + border: none; + } +} + +.hc-checkbox-selected-bg { + width: 115px; + height: 34px; + border-radius: 3px; + background-color: #010b15; + padding-top: 0.25em; + padding-left: 0.6em; + font-size: 15px; + + .custom-control-label::after { + background-color: #48a7ea; + border: none; + } +} + +.hc-checkbox-disabled-bg { + width: 115px; + height: 34px; + border-radius: 3px; + background-color: #010b15; + padding-top: 0.25em; + padding-left: 0.6em; + font-size: 15px; + opacity: 0.5; + + .custom-control-label::after { + background-color: #48a7ea; + border: none; + } +} + +.hc-chk-style { + color: #FFFFFF; +} + +// Radio button +.radio-container-body { + width: 653px; + height: 348px; +} + +.hc-btn-radio-primary { + color: #010b15; + background-color: #84d6ff; + border-color: #84d6ff; + font-size: 14px; + font-weight: 500; +} + +.hc-btn-radio-secondary { + color: #fff; + background-color: #010b15; + border-color: #7f90a1; + font-size: 14px; + font-weight: 500; +} + +.hc-btn-radio-secondary:hover { + color: #fff !important; +} + +.hc-radio-check { + color: #010b15; +} + +.hc-btn-radio-primary-hover { + color: #010b15; + border-color: #ffffff; + font-size: 14px; + font-weight: 500; + background-color: #ffffff; +} + +.hc-btn-radiomodern:hover { + color: #010b15; +} + +// alert +.hc-alert-text-body { + color: #010B15; +} +.hc-bg-success { + background-color: #45D48A; + + &-light { + background-color: #45D48A; + } +} + +.hc-text-success { + color: #010B15; +} + +.hc-border-success { + border-color: #45D48A !important; +} +// +.hc-bg-danger { + background-color: #EE7A55; + + &-light { + background-color: #EE7A55; + } +} + +.hc-text-danger { + color: #010B15; +} + +.hc-border-danger { + border-color: #EE7A55 !important; +} +// +.hc-bg-info { + background-color: #84D6FF; + + &-light { + background-color: #84D6FF; + } +} + +.hc-text-info { + color: #010B15; +} + +.hc-border-info { + border-color: #84D6FF !important; +} + +// Table +.hc-table-hover-tr-style { + border: 0px; + margin: 0px; + padding: 0px; + border-spacing: 0px; + background-color: #FFFFFF; + color: #010b15; +} + +.hc-table-hover-td-style { + border: 1px solid #FFFFF !important; + border-bottom: 2px solid #FFFFFF !important; + border-top: 2px solid #FFFFFF !important; +} + +.hc-table-container-header { + height: auto; + border-bottom: solid 1px #bac1cd; + padding-top: 1.3em; + padding-left: 1em; + padding-right: 1em; + padding-bottom: 1em; + display: inline-flex; + background-color: #010b15; +} + + +.hc-table-hover-label { + color: #fff; + padding-top:8em; +} + +.hc-table-hover { + color: #d4d4d4 !important; +} + +.hc-table-cont-style { + pointer-events:none; + margin-left: 1em; + width: 34em; + background-color: #010b15; + border-color: #4a4a4a !important; +} + +.hc-table-border{ + border: 2px solid #2d3a48 !important; +} + +.hc-table-header-style { + color: #FFF; +} + + +// Accordion +.hc-accordion-style { + width: 590px; + height: auto; + padding-left: 2em; +} + +.hc-acc-container-header-expand { + height: auto; + padding-bottom: 1em; + padding-top:1.3em; + border-bottom: solid 1px #bac1cd; + padding-top:1.3em; + background-color: #010b15; + padding-right: 2em; +} + + + diff --git a/pgaweb/static/css/styleguide/iconography.scss b/pgaweb/static/css/styleguide/iconography.scss new file mode 100644 index 0000000..04639c6 --- /dev/null +++ b/pgaweb/static/css/styleguide/iconography.scss @@ -0,0 +1,720 @@ +.pg-icon { + background-repeat: no-repeat; + background-size: 24px !important; + align-content: center; + vertical-align: middle; + height: 2.3em; + width: 2.3em; + display: inline-block; + +} + +.cast { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/cast.svg) !important; +} + +.coll-cast { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-cast.svg) !important; +} + +.catalog_object_column { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/catalog_object_column.svg) !important; +} + +.coll-column { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-column.svg) !important; +} + +.catalog_object { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/catalog_object.svg) !important; +} + +.coll-catalog_object { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-catalog_object.svg) !important; +} + +.catalog { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/catalog.svg) !important; +} + +.coll-catalog { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-catalog.svg) !important; +} + +.domain_constraints { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/domain_constraints.svg) !important; +} + +.coll-domain_constraints { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-domain_constraints.svg) !important; +} + +.primary_key { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/primary_key.svg) !important; +} + +.compound_trigger { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/compound_trigger.svg) !important; +} + +.coll-compound_trigger { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-compound_trigger.svg) !important; +} + +.coll-database { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-database.svg) !important; +} + +.database { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/database.svg) !important; +} + +.edbfunc { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/edbfunc.svg) !important; +} + +.coll-edbfunc { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-edbfunc.svg) !important; +} + +.fts_template { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/fts_template.svg) !important; +} + +.coll-fts_template { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-fts_template.svg) !important; +} + +.trigger { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/trigger.svg) !important; +} + +.coll-trigger { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-trigger.svg) !important; +} + +.coll-sequence { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-sequence.svg) !important; +} + +.event_trigger { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/event_trigger.svg) !important; +} + +.coll-event_trigger { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-event_trigger.svg) !important; +} + +.trigger_function { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/trigger_function.svg) !important; +} + +.coll-trigger_function { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-trigger_function.svg) !important; +} + +.procedure { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/procedure.svg) !important; +} + +.coll-function { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-function.svg) !important; +} + +.edbproc { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/edbproc.svg) !important; +} + +.coll-edbproc { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-edbproc.svg) !important; +} + +.domain { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/domain.svg) !important; +} + +.coll-domain { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-domain.svg) !important; +} + +.collation { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/collation.svg) !important; +} + +.language { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/language.svg) !important; +} + +.coll-language { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-language.svg) !important; +} + +.mview { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/mview.svg) !important; +} + +.coll-mview { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-mview.svg) !important; +} + +.function { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/function.svg) !important; +} + +.coll-procedure { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-procedure.svg) !important; +} + +.schema { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/schema.svg) !important; +} + +.coll-schema { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-schema.svg) !important; +} + +.synonym { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/synonym.svg) !important; +} + +.coll-synonym { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-synonym.svg) !important; +} + +.coll-fts_parser { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-fts_parser.svg) !important; +} + +.type { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/type.svg) !important; +} + +.coll-type { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-type.svg) !important; +} + +.view { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/view.svg) !important; +} + +.coll-view { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-view.svg) !important; +} + +.resource_group { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/resource_group.svg) !important; +} + +.coll-resource_group { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-resource_group.svg) !important; +} + +.tablespace { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/tablespace.svg) !important; +} + +.coll-tablespace { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-tablespace.svg) !important; +} + +.rule-1 { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/rule-1.svg) !important; +} + +.coll-rule { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-rule.svg) !important; +} + +.exclusion_constraint { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/exclusion_constraint.svg) !important; +} + +.package { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/package.svg) !important; +} + +.coll-package { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-package.svg) !important; +} + +.index { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/index.svg) !important; +} + +.coll-index { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-index.svg) !important; +} + +.role { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/role.svg) !important; +} + +.coll-role { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-role.svg) !important; +} + +.group { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/group.svg) !important; +} + +.partition { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/partition.svg) !important; +} + +.coll-partition { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-partition.svg) !important; +} + +.coll-foreign_data_wrapper-1 { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-foreign_data_wrapper-1.svg) !important; +} + +.foreign_data_wrapper-1 { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/foreign_data_wrapper-1.svg) !important; +} + +.pga_job { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/pga_job.svg) !important; +} + +.coll-pga_job { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-pga_job.svg) !important; +} + +.pga_jobstep { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/pga_jobstep.svg) !important; +} + +.coll-pga_jobstep { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-pga_jobstep.svg) !important; +} + +.user_mapping { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/user_mapping.svg) !important; +} + +.coll-user_mapping { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-user_mapping.svg) !important; +} + +.pga_schedule { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/pga_schedule.svg) !important; +} + +.coll-pga_schedule { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-pga_schedule.svg) !important; +} + +.server_group { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/server_group.svg) !important; +} + +.server { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/server.svg) !important; +} + +.coll-foreign_server { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-foreign_server.svg) !important; +} + +.trigger-bad { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/trigger-bad.svg) !important; +} + +.triggerbad { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/triggerbad.svg) !important; +} + +.pga_schedule-disabled { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/pga_schedule-disabled.svg) !important; +} + +.pga_job-disabled { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/pga_job-disabled.svg) !important; +} + +.pga_jobstep-disabled { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/pga_jobstep-disabled.svg) !important; +} + +.serverbad { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/serverbad.svg) !important; +} + +.domain_constraints-bad { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/domain_constraints-bad.svg) !important; +} + +.compound_trigger-bad { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/compound_trigger-bad.svg) !important; +} + +.databasebad { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/databasebad.svg) !important; +} + +.check-constraint-bad { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/check-constraint-bad.svg) !important; +} + +.check-constraint { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/check-constraint.svg) !important; +} + +.sub_partition_table { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/sub_partition_table.svg) !important; +} + +.table-inherited { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/table-inherited.svg) !important; +} + +.table-inherits { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/table-inherits.svg) !important; +} + +.table-multi-inherit { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/table-multi-inherit.svg) !important; +} + +.partition_table { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/partition_table.svg) !important; +} + +.unique_constraint { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/unique_constraint.svg) !important; +} + +.table-repl { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/table-repl.svg) !important; +} + +.coll-foreign_table { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-foreign_table.svg) !important; +} + +.coll-fts_dictionary { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-fts_dictionary.svg) !important; +} + +.ppas { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/ppas.svg) !important; +} + +.pg { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/pg.svg) !important; +} + +.coll-edbvar { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-edbvar.svg) !important; +} + +.edbvar { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/edbvar.svg) !important; +} + +.extension { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/extension.svg) !important; +} + +.coll-extension { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-extension.svg) !important; +} + +.coll-fts_configuration { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-fts_configuration.svg) !important; +} + +.fts_configuration-1 { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/fts_configuration-1.svg) !important; +} + +.fts_dictionary { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/fts_dictionary.svg) !important; +} + +.ex_unknown { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/ex_unknown.svg) !important; +} + +.fts_parser { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/fts_parser.svg) !important; +} + +.coll-constraints { + background-image: url(/static/img/style_guide/iconography_assets/tree_view_icons/coll-constraints.svg) !important; +} + + + +.pg-icon-query { + background-repeat: no-repeat; + background-size: 64px !important; + align-content: center; + vertical-align: middle; + height: 5em; + width: 5em; + display: inline-block; +} + +.ex_aggregate { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_aggregate.svg) !important; +} + +.ex_append { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_append.svg) !important; +} + +.ex_bmp_and { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_bmp_and.svg) !important; +} + +.ex_bmp_heap { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_bmp_heap.svg) !important; +} + +.ex_bmp_index { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_bmp_index.svg) !important; +} + +.ex_bmp_or { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_bmp_or.svg) !important; +} + +.ex_cte_scan { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_cte_scan.svg) !important; +} + +.ex_delete { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_delete.svg) !important; +} + +.ex_foreign_scan { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_foreign_scan.svg) !important; +} + +.ex_gather_merge { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_gather_merge.svg) !important; +} + +.ex_gather_motion { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_gather_motion.svg) !important; +} + +.ex_group { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_group.svg) !important; +} + +.ex_hash_setop_intersect_all { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_hash_setop_intersect_all.svg) !important; +} + +.ex_hash_setop_intersect { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_hash_setop_intersect.svg) !important; +} + +.ex_hash_setop_unknown { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_hash_setop_unknown.svg) !important; +} + +.ex_hash { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_hash.svg) !important; +} + +.ex_index_only_scan { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_index_only_scan.svg) !important; +} + +.ex_index_scan { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_index_scan.svg) !important; +} + +.ex_materialize { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_materialize.svg) !important; +} + +.ex_merge_anti_join { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_merge_anti_join.svg) !important; +} + +.ex_merge_append { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_merge_append.svg) !important; +} + +.ex_merge_semi_join { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_merge_semi_join.svg) !important; +} + +.ex_merge { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_merge.svg) !important; +} + +.ex_named_tuplestore_scan { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_named_tuplestore_scan.svg) !important; +} + +.ex_recursive_union { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_recursive_union.svg) !important; +} + +.ex_redistribute_motion { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_redistribute_motion.svg) !important; +} + +.ex_result { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_result.svg) !important; +} + +.ex_scan { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_scan.svg) !important; +} + +.ex_seek { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_seek.svg) !important; +} + +.ex_setop { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_setop.svg) !important; +} + +.ex_values_scan { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_values_scan.svg) !important; +} + +.ex_lock_rows { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_lock_rows.svg) !important; +} + +.ex_projectset { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_projectset.svg) !important; +} + +.ex_update { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_update.svg) !important; +} + +.ex_tid_scan { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_tid_scan.svg) !important; +} + +.ex_window_aggregate { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_window_aggregate.svg) !important; +} + +.ex_hash_setop_except_all { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_hash_setop_except_all.svg) !important; +} + +.ex_limit { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_limit.svg) !important; +} + +.ex_table_func_scan { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_table_func_scan.svg) !important; +} + +.ex_hash_semi_join { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_hash_semi_join.svg) !important; +} + +.ex_subplan { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_subplan.svg) !important; +} + +.ex_nested_loop_semi_join { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_nested_loop_semi_join.svg) !important; +} + +.ex_unique { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_unique.svg) !important; +} + +.ex_hash_setop_except { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_hash_setop_except.svg) !important; +} + +.ex_broadcast_motion { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_broadcast_motion.svg) !important; +} + +.ex_hash_anti_join { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_hash_anti_join.svg) !important; +} + +.ex_insert { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_insert.svg) !important; +} + +.ex_nested_loop_anti_join { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_nested_loop_anti_join.svg) !important; +} + +.ex_worktable_scan { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_worktable_scan.svg) !important; +} + +.ex_sort { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_sort.svg) !important; +} + +.ex_join { + background-image: url(/static/img/style_guide/iconography_assets/query_explain_icons/ex_join.svg) !important; +} + + +// Custom Solid icons +.pg-icon-custom { + background-repeat: no-repeat; + background-size: 24px !important; + align-content: center; + vertical-align: middle; + height: 1.7em; + width: 2.3em; + display: inline-block; +} + +.commit { + background-image: url(/static/img/style_guide/iconography_assets/custom_solid_icons/commit.svg) !important; +} + +.compare { + background-image: url(/static/img/style_guide/iconography_assets/custom_solid_icons/compare.svg) !important; +} + +.connect { + background-image: url(/static/img/style_guide/iconography_assets/custom_solid_icons/connect.svg) !important; +} + +.disconnect { + background-image: url(/static/img/style_guide/iconography_assets/custom_solid_icons/disconnect.svg) !important; +} + +.drop_cascade { + background-image: url(/static/img/style_guide/iconography_assets/custom_solid_icons/drop_cascade.svg) !important; +} + +.query_tool { + background-image: url(/static/img/style_guide/iconography_assets/custom_solid_icons/query_tool.svg) !important; +} + +.rollback { + background-image: url(/static/img/style_guide/iconography_assets/custom_solid_icons/rollback.svg) !important; +} + +.row_filter { + background-image: url(/static/img/style_guide/iconography_assets/custom_solid_icons/row_filter.svg) !important; +} + +.save_data_changes { + background-image: url(/static/img/style_guide/iconography_assets/custom_solid_icons/save_data_changes.svg) !important; +} + +.script { + background-image: url(/static/img/style_guide/iconography_assets/custom_solid_icons/script.svg) !important; +} + +// Font-Awesome icons. +.pg-fa-icon { + width: 20.6px !important; + height: 20.6px; +} diff --git a/pgaweb/static/css/styleguide/sd_theme.scss b/pgaweb/static/css/styleguide/sd_theme.scss new file mode 100644 index 0000000..1027797 --- /dev/null +++ b/pgaweb/static/css/styleguide/sd_theme.scss @@ -0,0 +1,571 @@ +.nav-tabs .nav-link.active { + border: none; + border-bottom: 3px solid #295c85!important; + color: #295c85 !important; +} + +.nav-tabs .nav-link:hover { + border: none; +} + +.nav-tabs .nav-link { + border: none; + color: #6d7789; + padding-left: 0em; + font-weight: 500; +} + +// Color code classes +// Primary colors +.primary { + background-color: #326690; +} + +.primary-dark { + background-color: #295c85; +} + +.primary-light { + background-color: #d6effc; +} + +// Secondary colors +.success { + background-color: #43a047; +} + +.success-light { + background-color: #ddf1de; +} +// warning is pre existing class in css so instead of using warning using warning-clr +.warning-clr { + background-color: #EEA236; +} + +.warning-light { + background-color: #FCE5C5; +} + +.danger { + background-color: #e53935; +} + +.danger-light { + background-color: #F39999; +} + +.danger-lighter { + background-color: #faecec; +} + +// Severity status colors +.explain-sev-2 { + background-color: #FFEE88; +} + +.explain-sev-3 { + background-color: #EE8800; +} + +.explain-sev-4 { + background-color: #880000; +} + +// schema diff colors +.diff-row { + background-color: #FFF9C4; +} + +.source-row { + background-color: #FFEBEE; +} + +.target-row { + background-color: #FBE3BF; +} + +// Query editor colors +.number { + background-color: #996644; +} + +.string { + background-color: #AA1111; +} + +.variabe { + background-color: #0055AA; +} + +.builtin { + background-color: #3300AA; +} + +.comment { + background-color: #AA5500; +} + +.bracket { + background-color: #999977; +} + +.activeline { + background-color: #50B0F0; +} + +.keyword{ + background-color: #990088; +} + +.foldmarker { + background-color: #0000FF; +} + +// Ternary colors +.fg { + background-color: #222222; +} + +.ternary { + background-color: #5B6D7C; +} + +.gray-dark { + background-color: #848EA0; +} + +.gray { + background-color: #848EA0; +} + +.border-color { + background-color: #DDE0E6; +} + +.gray-light { + background-color: #EBEEF3; +} + +.gra-lighter { + background-color: #F3F5F9; +} + + +// Input style +.container-header { + height: 72px; + border-bottom: solid 1px #bac1cd; + padding-top:1.3em; +} + +.sd-container-header { + background-color: #FFFFFF; +} + +.sd-default-input { + stroke: #dde0e6; + fill: #FFF; +} + +.sd-active-input { + stroke: #73a6ce; + fill: #FFF; +} + +.sd-disabled-input { + stroke: #dde0e6; + fill: #f3f5f9; +} + +.sd-error-input { + stroke: #f39999; + fill: #FFF; +} + +.input-svg-text-style { + font-size:14px; + fill: #222222; +} + +.input-svg-text-disabled { + fill: #848ea0; +} + +.input-svg-text-error { + fill: #f39999; +} + +// dropdown style +.container-header-expand { + width: 653px; + height: 304px; + border-bottom: solid 1px #bac1cd; + padding-top:1.3em; +} + +//Button style +.sd-btn-row { + border: solid 1px #bac1cd; +} +.sd-btn-style { + padding-left: 2em; + height: 94px; + background-color: #ffffff; +} + +.sd-btn-label { + font-size: 12px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: 0.35px; + color: #222222; + width: 162px; +} + +.sd-btn-block { + border-right: solid 1px #bac1cd; + width: 163.25px; +} + +.sd-btn-code-block { + max-width: 326.5px; + min-width: 326.5px; + height: 94px; +} + +.sd-btn { + color: #ffffff; +} + + + +// Primary +.sd-btn:hover { + color: #ffffff; +} + +.sd-btn-primary { + background-color: #326690; + color: #FFFFFF; +} + +.sd-icon-color { + color: #FFFFFF; +} + +.sd-icon-color:hover { + color: #FFFFFF; +} + +.sd-btn-primary-hover { + background-color: #285274; + color: #FFFFFF; +} + +.sd-btn-primary-pressed { + background-color: #254b6a; + color: #FFFFFF; +} + +.sd-btn-primary-disabled { + background-color: #326690; + color: #FFFFFF; + opacity: 0.5; +} + +// Secondary +.sd-secondary-btn { + color: #212529; +} + +.sd-secondary-btn:hover { + color: #212529; +} + +.sd-btn-secondary { + background-color: #FFFFFF; + border: solid 1px #bac1cd; + color: #212529; +} + +.sd-icon-secondary-color { + color: #212529; +} + +.sd-icon-secondary-color:hover { + color: #212529; +} + +.sd-btn-secondary-hover { + background-color: #ebeef3; + border: solid 1px #9ca6b8; + color: #212529; +} + +.sd-btn-secondary-pressed { + background-color: #e6e6e6; + border: solid 1px #95a0b2; + color: #212529; +} + +.sd-btn-secondary-disabled { + background-color: #FFFFFF; + border: solid 2px #bac1cd; + color: #212529; + opacity: 0.5; +} + +// icon btn +.sd-btn-icon { + width: 27px; + height: 25px; + border: 1px solid #bac1cd; + border-radius: 3px; + text-align: center; +} + +.sd-btn-icon-style{ + color: #212529; + width: 14px; + height: 14px; + vertical-align: baseline; + padding-top: 1px; +} + +.sd-btn-icon-hover { + width: 27px; + height: 25px; + border-radius: 3px; + text-align: center; + border: solid 1px #9ca6b8; + background-color: #ebeef3; + padding-top: 1px; +} + +.sd-btn-icon-pressed { + width: 27px; + height: 25px; + border-radius: 3px; + text-align: center; + border: solid 1px #95a0b2; + background-color: #e6e6e6; + padding-top: 1px; +} + +.sd-btn-icon-disabled { + width: 27px; + height: 25px; + border-radius: 3px; + text-align: center; + border: solid 1px #bac1cd; + background-color: #ffffff; + opacity: 0.5; + padding-top: 1px; +} + + +// Checkbox +.sd-checkbox-block { + border-right: solid 1px #bac1cd; + padding-left: 1em; + width: 163.25px; +} + +.sd-checkbox-cont { + width: 115px; + height: 34px; + border-radius: 3px; + border: solid 1px #bac1cd; + padding-top: 0.25em; + padding-left: 0.6em; + font-size: 15px; +} + +.sd-checkbox-default { + width: 12px; + height: 12px; + border: solid 1px #dde0e6; +} + +.sd-checkbox-hover-bg { + width: 115px; + height: 34px; + border-radius: 3px; + border: solid 1px #bac1cd; + background-color: #ebeef3; + padding-top: 0.25em; + padding-left: 0.6em; + font-size: 15px; + + .custom-control-label::after { + background-color: #ebeef3; + } +} + +.sd-checkbox-pressed-bg { + width: 115px; + height: 34px; + border-radius: 3px; + border: solid 1px #95a0b2; + background-color: #e6e6e6; + padding-top: 0.25em; + padding-left: 0.6em; + font-size: 15px; + + .custom-control-label::after { + background-color: #e6e6e6; + } +} + +.sd-checkbox-selected-bg { + width: 115px; + height: 34px; + border-radius: 3px; + border: solid 1px #bac1cd; + background-color: #FFFFFF; + padding-top: 0.25em; + padding-left: 0.6em; + font-size: 15px; + + .custom-control-label::after { + background-color: #326690; + } +} + +.sd-checkbox-disabled-bg { + width: 115px; + height: 34px; + border-radius: 3px; + border: solid 1px #bac1cd; + background-color: #FFFFFF; + padding-top: 0.25em; + padding-left: 0.6em; + font-size: 15px; + opacity: 0.5; + + + .custom-control-label::after { + background-color: #326690; + } +} + +.custom-control-label::after { + border: solid 1px #dde0e6; + border-radius: .25rem; +} + +// Radio button +.radio-container-body { + width: 653px; + height: 348px; +} + +.btn-radio-primary { + color: #fff; + background-color: #326690; + border-color: #326690; + font-size: 14px; + font-weight: 500; +} + +.btn-radio-secondary { + color: #222222; + background-color: #fff; + border-color: #bac1cd; + font-size: 14px; + font-weight: 500; +} + +.btn-radio-secondary:hover { + color: #222222 !important; +} + +.radio-check { + color: #fff; +} + +.btn-radio-primary-hover { + color: #fff; + border-color: #326690; + font-size: 14px; + font-weight: 500; + background-color: #285274; +} + +.btn-radiomodern:hover { + color: #fff; +} + +// Table +.table-container-header { + height: auto; + border-bottom: solid 1px #bac1cd; + padding-top: 1.3em; + padding-left: 1em; + padding-right: 1em; + padding-bottom: 1em; + display: inline-flex; +} + +.table-hover-tr-style { + border: 0px; + margin: 0px; + padding: 0px; + border-spacing: 0px; + background-color: #d6effc; + color: #222222; +} + +.table-hover-td-style { + border-bottom: 2px solid #326690 !important; + border-top: 2px solid #326690 !important; +} + +.table-cont-style { + pointer-events:none; + margin-left: 1em; + width: 34em; +} + +.table-hover-label { + padding-top:8em; +} + +// Accordion +.accordion-style { + width: 590px; + height: auto; + padding-left: 2em; +} + +.acc-container-header-expand { + height: auto; + padding-bottom: 1em; + border-bottom: solid 1px #bac1cd; + padding-top:1.3em; + padding-right: 2em; +} + +// iconography +.iconography-component-container { + width: auto; + border: solid 1px #bac1cd; + margin-bottom: 3em; + background-color: #f3f5f9; +} + +.icon-label { + font-size: 12px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 1.17; + letter-spacing: 0.25px; + color: #222222; +} + + + + diff --git a/pgaweb/templates/pgaweb/styleguide/accordion/accordion.html b/pgaweb/templates/pgaweb/styleguide/accordion/accordion.html new file mode 100644 index 0000000..84b46ce --- /dev/null +++ b/pgaweb/templates/pgaweb/styleguide/accordion/accordion.html @@ -0,0 +1,18 @@ +
+ {% include "pgaweb/styleguide/theme_nav_bar.html" %} + +
Default
++ <div class=“accordian-group pg-el-12”> + <div class=“badge” data-toggle=“collapse” data-target=“#pgC_1035" + aria-controls=“pgC_1035” + aria-level=“3" role=“heading”>...</div> + <div id=“pgC_1035” class=“accordian-content pg-el-12 collapse show”> + ...</div> + </div> ++
Expand
++ <div class=“accordian-group pg-el-12”> + <div class=“badge” data-toggle=“collapse” data-target=“#pgC_1035" + aria-controls=“pgC_1035” + aria-level=“3" role=“heading”>...</div> + <div id=“pgC_1035” class=“accordian-content pg-el-12 collapse show”> + ...</div> + </div> ++
Default
++ <div class=“accordian-group pg-el-12”> + <div class=“badge” data-toggle=“collapse” data-target=“#pgC_1035" + aria-controls=“pgC_1035” + aria-level=“3" role=“heading”>...</div> + <div id=“pgC_1035” class=“accordian-content pg-el-12 collapse show”> + ...</div> + </div> ++
Expand
++ <div class=“accordian-group pg-el-12”> + <div class=“badge” data-toggle=“collapse” data-target=“#pgC_1035" + aria-controls=“pgC_1035” + aria-level=“3" role=“heading”>...</div> + <div id=“pgC_1035” class=“accordian-content pg-el-12 collapse show”> + ...</div> + </div> ++
Default
++ <div class=“accordian-group pg-el-12”> + <div class=“badge” data-toggle=“collapse” data-target=“#pgC_1035" + aria-controls=“pgC_1035” + aria-level=“3" role=“heading”>...</div> + <div id=“pgC_1035” class=“accordian-content pg-el-12 collapse show”> + ...</div> + </div> ++
Expand
++ <div class=“accordian-group pg-el-12”> + <div class=“badge” data-toggle=“collapse” data-target=“#pgC_1035" + aria-controls=“pgC_1035” + aria-level=“3" role=“heading”>...</div> + <div id=“pgC_1035” class=“accordian-content pg-el-12 collapse show”> + ...</div> + </div> ++
+ {% include "pgaweb/styleguide/theme_nav_bar.html" %} + +
Success
++ <div class="d-flex px-2 py-1 bg-success-light border border-success rounded"> + <div class="pr-2"> + <i class="fa fa-check fa-lg text-success pg-bg-status-icon" + aria-hidden="true" role="img"></i> + </div> + <div class="text-body mx-auto pg-bg-status-text"> + ... + </div> + </div> ++
Error
++ <div class="d-flex px-2 py-1 bg-danger-light border border-danger rounded"> + <div class="pr-2"> + <i class="fa fa-exclamation-triangle text-danger" + aria-hidden="true" role="img"></i> + </div> + <div class="text-body mx-auto pg-bg-status-text"> + ... + </div> + </div> ++
Info
++ <div class="d-flex px-2 py-1 bg-info-light border border-danger rounded"> + <div class="pr-2"> + <i class="fa fa-exclamation-triangle text-info" + aria-hidden="true" role="img"></i> + </div> + <div class="text-body mx-auto pg-bg-status-text"> + ... + </div> + </div> ++
Success
++ <div class="d-flex px-2 py-1 bg-success-light border border-success rounded"> + <div class="pr-2"> + <i class="fa fa-check fa-lg text-success pg-bg-status-icon" + aria-hidden="true" role="img"></i> + </div> + <div class="text-body mx-auto pg-bg-status-text"> + ... + </div> + </div> ++
Error
++ <div class="d-flex px-2 py-1 bg-danger-light border border-danger rounded"> + <div class="pr-2"> + <i class="fa fa-exclamation-triangle text-danger" + aria-hidden="true" role="img"></i> + </div> + <div class="text-body mx-auto pg-bg-status-text"> + ... + </div> + </div> ++
Info
++ <div class="d-flex px-2 py-1 bg-info-light border border-danger rounded"> + <div class="pr-2"> + <i class="fa fa-exclamation-triangle text-info" + aria-hidden="true" role="img"></i> + </div> + <div class="text-body mx-auto pg-bg-status-text"> + ... + </div> + </div> ++
Success
++ <div class="d-flex px-2 py-1 bg-success-light border border-success rounded"> + <div class="pr-2"> + <i class="fa fa-check fa-lg text-success pg-bg-status-icon" + aria-hidden="true" role="img"></i> + </div> + <div class="text-body mx-auto pg-bg-status-text"> + ... + </div> + </div> ++
Error
++ <div class="d-flex px-2 py-1 bg-danger-light border border-danger rounded"> + <div class="pr-2"> + <i class="fa fa-exclamation-triangle text-danger" + aria-hidden="true" role="img"></i> + </div> + <div class="text-body mx-auto pg-bg-status-text"> + ... + </div> + </div> ++
Info
++ <div class="d-flex px-2 py-1 bg-info-light border border-danger rounded"> + <div class="pr-2"> + <i class="fa fa-exclamation-triangle text-info" + aria-hidden="true" role="img"></i> + </div> + <div class="text-body mx-auto pg-bg-status-text"> + ... + </div> + </div> ++
+ {% include "pgaweb/styleguide/theme_nav_bar.html" %} + +
Primary Buttons
+| + Default + | +
+
+
+
+
+ |
+
+ + <button class="ajs-button btn btn- + primary fa fa-lg fa-save + pg-alertify-button">Save</button> ++ |
+
| + Hover + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap class + .btn-primary:hover ++ |
+
| + Pressed + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + .btn-primary:not(:disabled):not + (.disabled):active ++ |
+
| + Disabled + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
Secondary Buttons
+| + Default + | +
+
+
+
+
+ |
+
+ + <button class="ajs-button btn btn- + secondary fa fa-lg fa-times + pg-alertify-button">Save</button> ++ |
+
| + Hover + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap class + .btn-secondary:hover ++ |
+
| + Pressed + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap class + .btn-secondary:not + (:disabled):not(.disabled):active ++ |
+
| + Disabled + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
Icon Buttons
+| + Default + | +
+
+
+
+
+ |
+
+ + <div class="wcFrameButton + pg-toolbar-btn btn-secondary" + title="Query Tool" aria-label= + "Query Tool"> + <div class="pg-font-icon + icon-query-tool"></div> + </div> ++ |
+
| + Hover + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap class + .btn-secondary:hover ++ |
+
| + Pressed + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap class + .btn-secondary:hover ++ |
+
| + Disabled + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
Primary Buttons
+| + Default + | +
+
+
+
+
+ |
+
+ + <button class="ajs-button btn btn- + primary fa fa-lg fa-save + pg-alertify-button">Save</button> ++ |
+
| + Hover + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap class + .btn-primary:hover ++ |
+
| + Pressed + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + .btn-primary:not(:disabled):not + (.disabled):active ++ |
+
| + Disabled + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
Secondary Buttons
+| + Default + | +
+
+
+
+
+ |
+
+ + <button class="ajs-button btn btn- + secondary fa fa-lg fa-times + pg-alertify-button">Save</button> ++ |
+
| + Hover + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap class + .btn-secondary:hover ++ |
+
| + Pressed + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap class + .btn-secondary:not + (:disabled):not(.disabled):active ++ |
+
| + Disabled + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
Icon Buttons
+| + Default + | +
+
+
+
+
+ |
+
+ + <div class="wcFrameButton + pg-toolbar-btn btn-secondary" + title="Query Tool" aria-label= + "Query Tool"> + <div class="pg-font-icon + icon-query-tool"></div> + </div> ++ |
+
| + Hover + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap class + .btn-secondary:hover ++ |
+
| + Pressed + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap class + .btn-secondary:hover ++ |
+
| + Disabled + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
Primary Buttons
+| + Default + | +
+
+
+
+
+ |
+
+ + <button class="ajs-button btn btn- + primary fa fa-lg fa-save + pg-alertify-button">Save</button> ++ |
+
| + Hover + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap class + .btn-primary:hover ++ |
+
| + Pressed + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + .btn-primary:not(:disabled):not + (.disabled):active ++ |
+
| + Disabled + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
Secondary Buttons
+| + Default + | +
+
+
+
+
+ |
+
+ + <button class="ajs-button btn btn- + secondary fa fa-lg fa-times + pg-alertify-button">Save</button> ++ |
+
| + Hover + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap class + .btn-secondary:hover ++ |
+
| + Pressed + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap class + .btn-secondary:not + (:disabled):not(.disabled):active ++ |
+
| + Disabled + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
Icon Buttons
+| + Default + | +
+
+
+
+
+ |
+
+ + <div class="wcFrameButton + pg-toolbar-btn btn-secondary" + title="Query Tool" aria-label= + "Query Tool"> + <div class="pg-font-icon + icon-query-tool"></div> + </div> ++ |
+
| + Hover + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap class + .btn-secondary:hover ++ |
+
| + Pressed + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap class + .btn-secondary:hover ++ |
+
| + Disabled + | +
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
+ {% include "pgaweb/styleguide/theme_nav_bar.html" %} + +
| + Default + | +
+
+
+
+
+
+
+
+ |
+
+ + <button class="btn btn-secondary + btn-checkbox"> + <div class="custom-control + custom-checkbox"> + ...</div> + </button> + ++ |
+
| + Hover + | +
+
+
+
+
+
+
+
+ |
+
+ + Handled by Bootstrap class + .btn-secondary:hover ++ |
+
| + Pressed + | +
+
+
+
+
+
+
+
+ |
+
+ + Handled by Bootstrap class + .btn-secondary:not(:disabled) + :not(.disabled):active ++ |
+
| + Selected + | +
+
+
+
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + checked ++ |
+
| + Disabled + | +
+
+
+
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
| + Default + | +
+
+
+
+
+
+
+
+ |
+
+ + <button class="btn btn-secondary + btn-checkbox"> + <div class="custom-control + custom-checkbox"> + ...</div> + </button> + ++ |
+
| + Hover + | +
+
+
+
+
+
+
+
+ |
+
+ + Handled by Bootstrap class + .btn-secondary:hover ++ |
+
| + Selected + | +
+
+
+
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + checked ++ |
+
| + Disabled + | +
+
+
+
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
| + Default + | +
+
+
+
+
+
+
+
+ |
+
+ + <button class="btn btn-secondary + btn-checkbox"> + <div class="custom-control + custom-checkbox"> + ...</div> + </button> + ++ |
+
| + Hover + | +
+
+
+
+
+
+
+
+ |
+
+ + Handled by Bootstrap class + .btn-secondary:hover ++ |
+
| + Pressed + | +
+
+
+
+
+
+
+
+ |
+
+ + Handled by Bootstrap class + .btn-secondary:not(:disabled) + :not(.disabled):active ++ |
+
| + Selected + | +
+
+
+
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + checked ++ |
+
| + Disabled + | +
+
+
+
+
+
+
+
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
+ pgAdmin has standards of reproducing colors so they will always look consistent. We are also committed to + complying with AA standard contrast ratios. To do this, choose primary, secondary, and tertiary colors that + support usability by ensuring sufficient color contrast between elements so that people with low vision can see + and use the interface. +
++ pgAdmin uses the Bootstrap framework for responsive layout and customized it based on specific needs. +
++ {% include "pgaweb/styleguide/theme_nav_bar.html" %} + +
Primary Colors
+These are main colors of tool. Used for header, selections, primary buttons etc.
+ +Secondary Colors
+Alert colors
+ +Severity Status Colors
+ +Schema Diff Colors.
+ +Query Editor Colors.
+ +Tertiary Colors
+Used for text, background, lines, borders, icons.
+ +Primary Colors
+These are main colors of tool. Used for header, selections, primary buttons etc.
+ +Secondary Colors
+Alert colors
+ +Severity Status Colors
+ +Schema Diff Colors.
+ +Query Editor Colors.
+ +Tertiary Colors
+Used for text, background, lines, borders, icons.
+ +Primary Colors
+These are main colors of tool. Used for header, selections, primary buttons etc.
+ +Secondary Colors
+Alert colors
+ +Severity Status Colors
+ +Schema Diff Colors.
+ +Query Editor Colors.
+ +Tertiary Colors
+Used for text, background, lines, borders, icons.
+ +Default
++ color: #99999; + background: #FFFFFF; + border: 1px solid #DDE0E6; + border-radius: 4px; ++
Filled
++ Handled by bootstrap class .select2-container--focus ++
Expanded
++ .select2-container--default .select2-results__option[aria-selected=true] { + background-color: #d6effc; + color: #222; + } ++
Filled Dropdown_Expanded
++ .select2-container--default .select2-results__option--highlighted { + background-color: #ebeef3 !important; + color: #222!important; + } ++
+ {% include "pgaweb/styleguide/theme_nav_bar.html" %} + +
Default
++ color: #99999; + background: #FFFFFF; + border: 1px solid #DDE0E6; + border-radius: 4px; ++
Filled
++ Handled by bootstrap class .select2-container--focus ++
Expanded
++ .select2-container--default .select2-results__option[aria-selected=true] { + background-color: #d6effc; + color: #222; + } ++
Filled Dropdown_Expanded
++ .select2-container--default .select2-results__option--highlighted { + background-color: #ebeef3 !important; + color: #222!important; + } ++
Default
++ color: #99999; + background: #FFFFFF; + border: 1px solid #DDE0E6; + border-radius: 4px; ++
Filled
++ Handled by bootstrap class .select2-container--focus ++
Expanded
++ .select2-container--default .select2-results__option[aria-selected=true] { + background-color: #d6effc; + color: #222; + } ++
Filled Dropdown_Expanded
++ .select2-container--default .select2-results__option--highlighted { + background-color: #ebeef3 !important; + color: #222!important; + } ++
Font Awesome version 5.14.0 (14x14px)
+ ++ <i class="Icon name" data-toggle="tooltip" title="Icon title" aria-label="Icon label"></i> ++
Custom Solid Icons (14x14px)
+ ++ <div class="wcFrameButton pg-toolbar-btn btn-secondary" title="Query Tool" aria-label="Query Tool"> + <div class="pg-font-icon icon-query-tool"></div> + </div> ++
Tree View Icons (14x14px)
+ +Query Explain Icons (64x64px)
+ diff --git a/pgaweb/templates/pgaweb/styleguide/iconography/hc_theme_iconography.html b/pgaweb/templates/pgaweb/styleguide/iconography/hc_theme_iconography.html new file mode 100644 index 0000000..4667d6b --- /dev/null +++ b/pgaweb/templates/pgaweb/styleguide/iconography/hc_theme_iconography.html @@ -0,0 +1,893 @@ +Font Awesome version 5.14.0 (14x14px)
+ ++ <i class="Icon name" data-toggle="tooltip" title="Icon title" aria-label="Icon label"></i> ++
Custom Solid Icons (14x14px)
+ ++ <div class="wcFrameButton pg-toolbar-btn btn-secondary" title="Query Tool" aria-label="Query Tool"> + <div class="pg-font-icon icon-query-tool"></div> + </div> ++
Tree View Icons (14x14px)
+ +Query Explain Icons (64x64px)
+ diff --git a/pgaweb/templates/pgaweb/styleguide/iconography/sd_theme_iconography.html b/pgaweb/templates/pgaweb/styleguide/iconography/sd_theme_iconography.html new file mode 100644 index 0000000..322b450 --- /dev/null +++ b/pgaweb/templates/pgaweb/styleguide/iconography/sd_theme_iconography.html @@ -0,0 +1,894 @@ +Font Awesome version 5.14.0 (14x14px)
++ Note: These are the icons we have used throughout the pgAdmin tool and can be changed + based on UI updates. +
++ <i class="Icon name" data-toggle="tooltip" title="Icon title" aria-label="Icon label"></i> ++
Custom Solid Icons (14x14px)
++ <div class="wcFrameButton pg-toolbar-btn btn-secondary" title="Query Tool" aria-label="Query Tool"> + <div class="pg-font-icon icon-query-tool"></div> + </div> ++
Tree View Icons (14x14px)
+Query Explain Icons (64x64px)
++ Icons are visual representations of commands, files or common actions. They should be meaningful, simple and legible. + pgAdmin uses custom as well as Font Awesome icons. +
+ ++Guidelines for icon selection: +
++
+ {% include "pgaweb/styleguide/theme_nav_bar.html" %} + +
- Welcome to the style guide for UI elements in pgAdmin4 to help the product stay consistent as it grows. -
- -- The style guide is intended for developers and designers to leverage when implementing features in pgAdmin UI. -
- -pgAdmin styling, colors and usage of colors has been changed since version 4.0 largely to improve the consistency, user experience and ease of development
-The app uses fixed set of colors throughout to give uniform look and feel across different dialogs, controls and tools.
-Colors listed on this page are used for specific purpose. Class names starting with - .bg- or .text- or .border- are defined for quick use, but not to be used out of the theme - on which pgAdmin is build.
-bg-primary
- border-primary
- text-primary
- The colors used by pgAdmin are described in this section. pgAdmin majorly uses three colors namely primary, secondary and gray. - There are few more colors which are used based on the specific context. To make the application more customizable, variables are defined specific to - modules and takes values from the standard available colors. These variables should be used in the SCSS files and if required new variables can be added - based on the module requirements, but the values should be taken from the available colors. Please note, all the required colors are defined and there - is no need to add any new colors.
-Available colors are:
-The primary color should be used to call attention to the main part of the app. Use sparingly.
-Secondary color is used in places like secondary buttons (Cancel, Next, etc.), toolbar buttons apart from the primary use buttons.
-Danger color is used to highlight errors and failures
-Success colors are used to highlight success and completions
-Warning colors are used to give informative warnings
-Grays should be used for borders, negative/empty spaces, disabled texts only. They are generally used for framing the controls.
-Use these variables for foreground and background colors instead of white and black respectively. This will help in switching the colors easily if planned for a dark theme.
-These are the color variables used by SQL editor
-- Use alerts to provide feedback to the user or call - attention to important information the user should know. -
- -- Note: Javascript functions exist for displaying most common alerts, avoiding the need to - manually style them in most cases. -
- -Use this to provide feedback on an event that happened correctly
- -Use this to provide feedback that something went wrong:
- -- Use this for non urgent info that users should know. - Links can also be placed within the banner if needed. -
-- pgAdmin primarily uses Google Roboto for the overall - content. The font FontAwesome is used for icons and Source Code Pro - is used for SQL and other code. Variables are defined for these fonts - and can be used directly for font-family property of css. -
- - -
-$font-family-primary: "Roboto" !default;
-$font-family-editor: 'Source Code Pro' !default;
-$font-family-icon: 'FontAwesome' !default;
- pgAdmin uses SASS/SCSS variables across the application and transpiles - SCSS code to CSS when bundled. This makes customizing style easier and - global. These variables must be used wherever applicable when developing - new style codes. -
-All the SCSS variables used in pgAdmin are viewable - here. -
-Default
++ <div class="pgadmin-control-group form-group row pg-el-12 name"> + <label class="control-label pg-el-sm-3 pg-el-12" + for="pgC_321">...</label> + <div class="pgadmin-controls pg-el-sm-9 pg-el-12"> + <input type="text" id="pgC_1030" class="form-control" + name="name" maxlength="255" value="" placeholder=""> + </div> + </div> ++
Active
++ Handled by bootstrap class.form-control:focus ++
Disabled
++ <div <class="pgadmin-control-group form-group row pg-el-12 name"< + ... + <input id="pgC_735" class="form-control" + readonly aria-readonly="true" value="postgres"> + </div> ++
Error
++ <div class=“pgadmin-control-group form-group row pg-el-12 name has-error”> + ...</div> ++
Default
++ <div class="pgadmin-control-group form-group row pg-el-12 name"> + <label class="control-label pg-el-sm-3 pg-el-12" + for="pgC_321">...</label> + <div class="pgadmin-controls pg-el-sm-9 pg-el-12"> + <input type="text" id="pgC_1030" class="form-control" + name="name" maxlength="255" value="" placeholder=""> + </div> + </div> ++
Active
++ Handled by bootstrap class.form-control:focus ++
Disabled
++ <div <class="pgadmin-control-group form-group row pg-el-12 name"< + ... + <input id="pgC_735" class="form-control" + readonly aria-readonly="true" value="postgres"> + </div> ++
Error
++ <div class=“pgadmin-control-group form-group row pg-el-12 name has-error”> + ...</div> ++
+ {% include "pgaweb/styleguide/theme_nav_bar.html" %} + +
Default
++ <div class="pgadmin-control-group form-group row pg-el-12 name"> + <label class="control-label pg-el-sm-3 pg-el-12" + for="pgC_321">...</label> + <div class="pgadmin-controls pg-el-sm-9 pg-el-12"> + <input type="text" id="pgC_1030" class="form-control" + name="name" maxlength="255" value="" placeholder=""> + </div> + </div> ++
Active
++ Handled by bootstrap class.form-control:focus ++
Disabled
++ <div <class="pgadmin-control-group form-group row pg-el-12 name"< + ... + <input id="pgC_735" class="form-control" + readonly aria-readonly="true" value="postgres"> + </div> ++
Error
++ <div class=“pgadmin-control-group form-group row pg-el-12 name has-error”> + ...</div> ++
Main Menu
+
+ .pg-navbar {
+ font-size: .925rem; background-color: #326690;
+ padding-left: 0; padding-right: .5rem;
+ }
+ .navbar-dark .navbar-brand, .navbar-dark .navbar-brand:focus, .navbar-dark
+ .navbar-brand:hover, .navbar-dark .navbar-nav.nav-link, .navbar-dark
+ .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover
+ {color: #fff;}
+
+
+ Sub Menu
+
+ .wcPanelTabActive { border-bottom: 3px solid #326690; color: #326690;}
+ .wcPanelTab { color: #222; padding: 5px 10px 2px; margin: 0;}
+
+
+ Main Menu
+
+ .pg-navbar {
+ font-size: .925rem; background-color: #326690;
+ padding-left: 0; padding-right: .5rem;
+ }
+ .navbar-dark .navbar-brand, .navbar-dark .navbar-brand:focus, .navbar-dark
+ .navbar-brand:hover, .navbar-dark .navbar-nav.nav-link, .navbar-dark
+ .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover
+ {color: #fff;}
+
+
+ Sub Menu
+
+ .wcPanelTabActive { border-bottom: 3px solid #326690; color: #326690;}
+ .wcPanelTab { color: #222; padding: 5px 10px 2px; margin: 0;}
+
+
+ + {% include "pgaweb/styleguide/theme_nav_bar.html" %} + +
Main Menu
+
+ .pg-navbar {
+ font-size: .925rem; background-color: #326690;
+ padding-left: 0; padding-right: .5rem;
+ }
+ .navbar-dark .navbar-brand, .navbar-dark .navbar-brand:focus, .navbar-dark
+ .navbar-brand:hover, .navbar-dark .navbar-nav.nav-link, .navbar-dark
+ .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover
+ {color: #fff;}
+
+
+ Sub Menu
+
+ .wcPanelTabActive { border-bottom: 3px solid #326690; color: #326690;}
+ .wcPanelTab { color: #222; padding: 5px 10px 2px; margin: 0;}
+
+
+ Default
++ <div class="btn-group pgadmin-controls-radio-none"> + <label class="btn btn-radiomodern btn-primary" tabindex="0"> + <i class="fa fa-check "></i> + <input type="radio" name="value" autocomplete="off" value="none" checked=""> + None</label> + <label class="btn btn-radiomodern btn-secondary" tabindex="0"> + <i class="fa fa-check visibility-hidden"></i> + <input type="radio" name="value" autocomplete="off" value="docking"> + Prevent Docking + </label> + <label class="btn btn-radiomodern btn-secondary" tabindex="0"> + <i class="fa fa-check visibility-hidden "></i> + <input type="radio" name="value" autocomplete="off" value="full"> Full Lock + </label> + </div> ++
Hover
++ Handled by bootstrap class .btn-primary:hover ++
Default
++ <div class="btn-group pgadmin-controls-radio-none"> + <label class="btn btn-radiomodern btn-primary" tabindex="0"> + <i class="fa fa-check "></i> + <input type="radio" name="value" autocomplete="off" value="none" checked=""> + None</label> + <label class="btn btn-radiomodern btn-secondary" tabindex="0"> + <i class="fa fa-check visibility-hidden"></i> + <input type="radio" name="value" autocomplete="off" value="docking"> + Prevent Docking + </label> + <label class="btn btn-radiomodern btn-secondary" tabindex="0"> + <i class="fa fa-check visibility-hidden "></i> + <input type="radio" name="value" autocomplete="off" value="full"> Full Lock + </label> + </div> ++
Hover
++ Handled by bootstrap class .btn-primary:hover ++
+ {% include "pgaweb/styleguide/theme_nav_bar.html" %} + +
Default
++ <div class="btn-group pgadmin-controls-radio-none"> + <label class="btn btn-radiomodern btn-primary" tabindex="0"> + <i class="fa fa-check "></i> + <input type="radio" name="value" autocomplete="off" value="none" checked=""> + None</label> + <label class="btn btn-radiomodern btn-secondary" tabindex="0"> + <i class="fa fa-check visibility-hidden"></i> + <input type="radio" name="value" autocomplete="off" value="docking"> + Prevent Docking + </label> + <label class="btn btn-radiomodern btn-secondary" tabindex="0"> + <i class="fa fa-check visibility-hidden "></i> + <input type="radio" name="value" autocomplete="off" value="full"> Full Lock + </label> + </div> ++
Hover
++ Handled by bootstrap class .btn-primary:hover ++
+ pgAdmin primarily uses Google Roboto for the overall content and Source Code Pro is used for SQL and other code. + The arrangement of type involves selecting typefaces, point sizes, line lengths, line-spacing, and letter-spacing, + and adjusting the space between pairs of letters. +
+ ++ Aa +
++ Aa +
+ ++ Roboto Regular + ABCDEFGHIJKLMNOPQRSTUVWXYZ + abcdefghijklmnopqrstuvwxyz + 0123456789 +
+ ++ Roboto Regular + ABCDEFGHIJKLMNOPQRSTUVWXYZ + abcdefghijklmnopqrstuvwxyz + 0123456789 +
+Font Size
+16pxLorem ipsum is dummy text.
+ 14pxLorem ipsum is dummy text.
+ 13pxLorem ipsum is dummy text.
+ Default with hover
+Hover
+| + + | ++ + | +
|---|---|
| + Backends + | ++ 2 + | +
| + Xact committed + | ++ 90830 + | +
| + Xact rolled back + | ++ 651 | +
| + Blocks read + | ++ 64395 + | +
| + Blocks hit + | ++ 3288016 + | +
| + Tuples returned + | ++ 6521406 + | +
| + Tuples fetched + | ++ 1603080 + | +
+ <div class="pg-panel-statistics-container"<> + <table class="backgrid presentation table table-bordered + table-noouter-border table-hover" + role="table"<> + <thead> + <tr> + <th class="sortable renderable width_percent_25 statistics" + role="columnheader">...</th> + <th class="sortable renderable value" role="columnheader"> + ...</th> + </tr> + </thead> + <tbody>...</tbody> + </table> + </div> + ++
Default with hover
+Hover
+| + + | ++ + | +
|---|---|
| + Backends + | ++ 2 + | +
| + Xact committed + | ++ 90830 + | +
| + Xact rolled back + | ++ 651 | +
| + Blocks read + | ++ 64395 + | +
| + Blocks hit + | ++ 3288016 + | +
| + Tuples returned + | ++ 6521406 + | +
| + Tuples fetched + | ++ 1603080 + | +
+ <div class="pg-panel-statistics-container"<> + <table class="backgrid presentation table table-bordered + table-noouter-border table-hover" + role="table"<> + <thead> + <tr> + <th class="sortable renderable width_percent_25 statistics" + role="columnheader">...</th> + <th class="sortable renderable value" role="columnheader"> + ...</th> + </tr> + </thead> + <tbody>...</tbody> + </table> + </div> + ++
Default with hover
+Hover
+| + + | ++ + | +
|---|---|
| + Backends + | ++ 2 + | +
| + Xact committed + | ++ 90830 + | +
| + Xact rolled back + | ++ 651 | +
| + Blocks read + | ++ 64395 + | +
| + Blocks hit + | ++ 3288016 + | +
| + Tuples returned + | ++ 6521406 + | +
| + Tuples fetched + | ++ 1603080 + | +
+ <div class="pg-panel-statistics-container"<> + <table class="backgrid presentation table table-bordered + table-noouter-border table-hover" + role="table"<> + <thead> + <tr> + <th class="sortable renderable width_percent_25 statistics" + role="columnheader">...</th> + <th class="sortable renderable value" role="columnheader"> + ...</th> + </tr> + </thead> + <tbody>...</tbody> + </table> + </div> + ++
+ {% include "pgaweb/styleguide/theme_nav_bar.html" %} + +
Primary Buttons
+| + Default + | +
+ |
+
+ + <div class="toggle-group"> + <label class="btn btn-success btn + -xs toggle-on"aria-hidden="true" + >True</label> + <span class="toggle-handle btn + btn-light btn-xs" + aria-hidden="true"</span> + </div> + ++ |
+
| + Hover + | +
+ |
+
+ + Handled by Bootstrap class + .btn-secondary:hover ++ |
+
| + Pressed + | +
+ |
+
+ + Handled by Bootstrap class + .btn-secondary:not(:disabled) + :not(.disabled):active ++ |
+
| + Disabled + | +
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
Toggle off
+| + Default + | +
+ |
+
+ + <div class="toggle-group"> + <label class="btn btn-success btn + -xs toggle-on"aria-hidden="true" + >True</label> + <span class="toggle-handle btn + btn-light btn-xs" + aria-hidden="true"</span> + </div> + ++ |
+
| + Hover + | +
+ |
+
+ + Handled by Bootstrap class + .btn-secondary:hover ++ |
+
| + Pressed + | +
+ |
+
+ + Handled by Bootstrap class + .btn-secondary:not(:disabled) + :not(.disabled):active ++ |
+
| + Disabled + | +
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
Primary Buttons
+| + Default + | +
+ |
+
+ + <div class="toggle-group"> + <label class="btn btn-success btn + -xs toggle-on"aria-hidden="true" + >True</label> + <span class="toggle-handle btn + btn-light btn-xs" + aria-hidden="true"</span> + </div> + ++ |
+
| + Hover + | +
+ |
+
+ + Handled by Bootstrap class + .btn-secondary:hover ++ |
+
| + Disabled + | +
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
Toggle off
+| + Default + | +
+ |
+
+ + <div class="toggle-group"> + <label class="btn btn-success btn + -xs toggle-on"aria-hidden="true" + >True</label> + <span class="toggle-handle btn + btn-light btn-xs" + aria-hidden="true"</span> + </div> + ++ |
+
| + Hover + | +
+ |
+
+ + Handled by Bootstrap class + .btn-secondary:hover ++ |
+
| + Disabled + | +
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
Primary Buttons
+| + Default + | +
+ |
+
+ + <div class="toggle-group"> + <label class="btn btn-success btn + -xs toggle-on"aria-hidden="true" + >True</label> + <span class="toggle-handle btn + btn-light btn-xs" + aria-hidden="true"</span> + </div> + ++ |
+
| + Hover + | +
+ |
+
+ + Handled by Bootstrap class + .btn-secondary:hover ++ |
+
| + Pressed + | +
+ |
+
+ + Handled by Bootstrap class + .btn-secondary:not(:disabled) + :not(.disabled):active ++ |
+
| + Disabled + | +
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
Toggle off
+| + Default + | +
+ |
+
+ + <div class="toggle-group"> + <label class="btn btn-success btn + -xs toggle-on"aria-hidden="true" + >True</label> + <span class="toggle-handle btn + btn-light btn-xs" + aria-hidden="true"</span> + </div> + ++ |
+
| + Hover + | +
+ |
+
+ + Handled by Bootstrap class + .btn-secondary:hover ++ |
+
| + Pressed + | +
+ |
+
+ + Handled by Bootstrap class + .btn-secondary:not(:disabled) + :not(.disabled):active ++ |
+
| + Disabled + | +
+ |
+
+ + Handled by bootstrap attribute + disabled ++ |
+
+ {% include "pgaweb/styleguide/theme_nav_bar.html" %} + +
b_I&1-fj-sU5E;t1q@-kqMwcQ|F`8DwL{-XR9#wq0* zZW~wmLCOO`$|InISbq`4c1G07X8RmS)DXDd5LF)9?|H!OX`gLxyBd`eTmUXdyIm`v z&1-tzKGe`+CyYuE!tiUYP?|tGdI$lkdglDoeo+Jt<)B4P-MNGgN85N+qYF~1jG@3z zseBOo7wCi+bh^Qw@xxozH$XPr1bLMxn*xgIx5Yxcc}hDsy!s*~9`JdGIzU!uDVFK) zCxB;bVlJGLRk*}E8TaZIPQSLR1<%5pH*a#R#;QJ0q11^(yaq`CN?VY-^MA?95ZrZK zAxe)ys20fwcAY2|C=U+_bZ`3I+Jqm?jHT74pQ^UAfz#o7Q@)tfU5WY zZQ_D_R42Qmb>4~Bu;K!=6!3VKO$7 bo?D<7?LhtkZ7bIHqN4p1X8?|5z`YjD0L!ow#ZFrpFO9rqT} zEQx?Lf7_%+LEl#fWtiQ>tvGevGn~m}A2bDLer}GztLNZ_7eS0&9v6$`#B2Y)=UoA* z%nj7Z-E?lsQpG4C+wnf#+sPRrt)6)fX+ixv@#=c}@pmW=(#Jy9%{&0>r*s7nw9;at z3mXPMbFyqC4uAn?R85g`Z$J2cxVKq8s?$0^7DO#HlzU={mO|f{`dM8dvQc9;Y|^_3 zy5*egK8e`7`imY|On!~?tK&S|#JA*4^vCh~W>!3jqY^DZoV^95^rsozOumm2-1jt3 zV%|LB84F_S(P5@71&=v)x@vY?8X$dV#cM%2TaWA~<8ppr3Ga%OtduP#A?2xjgbi?$ zn@~a)pj#bcgLHl*v`qCwrM5 4*<^Y&H;bm+vNB`XXk zxW~8la$&5*6h8(-=%c5SCHo8M-r9)HWAZ82)yi4nD3>K!8jX_p8tKm;n*~-Y-W`ld z2g>Vd<>^bR$aw??2ODkoHf0u%hWkiqJTz?zqEfWy%GzG+Hxf>_2sB$BDpZ_mbv=}u zx)VCUy&9IpAK|8`pQcAiMU|<)Fgzvn`#i&{YCI~BKdfzAxwClaHOP4spYZA~Rv$lX z7;05|SQ#9~i4qcxv3 R=^;M6lt2 z<%I%##+$Ww9VLWBB^Zr$Oje#EEq;9VjRf`AXDronhft_?btMIRwFj|Z-Z4TGNLsxX zz$3dLB$MrYa H#?_1F`<`%Zhfg&7l^zS0DZi%L^!Af> zOUG5yYTz8)y#h0F=y=6m6?V a>isqg8_GVN@3)Q>U<26c<1lljPw1NGG3hFwhayOy$ zM^iq_p~_*04?n*@9?pC+#d-&^QaW4aqIAdXQ}v%n`Wba~`MTc;Vq^PR7FUqW;WhJ* zpN_b?gD1eF{ShK%q>K`RdKu&9&Zz5Z&r4+N>sq2#Q~y`liZ^>+8VRYphTH20FEKIt z8}X$^5%^8=+dz~HQp&98E?T=$;P?^|HZ-)8b+`JX((4dWGu?ap1HgQ(8;6vkkDE6Y zTyeho8=8DQ0PyqXHr3H%cUDj@T|m8bsXQ{Wpn>f@o)tEG&YB}{9e)|?&b~PisVSl; z3Zgw2R(4y9j}bq?-xNO?c&yu%-wqXE<5H;PYuTHZ^H^|fFB+bDF0R*cF-=dT?;(3- zh>*i9MHijbz66#l7duotu=7~=-T@P1KKyHO{7#>$y0sCCvU%L?q4j#b9CxCGL1!j@ zN0m_3-(iSX8|sKJJf9dk{{k@TGfI#jV!?c#dFm1;NUM_%<-UG7h`Gs~ejZ|)eIg8a z*&rO-kTVoIX1hO@7Ju~tv+(hHaQ;;Vl{!BO=g+TuH&GNQ#~CThX2Q+#(#m4L;(jhz zFYMR;word?U?J`mxnS%Y^6UmxdbCXvL{{XJ)aX)*dEK-Q&e+ln%f-ozi`hU>q5}pc z)lKa?IS{FQCoWsgY{rn%#jNtYrY}TEyMsJXMkX_{<^9)8QR{lTfdIJd*~}6iX}8`$ zY7{Y Ha}kJ|(`97|KMZ@N#hv!aVw6d96XGD$0 cTR=@d6s zJ?CWCf^(w8H6`7T@h7l`g~LV&O?m1Vs7y{nw7{`YSro &XcLujIH`ymH=VJ*d9gm5N|}UJ89!}fALyVVWCTMKqT)wYiBgb6 zl0$O}nvh+1vN_M|p|w~kLA@qnOA 0<%dkB?#>Ki~Vn69)GXH1S0(*CUR8CH< zEjtSfW3mNhtur6S|A~vXv|~)MxrZm--8hXApSnjAZ5V%eZMZrYv79kytEtIk<*PUX zky vFgR)antRgNnKA9GmatneXzzFV$T6iqp6rxPTrHrr96Je+@V%sjH-emAO zh}rml@G+xXuDZxz5QfKIO%fy724_x``~Lj14^WTq*>mf>G-Slv@xBNhoDcr~()uZv zi)V*BS~!G~lD9MUMah(JG|&EuX<(eFk)kQ?*wJ `zV69d89VT_ch* zyM1n{3o%3-CM2(GlVuZAA H<9ylGsVX8_#7_BGq=wG7RV&>P?N`!nh;#694=E!~ z?EX!+u1i0yPQL4sX8%SNhMb6hEdy~Y(S8HF` q#(#5pH!Z>cF(oS1^_*1j%1Z)YzJZEJm$kbNPCrLgdM zwF1nC6&D{iMWz4|c`0abzTanYQzOCN8$m#R&_r+Iz7B0=&MV^IPVO)m%rh7)UNvE( zKU#X&=^_Q?V#e_;$a*)V^jNW=Eo6Vgq9OLRBjbXE#V*A3$rDi;d)D~)_);@*6G090 zM~LCcxxTO<@maC_2F73Vf}pnI)?ZT+_L1WsI&*FBGt(0Y4FD%KXccTIF|RpA6jYzs zP3I6 FIP1KdCmir{la4=j&@x9ZZ zqH@Q3PapV@^EV)L;p17S(JJhI6$zS1X^26rpRDL1U-(I1X&n5)!QNU*#8tS9(sBc- zj*?<5>+U*=d@~-SrkSK}xX$zMSc Xc{!pDf*Mq;rRkNSp6sLn8PW1pg^UQQO^20 zcl=&8{|I0OlHOaU5v@%V)4X_(0e22AR(Gw+=7TNRQTF-P=2eJ);f5Z`%YR8kZc4pL z7p7TXN~v(z#X~_4CkCvUoj`aRN{B~7i=VK|4e8*bRAZs*M~($4yMqeQ`n -CI zmrqic$GS)v#*Z$FFN? z-t)cgG&=6&p 9g*NC*A)%#SU>gct7~BvGA9qg+xv zw!wKeGBk6-X2ibVKzMO8ZcTF7Eha9yH%gS$hYlyOfUk66_bn-G&!>{@OV@GHi&ErH zYyb(3s*o$XjMp2>i*|S_lWSkHQ4;x0H7y22XNIzPRI;@rxnq~t`5z7?<+Q9?<%a=f znrwX63ONf#+Kn-% $nr^McM)j`f2B6OTY~@oOJz>2#Eu`a*%~Z=>OIO4U#)ki+C_Ejvjt&`|V17j%Zr zDbso^Ac+WsHR(>`GEgREXa1zP&iU<$A{&?Gl+uWk&PnU@A=y94X4qMxeF Z-5cyE}qmFqwo3PnWTBTi^TN}4xE4%YpUI+-) zT#B+i*dny1jUMbFmMVi(^?GOur~0iGs4$fIFGi#$wzEFiY)W$2FpNxfk1B1G|DJ>@ zf}30b<^Wyj04Oqov;;!Uw|kqjaz6L=)vvu^Hwb>q6w`-y6Zd0*&Uar?Y78b4>%F4h zP*KLQ L4V0st(63U`c&d9C= CcB51#g~#mAk+6%tc3H*l~5e 6m C}k$@%E!K-Ua%A_~rJCpb^XZ?h-+iANT164+8$^^ck)MBD6Z~tW%=EK3o7L2duLi z)br!3u{4!gip?@^L*ZX*fe)O4i@oWbV&$h>!~wRrzm-Eq@*A-LIJyNtV}u`rUlItP zx`RmU*3|9W^yj7`oXb2DlT|xGCg@-h01`YgSB~}s_9p@Y Cf0;ILX?H1xil>WCN6+$oG%l0!wg$hgbx{Eymz)2@LmgzXTHY&4%OR zdBVc(o-O%NKy~XB0rvs*hyCI+kw4xOfKUT)P9fCRx%oICC4oIgf|zZ-2YSG7g#hU_ zJW~qOq;|3+P^9^+z%IjnOmzRjcmR&IJUit@59=qcvU}ht#hP1`!Y6y}b@ScHMz)Mw ze-ss%gY8nz!Hd=iUPtaHs3} ?I++#1sPH-j<0wF!Wo)xpgOMeblkHftE}DfWW}Q9Z#~m z=hcJjR?LB~_$v}0<#ZK;iSG5Orn(5LszG~UbhuV`E*&U7ZIq)$AL<50Z1F$N2jpfm zIuSH5AVB}bQ%fb=oB~DZ <>esV>jy)_U3aF3>vHykp z|FSDRL_iDNh5PpB_3P(Q0K!0rZ%JCEA}$!xe#ABRyH~zr}fQ=mOB^*}ECXbDpI? z6%!@{)Dy!W|KGnkO!3E~70$Xq(xtmT*`RA|Yz)8nYU-R!AYQ)c^z`(#b92T6)gB&C zU!lXlKIa03Ss({g{xEd67kWjq|85(Jksb$hUw5`GQY3qX1U1F-$Ej&H&aEl4U(8#Z z2O2$ecUDFw<~rjiw&uIppx1qae#sdWfDA4k0Ra|<1TN{VmfGay;bKR`7!1<8H5e-d zh(D$s<5uNXSB`0KTFjaWfCy{p!1fP0uKuN|T(mKX0(}|k?|k5^)hF&9(Uv$UO1!2^ zU>*gOAOYN1w=+(BV!3$iqMn`}8}#zu6mVXPvDYhn-n6^xM0WM+eA>hFr(1@1Bn01m zbEb7!2>bqDgmcozsKfhpJP>_4#b6nV)1hn*8&LE)0zjRP`3M3~|7g7z&(F%yyg8=| zxGfaWPojy%TsW`d#vjjY`!`uWpp=Ayt^nG`)T4ai^GaI)6wE;HgP8qvT2q$ F_5g0EUu) zbtXbs;qEl29Y{F^NI5SekKiw&G|z|{nT_rQy;32#UZH?K)?eGJJlo!)2L>MmoGJ?R z5ZYEf=bH<>M1WEsP_-m~K86|uHVvm-1E@;rBvw9usvpD7JQwCPsaGASz-gdMO+$)- zIs?2t`w!^VJB JW_hi!8`#RqCvtU9I$~LCI3yw>(9}(m*a)nB(B*CvR+Q z @IinNFT=_l~3vjgadfjIRVyosDiX=Q?>vFdOo1&RtuC{ zSa?0Y-V8-wcAW4bH9U}(mVUmzzOHdXwIWUd6rWmx#G2xEl%)iN>ih_d`m^FCf>j11 z`Oisw>k+V1pgPBhAqLcrzSJgPUk9p=H!FaGq0w`xs$(k0@0V5p7qt`*mhW)0{fiFT zj}Cy_2?htL+03z_W1&01Y&Fu@0I$Qz<582VkA|yTk2_%~EkJpPbQI|M4r-0|INsAe z+TRvAm?rk&5pY;y#E&yf!>8)jw5oj1+p?4|JJoT_{~=98MOVW79E)k?0pjAeQF;KZ zmSUxRwaOZR)Me$FcjXBa9yfbrwG*)tV~EM1!xg>5-0}fDW^Exodq3DI7|`67GC*W> z+Ylm307kjas#(Muv8}(X4B&DD-=BVC6Uk=AF*Kh^g=&`BrE-%NSqzgPS4IT3^DAEh zupd)|GjVaQ{bFA#(!!&%(IO;JuRlwx^jZjN2|)68fZj)84|ksQhlmto^L+`TKlm&V zmVn2sa{;mdR)ZsWEW$Tb2R4DKl3c`(1j2>SSTvtpSb@?oVz6CNpp+MA)ntfrx?XX- zzi7Goy0u1uHVLRYP`CP?-mN&g4k{FqZ|lV-U^tU}WUDfnf!iPq5qk+A#c>?nI_aF# z;;kiOI{=u|v2iID;E*fx*1R$W`4m3ycMkgu_Ugl@d{3ue(3l#=(#jeDHg_<0K$^iv zZph>7+na;P3L8U;UEDvK?{)Pupwh 2d^u3=&1>fe0&hJo zy$6XIS*u3hKClgHNDa!q^8kQwSfWB9zLuuBZwONHb&~aiL{kbNz4Vk63G=7E>IPh4 z$=^9<7Zyunl-}HS1||E;MYI3Ro=iS;iV+Bf44TrvHN5ejSjazlP{F15$plzJDfp-` zRGbPVVkR@a@8qDV#e?`CL>WPObr67u$ud|(=W;I41j6dH;njAuGZxLQPBN4745 h`zkEe3PT^sr>*U= zzPk$=?63= MKwgBw%lbgH%oqS$4y;F0^A z2(T XP7`ulOi!kQ`$^qr{HNsL5E_CY_nLo{tY~?*Rx5CLn26#{k@_ z >jag5iDG?Nc72E%SJ8j2X{1B^1U2W<`aGuWZtv zrFMUN@n~hxwN<6d<>AP4In(i?Vao`d+6_a#y<9U9ha){H?e!@-&*m$WU=DQVue?5j z$C1|asgXaVS$B;D1szibOxn1ly8$ymhd9vc Wp_B+wUt* zs$#MNjGsE8!SJT`QSqdSE3d__!%>;sdhJwI)aZdad|%ybaH7s{o9B_kpuwQSL6R_) z*=W3*y1_A+3jf^9W6V>Hyb7B?2@?if+|^Z}orO9IXl!ZjF?jWC=ej4erfu3rOe%P_ ziVIBFjjb8g6-O}P;!|s!ueOXMsBO{}iIB!KZ(3#3h8ok9)AI)97R-R=tctC!hg9Wk z;a-VU#L!eLp|<2MrjBOjb<*Fq0)i@ZYS;iJt!}k!j}n>yT5PiFhfS)J&{AZNl*zf? zgAUyn3{mh27`UilOt7xn5$2IL@~##}#K9+jLwXaD&AdFfy$#j^1uCJcosDnoMkoq{ z&>|Vc{P2c3&j+NcanfQ0w0yfyGe6CqRJj;=zOz0CIMt`x`YgYp9^Ak6!E&)`-lIwv zd#C9)5_x6LuR?jLU|O!rg%h!U)XYoST`{R(&ddd-xyDX>fmm?z=vq1-UL4y3Y$sm8 zO1hZK^J?{6Eu{gD~9ygy_s|sz8^X% zE3W%m^xFFhMEJ!R)*Ff* nu#u-D@$f{MwwWvJ?H(I3o5tz&< zxR8YJ1I6*!@E5)1BS+%EeHEHo9XIub0yi2w*FQ~j$HSi%59mtA1N?-VVL9OOSm9mf zDRECb#Yuf+B6tiU2&njpRw{Q!In#Kq!uE<5vJ~wbYj#0}F$PeN+Rkx!UJ_7rI3E7N zpZQJSqH&B;wGjV=3_vESJhJN;s$=d3kA36^Dzm>9&Icit&LN1@xchxY^)K;jlDfTX zYt{}?1;(WdO$~ncBMl!A7slF0_XHh_KN8ms9eRRP%xG-~+MYB)Uy#&fp(~$U_~Ed) z(IoJO58Szd9g`Z1w<<7iJC@%^7$>EG=bb2{ChH^IU|#v2BA`9UCM7}e{y@ExG1_l6 zhoFE_eF49x!a%%LUH)T9-QYflt^meX-!6yDg9MHTtIFDl?cN+9SXn|GssbgvqX9h+ z(*q#H!qs?=EL+TqSa_%h-%VJDgTgq)Rk#q8%4m$+=_gUc#obIfUA%RJWe;#HiG~;} z NouhS%~_%<+`9Ul}@OY8KzhP|KYRpeM=#a;$W_%ydqNNwjnN z2qI%No%@jHM};LNs5c_;4Wbv7bvtm`D>%6IzFKXrDxxyBIw%YzQ~}5^Kk~=H4-nts zcy}ft4F*qzF`V#%i!q`UKqZthK%t|XsRU@}sHHjD`CiL5CXtPr^77?NR=(~jAAU?9 z zBm}`K1O8}xE6lN;97`}s7vCh_PCuQrwkH8m`0q@L?l!K4y?Rf%oMiY?<<&_A|nc`J)5C;d7;6YBP(La9&7+a{y=y zl3yi|h v!0Saa^Q zVMlc;PV29ybbit$R2%@JvU4xNxfs0T ?d8&O1z7}Q)ku5!xzSvfH%K0hkdZ+ z5Xgte+Bv4cNQ@lpa^MoA3_ll^0a@%>Luujo4bFSOU@%U@m3XHY%XV%iLSw(P1XZAo zGakef$-x#sE*?VizXa6xbE+97PB=K#Rd6cK_!#29rh0caRYV()9;i6vggLlP?H KrUs0(7v{0_ooX5NPer#Rm_$(w>JF0ioY}?BvAf zb}&44@yeAex(CQ*t?l!;V#(pgH}B(5z^&SH06 I>-WXL zC3z0CGcW*=S4{e?3o&I+^ccXcRic)8f Sofnv9k6#ANlo~76Lcen-5A(h z4WcxxZv4P4(?0I!M-T|b^V7ctu-VF6zTyW-GvjvvxjMuW<5AfW?}QV3u4oTfcGySH z+GL=ac8MnE+roPbI#1?qT?)_~jH5mby@mfRl)e4fK(B`2ecfM@4M&}tni?$21sVgs z>O8&&QN9wr@W)U5d9@8(C|Gcor#P=WKeZ?(34kJHIMU8B=a-+s?g1|4q|J(3oEPq| zh%Fp|BDp`O{DlhrTo4Xkdx#<}JdX|ldp}*!6u7F?iyjX)QvY7&SDqsTU`H<6e<32j z2u@)FaMmjU|JQG>CI%aX%)u-kxXjH5T#LhR*0rHLaEu=Wi%jzJV}*e2objOXLL* zWzW#A 7@90y`!gDo_Akbl57bNetB{2XCPhL6-+| z;}>xsMAOj!t*Myk1$Is0+-7-%3qbNou-`3n&2!;?AOa+u1oyN=pi#hB0rYa|nww`d zNYwsC0Z^ @Q}w?=K<& zJ89Y|OG*Xq{OB5hveL|Y$)8ig4*D~T%M)qQ2;Q*c0zoe0$JkuwZZQBnJA=YZ2QL_v z08)Xa0mhrI&;xnCH~>iE3^rW-#Q6kJds?uM_)X7Uf%9h!#sX&bz{NJ_p{rcLY3Kj| zLZA49sKG10bRIluL(G5^2JSlaakiHLJM+2)2JTu8-z@*qh$m;1lSI3ng1dHf0OfN@ za;Minejam(m%~pi^Wc!v1+;HP;Cc>zOMe~1Ow!X-$@C~2f(3rj1A2j;#lXJ`930qZ zg-`D_&6?ADPu!q0=Prw5K7Xq5UYvS?9?!$;)?^^7ltEw7>z)GY%x}JX1GIwmHNI+G z$_v2faFAE>saKfKh1s4purr3@_hh4CfxxyM=;!QKyvYAd1lUUBpJX8^KCgodP=RDo zg&Tp8;_qGJ#Q hnzf$7CKz3Yw-<#JBbg#d*Wa` zB^?%Nk9=m`S6Vlbu}7*uf^b+Mn8=rFtTplwynSV)xGdPV?Jfi8t^|Augbz992>x_H zL%fs#{dl2*1t- Da>{7+m0|A2MtV6+sbcM8GUw$khyhBI|E*AYJ6v0j+kaTR*5QVdKo>j&U*0s_9pqb@8 0n*Q)}xJKplk!>7zKcihN3zX&C`Y>rD>+{QF!XSiqPY$c%zVg}|Qw zm(EAq{dHI51m#`cZZSp~KAcxxgpB}rZMUJ+`<3r?f#D5_aZPB8Bvh}c $}3?emWcA&&jO1c-R~3@wsdnHyxMb$Apt5V;U{nk()*8`4bH7cg#la zzufs@^vkox(4e md*HlD)WYzA&;Db~xVxfyE!py?Ep9%7WU9xR} z%CJY C8yc$)jP-fK*#*PUsKM|LcWxeA=GF6pM| zKiLu(b{~C3ualL(65f8LC&}brT(RU+MAQk3M|i<|C(oE$zQZ$37paHkJeqcR1^AlH zZb63}m3)#nuu e_X+mZ`+_1JB_zc+KZ`BtmDcr&Zj_xZDqGUL9fWknBq z26Nx-1=%er&(1FJ2Y*;4J7_!pC|ubuRe4j(l2!7iRchzrU1fgN+rs=pOM%*B#2#NL zo1$VZn?m1K39yYCFQin$$ObF#jj%NzGr*1X(J_tCp>wafR|#Mfvh3Rc2XEs%dbkD_ zW;erml-t^I>DH1MCGV8>j|9M8WQHkj4Vw+)S2cacHd#9CQFi^BfLo(25zTzAv(JRv zNQSuZhw8j^^4EQ(6^#Sszh;IXlnYSje-!+p&8!qrdMe1$V1Y+*MA`*d7d<-rE<@Ys z=evGwkzN9)Wb?DatGd;C&HjZ4H7+CE&CU6L&TnW4IofR6dcbrxkZgwUD3aLvVex=_ zAVXwV^OIJgsQJ#>IBrA#{I_0<1AH}KZ5h?KM%t+*3*hj&X*D6|#B;bbyGC26rU*qp zU1`8v>SG!m%l8U;S9|%xvyXpsABh()zVYQ*j`TwT5Ehs|SQI;ua_Q)6r=6G`DvvU{ z)RM@CYO+OuHhR!vtJmH`SIg24YSAuUrkJ)9Udr{xR?QVXYmZ*G{BAi;nZBbeYYrp1 zi}i)6p4gUBY%>h_3nm<|LXK>^f7UiZ%MpoDiJFg{-E|3TXMTNJn%kn>JgZawxh@*` z^gO|+rbATe-%A|eg0u5IFVz+&e^g#Z2M)q}q{99)EuvT^sCDpmnA)=M-OxqdbP3Vs zkaT(BR=MHP*JmG|F6~3Hi_-)89S@u0KMJ#($f2avX}~--tKFyOM0LJC%x#ToJ|UTs zch%CXV1q82ebAECwb}4;QK~8AT<=3W+0UqNAvM?dq*&R{m0E&W^y-V(16G1>57aWR zJRaC6CNw^;zqeDY%;@RHgGj*PEyo0jCv&9IB~<5)zP%lbm5w*N`M;YI;eNb%yhLMW zV32qKwh2T$44vMDdumMP<`?$2aAtL0awr~rinm{ypE15Okt6jlx}~nR<<8*?&F1sM zMNlvSj6dwtzNHIYa?~#zk-K~ce$@%)nw+{hCi|r*GC+(uD6}H~;>9ABEUX&TdSi5J z=Ct 15CS9}&kQ#?%E+qP>Z;Mcjt*Urf%PFn!Ym$_z!RTuDFmg@BzpuXXkC zq10V*0|(Xiciegu#+g|O@&) 0>E~vvy*87`vVEI%$P>@G z&EkhsuiBVDBV*|xa#h>CN?p3(x_oo~>|_W*sDRb*kovHudVI!n3j?_{6^4Gevh?H4 zsj2T% nzp8+OF8}$s<#>_q YuoHsJ2`t{)GocT5(w)ql!5q`r?^&+PvG9j0e6AOf50 z-t>PsrQ+NEV0}Q)e_&9kyB10kI`^DpMVsBmB)jE1nhhMh!1@;QcP{ })<*3{9?&lzpyik{zNK7FyX;@vNmh(@A*&INw`n04}jtG!AlppfsfUDOp& zgKLe+Ahup ;K@mCtedC80-P81IE+sK%wgp=m z-rRPNt %X|{q9HLO8%$cC&ju1w Q!E4n3H1O~bG6S_a+E5h4%;hig~1L=a2k zbhjqX!r-i{Up8y(H|^3DZw@a9#VJ~R$D7Hs9O0gLEXB=8bBGl4j8DE4sZ_PUq{l@K zWEIr*^FZp}tuQvuef@)7K02Uj;>3?^otp6Wq2NA!)p%w_y~Y%CrRGPG$wE;`)}3$S zy9;HXfea50)80~2*RsD^?9H%#@l##pi0r;Zw(XnePFF_5LJmY#0`B#d%O73^rskeJ zIRi`EWSI0Zulv5#g5e_>Bh6B (I9h&ixl$e65xlcE{0M=fkQG zf@Ce|*qZP#^^DPe+WZ;Dw~M>DA6|B3TUPiF=>r;ewy%mvb1J#m#pGKy%e*$#FzcsR zZ9B+JaP|wEUvN0-Z?M5k_!D(YlL~a)+;d|_+Iru9sjGs^BZp&jADwm LoS(=Xsf5qN|EcIqV{X;y# zhS_)Fdub1%t=j3l0Cc2Vp=0y-g!2!nFK9Fb%)it42%>(^I*u93o0%@UiwoW8A{&rB z0i^lxX!NdE1D??{AbDoP@WzC 4!vEl&&!c!#8~XLcj1RJu%)YJjcudG z&oqm* 5iAY=l78Ik;0`gy~HgmV?BKj4R%dz4`kh`%$Ai5YW>)~_0)8=m;Tr;@x|5i z#fT7W=0iC4>cK;YwwCtXwPHFfTE_1RXt;1v$o|WjSSY3FNwT83A)I96 29?)rilNJ`Yp<(DxsW>P<24Z)lz1KYdoLeWpEA{r3 zGjGox)~1}hueI{neA4WW$s2rU!?Rs(&pKkC-Onog@-1OY%HFpsjCK +*3s8g z`n40<_$*$vENU1=OzgxN2$F?LDm*-9HZZ;|`XT($vd+A8pY8q@Rdx 7IY$bRJV3k_7Vm9brGK zRNI=srD#sV4>rGBXUUC!|4tV*dVWEsn6QcO&~sWR%UIRAwKGS6XrTmDi@;_JO#U2l zxKGyj5sn=tLTUTVxeqqoG1zP&mFmpf`d $U@AgDH7^1C(1YCTv9|ae02p*CY)s8Dy+30|IiGSDI=k zxTey^jbv1=WE|AqFXK{Ew&S7lR^yZX)39vmhlbS#M2n}C_7_J=1o(jYW98Lbsi@;o z#F>0l_tf%M)VPpJgL00FkZ+fBHIjW&T75cf`?V_Nh^l*Yk6@JJLZ4Fq05oSokZU#Y zc8Q^x7$PXt(ka`l-|Bv}%3OSFN%7Y*?W^yHgg&(m49gxCpLhp2GjvyX=-wt<)c9DR zoE~SlwQH~Xmxmi9_WyAHJ=KXEY3ZHL=oJf0^U%afMtzq7Caiz-FR6zIwmL^k*(l}; zJrpFT<3Be%`*@67YMIiNQ%$y*KdWlHoS8zOyf0Sr=Cs)MR*(SpBZ4;c&=T-|{3U1_ zXCed2(p1~4ncw3rB&L=T8$r7xT7fq#U}HnZPKu{bzqT1X=k$kkrS1tu(Ka0qlCkAJ z3q0>#5ZX= +&g6AslYI^@gar`d+XH)b>MXk4 @%-axW&i^4r1~0FX zOlbKt^-wB6a56M{f7RNnG<%RP;kPY{`hBL^+fO3k(Qkwj+J&I#AZ||S6Cj+{@&kDE z_I8Or>uo7_1ovHVNfJd`p;cU+sdHanA2aED;EbO7Q=ILT&l _4J(`fEUF(t|E2JhMF(GKN}tdH&y5Q79Ob3E*u2yqa;uNkAPPS?#Dk#9>{$ zd_%D7T1Ui03{ 1K$)DdWV(^QS}P|K=3F zeP`b*Ns5KVkHM`nnpaYGANXrpTbI*8X4v5?{=s?8E5hfmUwXCOm{U0XzB>o!W3d1U z1 yBIg>Rm21d8{~0%(n2MR~h(_JhiB^y%lc6ES4D~i=liEF`4fR&bG@0 z*D565CqP5cJa8c<5a%~5#KFn6CGl~s72qG~X{a&_!g8T3%$c8&w!4q02W^1 u4qxt{C{G|C?$P4eH-1mox&hsM#i?L@U03S;AGvwux&iu{4T@ObjtKAvc)2-x{ z#3Q^g+iqe2Lj|i?cuXkpWGV;{{yL)G-^4vpv$9NN6|KnDbji=; z(FE6ow))(?t;+22q6EUrD%6tyoY1N8Ao3nNul4<|iaB_ROE`r&V;ujF!2g}Sy1fAh zPo~O;y?+Gq`){2F>YT1>(rG;F6t(s@=H6G}HM;+O&HqQCB|fhOa7&3lh`87IH@n#u ztzL}MtiWfg{?$({H%~X<3?Km4ny9w;N$n0vjDx6`$q6l| { d}O17X~QVofjU!YR^zb z{NnT;>S yx2Z|5v-;?`+Y%;D07I_OEXxR zHL#HL=$8MHd`oeiVOt!1MR?h);R~5}c1E&4E#;!Ny1-{AQD{1OYyM GmA7b#Yq zCfxu(-{F~+; 8hY<`7W}-E5A?EAtx#p%+LAY08;q%jZ3Q%# z6!poEUj5hUSN_#*P%Y24*}A`Y4Mmmb ~|L`B#?Uol>n^V9@NHQ3J{cA9%f}cmWuCv+O z=4*qws<%1mC>V@KaPLEhxxXTR%O5<}-_7MexP>PZp70k7G9LkGyrDFM>Ct?4dA=1A z*cY1y>N#0e(aiG6vp;q%_wO>d1K4`lTQ!$9A0){KMxGuoBIK!p5RuU3ik+~}K7n&S zo_AkP+O06`gs#0@0%JZ^TsvkvS8lfK*od38?8rfG9tMG_&YYUAN$KSQX>&VPYYa2@ zf*&VWo+c2nd^T6R4~puO*Zb>{ocr>Zl?5ug&pI`5 3CB?HZgr@0(Wbfu(C)X@>TzOSWlInd90 ?MpQZ~SbwkFX z|H{EMU%ejc6!%nPn5dPwEQ26p5$mUhnm@jLTBUDBB|CqamTwEK>FUT@I><_}b{v<= zURK&f^6K|wV?C{UK(+nD5lU13lefxk3^e--?I`#QuWzDQ@$^_QO(bv(rS2%6$R*UE z9BR oRNuInF|bL{MZ#}`M2v fZHk!H_&<#nc8-GN%ktIE9Hg4B30`_z~mfi zGCic*h kRLY8Uf1G9~vEtX#?@%PQ9%fUhuQUYnPw+!VLH)S8i&Mo7|3<+#l zO=j6RiK$Aj8ZTs&`(NeB%(k@Z=0J3vxxB @ zlpYKEO Z2haRp!nR3 zq~`~ALd`;g&O*~`;}ww3FTEIA&Dxn)DRO3JK;HxL5hfLv;Jx6Z>vN!2OAg;_kdizH z=ZTpnSLBeGsNCwxR`?k0vH(M(g~V&fckUYP= ^2pS_?^A6 YVOKYh>lb@{4}BjkRN! z*in=P2LpKx@$wQrSUtoMlr~SMQufHt3@IRE99KJL4(`H^$;;LmOOO!dIF~ly%vHA! z_&0r7jwq#g)QB_6>CCj&aS_bf(qY(stqYEg0%x@>>16LYQ*5`9S)W;nTMctTgi*;N z=GzY2VJppky@I(2=#bC&EEcZ3q3iafg^FN#4dL&8C~&eNNwbBfhE >wwojkW1I MyOAvgA69J=4}iis)54Rz94o#sdQpkn$gsw5XCBr^2UgM(6ccJxAV)k_dDE$ z-DQYof18~x4LEMRpon)>o0Ra>Xeua7+hIb#+L~V&$a}tTWvOrF*>Y;GiIkR1RBE5< zaRpmeOtmAMoWDf2!s~vN2<$mUfn2Bos_yfM*2-T;-kSj@)Ol?xRFqj|m=|#o9(+Y= z_YA4dduJ2LQD;B`{j#n4oOrPJg6?zS*A1$SFQed!P*7ftqL@}i4GM3N;Op>HeHs soI)~QY)!r!no-?~=dWn`P_B{-^OAIkSZYn4e)GLTl`T1J zth%)HRYNtr$CDznc^c iRbv|n6#NSW^W~RTlC_P7OQ4c|93S29UVSBDQ7S*GJU|HyGIGjN zv2P67sN8fKKHiE}j+UHx+f*@KgcK?*DR^;x(PwF2rLl&RC$%HbTTuUA qkX_YFsvy$6i zW19p#DUZ{sXL7=~G%(-nLjLTa9@7&LeflO+>+f56DxeTQ8@nt%E<9Wqn55|z7Ud9m z)51?`(`4WZTdr^9Z@Fy&G%}Xx`7USjwv{o;>Y$padVdtOwV!aaW=0_Q7~*c9_yChq z%uqd|%!d*j5L#Vm2;2W{*j#xd~B}w7pMT+r26so nKTbGu+OE_pq%~aA4c$1$b4kXdYuaM7 zgSls#fp|=AWNu?*eng6v`tsLfVeUyADRpVdn@wi2h3k25IiiTcmlRNbx*OuX8Q7cM zXL=9L;c}B}5DBGp6GD=|ej0N4Q0BOmXi9WtG;e?tn)g8m@+1Nq2CN8%Ulv6Th|0EL z?ol2`knjodl!_5svaFmB1xxCa_Jb9xJ|4FdHKr|%ZBT*#O>Ki&h07nzxO;*r5`<2; z2S?Y$JQ(eElfvgxVU$qe{UhYQiJF_eBsfm0ucf9nx@k^`^+qUOC9vhCbH{ytQO5xV z5?a`-bZOvCu`|u9J~5k+QF0#RsU;vzsg`Q+D{F64)vsFi?j^Y0_DCR0505P*$-v=o zD*=r2sGmD!%>5||drkyTz`CKFTilhF8_&(7YrUZJvS?h8Ht(PXYS=>d*bFE;=`rzO zR3KgP$Lk?uoP#Li`0MZrFYRezo^(v U7FBbXxtGHmLBQ3I_5!v_}1C1Ye3Vk8}V8F@Zce-}ivPz;MeL{XrN z8;&CG<2js{+1k _Q15Rl M><+@v-4d>fL-J<(O+p}}+97p|%nWsN6*T?R8`l$>3vc-62}&Jjy| zjf&0{9t+=a;)6apB2cGP@u!&2TV2MPC3gR2HD4<=_>1zS1y#h&apPrhRkNvDX5`n< zFOE=zFEKF`L(=QJsmt KO9XTE$QEftp zPH?YAddaTOF+rG}#>PIJ%-PdEvX1&r9wTL4+V*jijop%PWda{Hz=qJ{uRn})S1?yD zw6W{MS+LG9u1PouHQunb>Y$6m^s5*GCo#uX8qBRJ1$N%3Oty)xb`=AzU~9W^)M_kl zs>!X`!vy0%abO)pzi`36aAw6S8VAxN(0WN5X y~ z9g;nf(?vJX`9<{jHk14*7UB%?5vx*(_-M9BICE^NEm _;*wr%&aB0g1gfPUGIhB;N&JkX5wnMBx$^qOtn{D_ zjewJctAdm%#VbhF9%^DTGX_>qHbxU#JN(_fTeJ(S1W3k#f-y~#{vPy0q{`6NKL1<~ zy9|@36XeQ7i!*@dpt)p{A4Yzol0R8)o~aU`*B=WV)FX7kL4E2u_(WWSm(~Rb5>-v| zVC^)sQuu6mKMrIlow(a**L{K~6{GZs22QD(A*nsI(w!qXjJMW)5w8e*v8X3sPN^bC zN$!e^^TM{^E*~pgcW{(aO`#q`{AqQ#uMTe>0<*_dOG4zS85TM>rFv(WRuGSy;C~%7 z%#EGonT4*sj|GuhL0ugxJ{Fe*HVoy;i|iIh4BaT*nML6`-#|pTvv*G`zL(@MQn=!m z6F5_G*3XnF8OHG1iFwBr1GBfI^)W1k0%-%PY?6b#qtQKm6||yjHU`_l(S}u|9XX2d zI1w`?%~SUxFyv7oeXH?v=LXN2Og05&i5jtEg~KE`%vf>#P7=GbC~{Fjx!~I=(h2wT zR v1=I!IJKVN4M# zAUd3m6+Ype+!#IO5fQ)O2TPi?3M0EV9A%$$afp+nyUDU+a&5DHN=lGR>7o9*(X&3T z9_?<8SojTOV#kSOICZ?ZNcD ggwE%oM}D6^VoPb*_Fd|reu%s3r2p)%=57 k$)oX`lZUW=-sI}FY{hKOZTVs6q zkvC9L#BGw?NKsiz8r7Tiv9=COXrsZJZ>I8pSluJ2oa+npoLbD5;sCVw^GXyuM+E z{JvkLnQWv0-PKCrE+$aISJE+EurV<)VOv*zWH!Z)FlWOiaN`+pSYeR|T#HM$Is1kh zDU?-0+|;R)G BbYyc2(CtRdJKP)|ark*S5UUy6HZ4kd7` zBn4$B+C{Caz @DVQhSaS1aKO(9bomi I}n_we2UTp80J>(=sjjJQ|CB18@U0rG^|lxbrboc(^jm{b~><{a`%n7-5r8W zBI)TH=8bb2aTQ0F(dOgJSv${?Z(dpIw%%>L*&G&BlNxGs{^Nx0xYTJ xc89JYc?X3-`aWA&0KG;f3* z)mDR{T7CSs?i%dne^%$M6D=?O?t5yuhz_qI!{)L{eYAI_;%MvfxIEy`L`Oz?M`D#e zH9W>pZ=`fz7U3|v(snF(kQYJ_>CH#^8bl6$w|zk3TjBW|3*)&Np3@+U@UkJb+3q$V z#<8XquHX!toexDx`e1~=HFa!)F)q_h4{Hk`-nVVKqC+doJaUw-r3QbKtW<+#6ww=7 zQ|-Z8ayvMKdp=Ko$IxGL%+{mWBcyiMFQ>hPsp<6i<&1UuG|@_Lq~`I9))*0}`z5um z5Ru^Cz$%m!pYg6=SqQA>M=RRGPRkwtf^ZFhk8^o-krlP4->UGXy7MefTQezGk)r~0 z?k31sa=!i%$)1cn=e`-+se0>7wYj{V*QlJc)2uje34}pcj4a`$gP)EYue;V)cgi%Y ziL$?l_%xw##gu|25|=BJ+vslPkx640>18K)uA-gEGqtTH4p04DeEf3kHq({G92*8( z7Z6_+s`wrHR6p0`2q=K_^GvLh8;Rm?Ju>3Ml+2&Q`6UicRG4Q>_* {P1 zoTmq8lkm!qxJ;K83=ou&>O8g-$2rkq1x_D*2q`Nb){%}JV>LeX44LNI=9n$b+eo;p zg5|i>Kw=d0eMTU0v3hKsU)R(~sGdzNjEAG9hZ~j=_QXx)Iy5nJIN$KFB}K4}08URl z?ZKZ+7qHT7uHA5$B*(0^nrm1`g@+rAyeS)g-jyZ>b7x;A*^#`y#uD?NmiKZgjRsDX zY3)8+0_n=8L0a6Tq3*2D^E87BEM}0nAMRjmUHa0~PtW7tVXLHXV)T=U=*bvmea3ay z8uI(3izdSqG<~N0YqjHYDYY_<5xJBRuKdL%0U4?$7wWhYX;n^yzbS@I%vaECWCY ?)9jK-DMH0Fw*f9+UL4% z=WUV#vElOJLFG#udm59jd%3Fx1SG)fJ_#67?kpzOdToIYC(Ik9hu&76OH3SdpvF4L z37sJ4iLKB_1tOPZUolIWIw4Q2UyaDk@oX&|{#%(RgzL#dw$?)Kt%;xp^lVFqZF|Ru z&(<>UcIJ@#eYFH0b15clvRGOA8n*Z~mry|_5`JsLL5Xj?T`<>&m_(V_;3_>k7IZx; zw6zY4Ml2x&9>2Is)3!4 ^50)m^=OhwaF zrC?*v1DIWr0qpc}oJ`lVG3-<>#d>0AEUT-rq-rq`b0+@_u3|3@=`HnD;X27&s3PfN z1+#gET`6T;-L&GMuTCFK !F>6x)x?CjR#f<{t~p6x z`evt?OXf&ELrSzs GbE5qf**d<|bm}g2feeSgTH9PM2SjU(+ci%_Sh}zt)4oZ; 2=gvZ0OpS-Y0e4=~1VkgTeWHAZzPB>xv9wsymeGYFrr*zz$faA=qcy-*^XfV5$v zT`Aot2AttroIh&pk+-X4Fptm|cW;OERi)Nsk&(2XVXuj@G+n<$_7{DanXQgv&2-t2 zWd#e|z6zSlh6;LI*>|gQ(FqBC7&yi17fmrb5s!^4rngAHk;#~ju4YwQ6KYs|P8H#g zU`y4aw_R6Ja 9Z7SI*rUM5;=cqp*tLxl3l&QQ`&Wm zI>P%G;{7*UWoe9q#jE$tDT|esO(G0%rVA|dT>9`SZJFhjm+RO~*-+VA m7 zY}%= $QOq(7PG6olUt^WqGrr1@+Wx` zpZ^14ojjt&?`SpMfn!M}Fg+4kI}>obHW3OMdW=m1uTFIH8hYNNP&|-j^N&?$-w+>z zZ$$1s*(;o~-$Y!qUmH4_T|BJh^QODwYF~?;-B6S_Vz<}V%QrC@)+tmrGo&oC3o(`C zjp*;hW>lX_qUk8;Bd=37kr|igu!_;eMf`3wFR9y-!(%8cJrnJ=@qS^TU!t3v3*LIS z(Y@l{;RAj-V9$q3X*O3wd;W}d7fq3Qu&8o>gJbrUvNJ`6 zl5vx1?n{;=HMw4RIvoCnKU>w)bEcE{7$+M!IOH`EAnR;HG71Y++N`5g$~eYoAM9&+ zSu8E+N14)4oqo-FUy7`f{BBlvlBcFA22)Y%kqxdf`le9KrHjk7F1s5SnNQ^v)_RaS z4zjI`?+};GaEtp&=W14#vXze)L@FgTP-bM60v2i%jiPSqhF D4!P!^WW{8wb3HhXmlaG2J)@wqDs%{rF=}og1$SJ1B zZM#$$IF(3q#?<6FpigI0h`po6v=)bguaz!+uGdK41uNPMQg!P}7DrHTPzxvSD56 zp%$A9;Yf)*_+WxVdwyK8mlWn|*e5Lf3Qd MyILq^ccQ;7i9!h_YP%)MdF^o zS>dYf4y`S5tr^1IXYw4~nrWx|qBCJ^O7%_}ysll~E`1qhHAeDtyGpjH*+lj;QgR== zNUJZo;PK+?V)NM7EB);t%={!mU%ljMT6fnh6li0_5dxgfg!(Om8bh`s!A9W*CQsk( zZQ)UVigDMvu+%EO)SBxbZm%^h?$|H`uFv;ur=pADI_hcpxjNw<3n^36vR?wyi4}cI z6ISS4GtoII367}K0RU~TD3BKNUIxYF`dmMa@IXNfODKFEkdkhn6x2XD*kB{Xqdk4J zm&YDh$7E46x4fUKR+jZCC!O69iuw6!re$1baY2EAM&Tjyh}>uIT$4CxEM;}?eC5Iq zR!w=2i%H0&_xD)B1K+lU-a98w5maHn;?P7sEYI=j53QqttoY~O0Xo&UX`XR;(sZdS zgDZJ-MFV^b){4Ow78yq&qecdl`M!7Ei2Q6sHo{_3GIz$4PuEu;EDE>QRiSeSpv+mP z8P>@J^LxeTKR1flF4yebLJoTCF=i?ta=UvZ=~z2r{EXAVImI8b3$IeI#98DLO%Kx^ z7=$cvompr`Vr51UD- aXjtI<`K9uBfD{E?< z+%Rn+c9Kd)Q^!b_p=jAUNh@+R$u;hipDOkKK(YAQ89S!*(}=x|xZ?=t6=R=JbiPjC zj3og7>XZo1*?1+jMrG{{w#ft=FFz#FN+6{)*vBTX66L)p`?Tb9b#j}@pf%bD{-Q&H zS~MN=ZJ_NqC(Wz5vbij} IREVP(^a`I9i19)xAPc#d2lC$Pr+qNo|+-6a+y<`c=fDqUbZr;%Kgq>VM2#!CEY ziKeA*5_O*YDV4TjndjmMJGZPwMOt|>x9cZ7h(G*3@oe8*^&Cuc8U*d(5x26o34agg zGVL0fc%_KvGG(a@hbz6&HqP%X_Oz?a1TI(9T)|wBLg>#z&wy(`1=?Ha=Ll*hcH0Rt z0Sc#ID{(h`8N^PTAe_*wx616}wV8o?>}c82`%Ah1!rjV=;CAd|o#vy6+-msZ#2M_L zE$u#rCfSK@(J?-1b? LKep@u(M}s-iyP;)bfSkMridT6zp>< z=59OUW{ogEyb{BVvUjH8j1B0g_t{5#BRJD{wA=+?GGtH=z@U_zMlX)o2{uNjh+4Tf z?9VS&38S0m(9k4$CfjbMQVN})L2ix4Q0HYMSPWC9CqARB<)tSx7dF`1%VAE-7a9{b zUGVF^Ht6dlHCg1?OP#=!=OIA|Mr|nzuSoB@o0qk5R@OJ4Z8UO;+_9-tXWVV>?s$V& zy6qs_vUu?9xyguE&4<2uOl3s~3@`Yjq(?6 ?T9l4+szvnfdD7DG;6@fupho@G_fpBh{D75)YAf|zV_%Xyfm!% zat{46s >P@IV3IT&9+Xvr)U(GyB%MXg(wM~ZCz2xGUeVhMggw23Em01Z z$>@8!A3=>X!MMdeOq^zmr$Z^R^z4(bmmSG{wtF*rFlzO=BBd+TzuDk!Q zw1HDh1;o*^>0zU8Ff2V^bNKJ-ZkVx F}@dt;Rb2Ws+UttTDx%2a9C#!z**{N3`2C71fQ5VI {99(o%0;dB)lTKGuS695}T3+Zfy>Kf_g+9NRgqxD2OTb|s+qJu< z%U}~}&7&8|@LS*HoQqQ@VC)R~RIHK(k%N__ubx)rrQiBS&l0adEwrgo@08UCX`1nv zRD;k2m_(cfVUmUDYN?5F^Icf689YsTEF)*q<_H8jhn1}ppAoU@bxH;vVAz?@OCO!( zKx0(EbWLQVaobM&>~?g+r!`G_dx($0Saw+D7{Avj>KF!=VA0@Qb2qp5uHXs0XP6h@ zv+60w`Hx@=1ACSu4U`HeyZw-PwuHarH$gbWNdOqB3mX|tSZco&^P#!x93TQVgs7i! zxIkBpUS9FA#)2wVM1eGTFVjLR=wQS}Zn}nj3C%`6lz57-et06$dT2PeoFZksi+=Im z3*_Y6uU_!;*QB)DsxQ)F-2yQ+`2N3Hak5Uz#uf%vBP@S?!oKWTah`BwxbSdZ$n#hO zM&~3YR7MbSPihch8G2^U(sr{r{QFG4tYYd!?-G@TBoY{kLZ2$t9!_N@?eYUVwerm# zafcGOmKg82=L-4_LgfPfQn)98X^^_~xQw*lOaAkcp%VMAvXjvK#(526xN~g*j}4rh z!F^C_=YLQny;s>~uDFtLKueR~2AE@mCwJco`IkevA-HOdIaXD+?>NM~g{T=B(kYwQ zvDn5>tTOZHC-Rg5&rRPNLTRQZ+`w12|82Ax;y&;iZcd>*1YKvG1Shye@4k|xb?^DK z_MT7O^vi&t76Fk2^|6D807>t6KeZp$0KX5jt0Z8Tt si%r*Jkwm5Dx>Q;9Y_^ID1CZop}Ec^KJ*P zO^JKwqb!K(wiUV`iq9GyUdL)Ivs@hx?FRlL3{sLmq@ 3NB8ejzd;@CS?%an zk;8f;b6%6Qk`gKu;=G=KsIz&MA9jM_{qCw(fNxc+6Z5-Wp?ifpwITI~3Pj2mZ*a zbqIVCbA=eKdC>AI` B< zg4%>%QQWewjfTit8{%!(?cirAJE+a#enrl8ZSc@euBk3SdEyF6%5zCwh1v{_V8DkH ze%pQUvAwJF3cYQ3?kV^=MjQyy+KJMxw{GrUYu1Wa$h!vl9vz53AeDPvVx42@zqKaA zcLLXT90L|T3@!MWHi?q;a&B6)j?-azSjakfAqE6)v%EG0U$xT-w*omNU?T{|@Qv za;XM#-D2jiSzFAD4ml4Yof<+5{=(sRGQTGUW~YB)Rqu*VuXkvIpRE(21@9$k1f^?$ zepi=S#+oXU8Z_OY1uvxui6_M=^U*r-?1At`KoY$5{#+FJneQkho=b<@*VE`-cvcs4 z#<|{WkR3ww;&&As5`VmydjHUxsYV?3-T{QBjs~Oo?sMnfdTV~RCLHn5a#`?m%0)1k zpYp{v>t$oK=IAbMwk?9_+nLauetOY0)~RZAO;s66%xjP---kqef2S)%Y5%=W^{=go zX7mTi7yLXf4W=|6c m+mLANsaE?@!3)n12DI zU@Alx{&^8d%2`vC;EcL7==Gob=MnDpb2_{>C-?M_P%r@dI54MzaWQRRAHQdHTYqgZ z3eB64&|bm` R^=w9&u-^1x|T9faYgx%#3eH##Ux8d_xD(l_O!kU(-a-y?Oz;i`V z6Zhd{kS_CYFDKV*xF~VIB4p=us0lM(1@!paYHD$7@}(-CnT3456(nCtBJ1?;2H-d6 zldG#PX=>=(IUrwM$hVsySO?cNp-QebnOpp(1e#P{0Lu2g{1EkLEJ3whYi`n6?ed*h zpx08!m6no5p!UBtb!ANjS7Jq2kSB#)NoLlx$hsHZU)zT7>+bCV6IF+Fq^%;jPW}hh z4g`ms^L~nh=VZZ@H(y!zin_JUtS;e SeBn6gUQ0;rDgZH-;|D0Ov?bkZ!uYWfNI)L2I3rsrcPX~4TS39Un zR`WLqsttlV2)bDgcGiEUY45w%!Mr#ZkimCIA>S)!*B@7iSy1kT%yS^OQxN8V`asOY zI=A$G?FG8Wz_hnR$DQqUX%&Coza?kYD#Y3#tGN#;^S;-p)H)fvt-inEEZDni?V;h> zTbHjt3au?SnV0{4{eOl3U(@^V!u!W@{nzb)ZQ;L8_rF`te>dF!%Z?lFc0AM#8+Lqx zYIB3!*8iS-{(J8G@2U5{Xa3(8vY^`k-gv-u^Z(BK-XmV$X15wIMmOK`+zD1U1Rqv~ zwC@6U*W10&-PUjHr@+5=-(WB9YKBs8F)MJnrZj(fyxt%W)TuJ)-Si!LuBUGFFt}1D z)<7`T@&*4tXsW$(aCm?=AtFGVH>-D*V}7j-y73=S2MET2AWgnM0L6BZ_a_$izJO{d zxMqr{6@gYi?c@)vyG7hq< VO z{6BVP>Ims?2KZ8~*DCBzJe<28O4=Qa3^%~ktd?828Tn5!34ojEmyJOc5q?j;_L_a) zkjXb_^kODq|5IonxQMqiDgad9_}`Z2%s%jd1YxBs0&TstV1lmP@fI3K`O7wt{;*p< z5CS?EAI?H}&>BEdyTB7UWb7Y3WE`%`z>Y0Ia?0vpf-pPRCa9jmrX#JF|DZX}K$y7V zu?728ywdqx+8qe$tbhXYJsO7VgIW%Mbw*i}83CgjP-O};VHF^7``r-mw);4QB>gi0 zQ0Ac`T&E&ApW}b6#l*_myrI@Ss#VbH0QWJ#S1Pz#Rs&&h!5)AY|G)Y}bFN}O>84BI zb2t#724YaBU*`P*1?ByMZR*o(2%Z~P8)EBO3Q&(weF%Az{XKueD8EODUTZjVM+Kmz z!DpbDOv|fFF~BnZdHL@l`f#iYr{Vzw9tNL*pzf9z7k&Q6hA|sf8|p+xL7?P8$dsHf zy*aU_7id2Ew*BW;NOF0-%PlJ >n#WZHuxCrqDCS9uozSImEXy_@UVvrkvy#Vt3-rLD|CAgG|G9v)NsC zE0|Y9d3k $iY!El%7~dOQ4Q%v-FV)&eS;xhHBS z!9vcn*IH%j^PbHDCY-b*vPuwUe}}twzD_Q0dJ+_Y={_kq5u(^r(C+=m#9}0GgHnUJ zg7?M?h^rN3K!UObL3yU>{Nu &7 z*A UE&j1x*lI@?Z1NQ&1uW`{M93|+O z)^)P}$M)`R)l{eRr2qf<8mm2qP)&?-@IkQ(b5PJCum&nC#mqKy`7N4%WyHbh7Hk2k zpk&Kc{@9T%jU3g |OuN)3w?xI`kVEw!n^?p8$wl>^f>@0*tFD+Gn)S@}dN_$WJ3N4l!mpr>J- z@Bc@(+ofLlkcMsUb}dg#E>D=FM$I`T3?eI1!UGztri9 _h$^iUf1j literal 0 HcmV?d00001 diff --git a/static/img/style_guide/accordion_default.png b/static/img/style_guide/accordion_default.png new file mode 100644 index 0000000000000000000000000000000000000000..594eaab1a16cebc68b53214ff59a3fb77398d11a GIT binary patch literal 25324 zcmeFYbyOTp_dhteySoMwY#=xR26qh_NFZ2ncO9JI5CVkY?hqisCAb8K1Pku&KC;8} zyk9xH|L>l&=ht;=s=BIf$?fVZpX!O$(on?1rp5*U0C>tua<2gZ)I3C92@@Uh+l>@2 z1pwe$*viUkDa*<-YPmUouywFPR7a;8U>NEQljj(}R<;SjRKn_rW)=+oOlX9PR32Iu z&YGlUu7=6s#k>j;FwIN{>k1z(DFx=tui^r2eahTH1g5^&HCDv9R`9YXeRLR{!3+ z?~H;~KAdDDNon?{4_{~p0 oehq;?@J=_T92mpW;WrHhUMhoD|5AcbWVgsTEQ=(rt>fl(}aYfE6;iH86 zlu+;5oV^qrpI&o>3Mpf~{YZnvICB@^iw|h6)|%iT-jbqURwQgwjUavj@KYef!0HQN z>Qg2p;C%k2YQUYzEA-~&M{k+Y@rM}xU1!LfFi1eqIOCtK-@q;2XqmK$To^cQ2dpaH z>Gm@U#X+D>oI^SrRJ9)8K0IZo7S^o#m5ipeMzHUcRYrXoNvho3O1FN1UXbE>^S7X2 zth%-&26DVQ(LSPS$UJ4WB&RWPcNk?2xyRR{r1YZfHmxE|%~`jabWM$qG(Q*IcobhX zB>+!vD;u5lcAmL^hY0sEuK?hO=B}?f`g8%jcFC;I$j#q =0uCO&)I6b@-NVcljW zIQvMtX^!qj6w}iq*ka+xY+Em6dX!VeD E6x}2$t@9I+hJhG~k^0x#Ct=z|&qE(H!;Hpe@GNf=$*(7dP!gGV08@+%F#Vf} zPxyYSNQrq07X+usl=hMi2X){B5iOF!-_J38-uR)U^|_c+^2Ja}dkl=7F^U5cLna94 z#a)C>gb9x+{Cg~9Uacdob4bfKiz>fnhO?#dNuk}de5bMw%;q}*h<2Q7i4)e#e#nZ> zL=ygs^RT|wJ=q{U>-NL7(%l-GDUQK^SFvOCD&`ehF>ZdiR#s Cr_d(PZ-5%Wk#q+YbI!srI50XVNB1 glR(eGy#v5bTeJ;^pt}c+;ZV zqFw <^*7d8D7i ztlkS6VhDv)zh|FExd}sep`^v=3Uyy&ZpL=%y`DkJ33EC_zhcIek=esU;ghc-^zS1( zmzq~1Bu?mK#8RUE6urgxS}uB2Zii)i2-}jb9<5wDNCuy2FqvQJl^aP*q6agWi9rju zIA5U*?I1WoYT-FXyh6$(mJPlb8n*&Pp6aB^ck1Q%KZS!+?t6N=5t54jyuthL)kdk^ zd*>-BVtc3S9MlrV21dSNS5a5?eq93vQt6nzoA=N9$nQdaf xe^a%o5b2dH3$WTC{ij8F{wTKOw56~goS~{zV39u*v>>8tyaJ?MR779 zV9w);?#kzi;tH(GnAZqUI$}yzDq%Hv&G;grkDct3in6_OoARJix)NQHH)4fk3t_a< z8tkgW&$h5HcrLUro?Vc*0p)YeHP1`?w8KB|e=h#)_?c}4O$DPk-A>B02>o?RS<9^N ztco4oHS0D0b!tLFLVQB*xFKEi_}gri>_D+n&y&OUQmW~ B9mZa@VmWw(H zX7=%~2>rx5k~+gpWI@thir~^;lXNw|X2=f4r>du`=Q@fWWfBXlYX_$?%M7Xv^1Y=_ zLru~p HO-@6fGrbErSz(&6^vMMUD@Hc{vB z1`PeAY{cb}{rP2Len4b+kC&NRl=?i*Eq)~ahVloMCk+j?KUFEECV$OKN%Jamb2SXM z#EglzBY!8_2OzwC=9tzWZH5Y%JY{+CeC=P(vi8YYzWz`@w^cEWp_69YY@4(1HiJIX z_Mtf=cEPZr`~%IH##c`~L27DVUEc2wd$9bbQEhjMOVmrM9pkZy%v(c4BRQiXu0KXu z-}dS)jUo+qjB4t|?G|kNzhT#ZGOVr_`*0m+HM;Tb;!SFmzJAk>7SGQ=ru||)Gd*kL z3)Sn@qsL4#+ZuI^8yy>uIhM$moL+IZ@p e@M zV8OklVWZQRIBKOCi{I4W(m(V9i@5uYo_$)!>otx0Mw2XQe*aO2MY7GmZMV(Yy-Q-+ zWos|_8B3-DY 8$Lcc|-X&?ksC_VefwW*KgIWA5({s!oB`+x3??YE4cvyfm@QE zlG&YJof(~nfwc|s^XEtXM>9dFU0PkDK~d0^$HzO0htpd)|4(j4;Cq9gGujD-a)piY zev~#OLj-?`%dpMStk50tU!xggT!vMKF@(=YV#+o~iLZ;eyNR}m0%ewExAQS%SKXj3 z4b5X_hK81gZw!r_&3xSMTF?B6gos3meh@7uuO#y`XBJ{=Pig-uthwa!K{mmw_5Xgl z_omRe&~_?%>ac*Jueoo?;_E=3g+k&R(H)Jdz$$@8Cj7qh4gG=Tc<;DeV)!q^jrqGe zJqrf*IJGYsE*#0pA}?GGHZqGQi;9(-QnEj#4s*ZodqMR=@P)HZ?`wmiih+1aVf()= z0u2JnMiyc(B%THO`%T=PomUQeTl!dk{_r+)O~h<5oS$TjZAVl5rLr?IcsfK)=7Zf% z&1fP-BuKD}JvRM^WTo*>vMM5RibzZYtXJ|O1!M*63n2@f^|?E!J5{6mq!_WBeeZ~C zEVH+)oODl0{x Wi?>otB< zexnaY6IsHSFs|_`?uO)rHx0%+^W$%LOD&wX{$^j6U0&=!^*2oF3%0Hyv-j#aT;!wg z&d%C~PVH1ZRkw@hx(M!qW@G~LEzOpgC* nkbGz5 zn@^3!lB&WyEIcVZZH?kS_v2*foG}LCZ$&>?K{@_Z)a%t6Xc`5U^i-P9P#;ilQ|no& zS#27%{rL4K=q ZF`uFyzbTqf-IB{jwEjTdm#QHIJj=_?at5Wfxbk1A&BaLpnZTxYR z0)w3`wvE``uQO9G+D6H@o_%*i(}lBzI0-j&oRWWLxa?2Fa@-+izlze9*axzkr^On7 z99v!u&vYq3{5D8;XX|D{N(pk$LGF88j}E<}x$f7y9TN { CPSla3uhs zq*%W R`I%sFxbxzU#R+d zy@Z6oTLGU