From 98af0d30215708c14938ceb463deffafc61de243 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Thu, 30 Jul 2026 12:35:43 +0200 Subject: [PATCH 1/2] current --- docs/css/codehilite.css | 6 +- docs/css/custom.css | 202 +++++++++++++------- docs/css/docs.switcher.css | 4 +- docs/css/front-page.css | 51 ++--- docs/css/instantsearch.css | 18 +- docs/css/navigation.css | 19 +- docs/css/pills.css | 27 ++- docs/css/search.css | 20 +- docs/images/arrow_down.svg | 4 +- docs/images/background-gradient.svg | 4 +- docs/images/caret-double-back.svg | 2 +- docs/images/caret-double-next.svg | 2 +- docs/images/caret-down.svg | 2 +- docs/images/caret.svg | 2 +- docs/images/check.svg | 2 +- docs/images/cohesivo-logo.svg | 45 +++++ docs/images/ez-icons.svg | 4 +- docs/images/favicon.png | Bin 1614 -> 1876 bytes docs/images/ibexa-dxp-logo.png | Bin 22847 -> 0 bytes docs/images/icons.svg | 10 +- docs/images/minus.svg | 2 +- docs/images/notification-latest-release.svg | 12 +- docs/images/notification-lts-update.svg | 8 +- docs/images/page_lg.svg | 2 +- docs/images/plus.svg | 2 +- docs/index.md | 8 +- mkdocs.yml | 2 +- scss/_variables.scss | 79 ++++++-- scss/front-page.scss | 71 +++---- scss/pills.scss | 15 +- 30 files changed, 375 insertions(+), 250 deletions(-) create mode 100644 docs/images/cohesivo-logo.svg delete mode 100644 docs/images/ibexa-dxp-logo.png diff --git a/docs/css/codehilite.css b/docs/css/codehilite.css index df7773d9..884c7991 100644 --- a/docs/css/codehilite.css +++ b/docs/css/codehilite.css @@ -19,7 +19,7 @@ .highlight .p, .highlight .cp { - color: var(--ibexa-dusk-black); + color: var(--cohesivo-dusk-black); } /* HTML tags and YAML keys */ @@ -34,7 +34,7 @@ .highlight .nf, .highlight .fm, .highlight .nn { - color: var(--ibexa-jazzberry); + color: var(--cohesivo-violet); } /* Variable names */ @@ -47,7 +47,7 @@ /* Attributes */ .highlight .na { - color: var(--ibexa-jazzberry); + color: var(--cohesivo-violet); } /* Strings */ diff --git a/docs/css/custom.css b/docs/css/custom.css index db66d4eb..3662b09a 100644 --- a/docs/css/custom.css +++ b/docs/css/custom.css @@ -1,34 +1,46 @@ +/* Cohesivo palette. Values mirror the product design system, converted from oklch(): + vendor/ibexa/admin-ui-assets/.../vendors/ids-assets/dist/scss/variables/_colors.scss + The scss/ sources carry the same values in scss/_variables.scss. */ :root > * { - --ibexa-orange: rgb(255,71,19); - --ibexa-red: rgb(219,0,50); - --ibexa-jazzberry: rgb(174,17,100); - --ibexa-dusk-black: rgb(19,28,38); - --ibexa-snow: rgb(224,224,232); + --cohesivo-violet: #4E24A5; + --cohesivo-violet-light: #B497E8; + --cohesivo-dusk-black: #0E1216; + --cohesivo-snow: #E7E7E8; + --cohesivo-amber: #DC8004; + --cohesivo-red: #BA2124; + --cohesivo-info: #19628F; + --cohesivo-info-dark: #003F63; + --black: rgb(0,0,0); --white: rgb(255,255,255); - --warm-stone: rgb(236,223,209); - --turquoise-pearl: rgb(71,190,219); - --yellow-orange: rgb(252,174,66); - --apricot: rgb(241,138,107); - --sherpa-blue: rgb(0,77,93); - + --mid-grey: rgb(201,201,208); --dark-grey: rgb(151,151,151); - - - --caution-border: var(--ibexa-orange); + + + --caution-border: var(--cohesivo-amber); --note-border: var(--mid-grey); - --enterprise-border: var(--ibexa-jazzberry); - + --enterprise-border: var(--cohesivo-violet); + + /* Admonitions — literal values from the product's .ibexa-alert variants */ + --admonition-radius: 10px; + --admonition-info-bg: #D2C0F2; + --admonition-info-bar: #19628F; + --admonition-info-title: #003F63; + --admonition-warning-bg: #F9DBB4; + --admonition-warning-bar: #DC8004; + --admonition-warning-title: #C26100; + --codeblock: rgb(89,96,103); --inline-code: rgb(242,242,245); --table-header: var(--codeblock); --code-highlight: #D9E9FF; - - --link: rgb(0,71,206); + + /* Links follow the app: dark ink, always underlined, violet on hover. */ + --link: var(--cohesivo-dusk-black); /* Override Material colors */ - --md-accent-fg-color: var(--ibexa-jazzberry); + --md-accent-fg-color: var(--cohesivo-violet); --md-admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,'); @@ -94,7 +106,7 @@ body, input { font-family: "Noto Sans", sans-serif; - color: var(--ibexa-dusk-black); + color: var(--cohesivo-dusk-black); } body { @@ -125,18 +137,27 @@ body { } [data-md-color-primary=blue-grey] .md-header { - background-color: var(--ibexa-dusk-black); + background-color: var(--cohesivo-dusk-black); color: #fff; height: 56px; } .md-typeset a { color: var(--link); + text-decoration: underline; } .md-typeset a:hover, .md-typeset a:focus { - color: var(--ibexa-jazzberry); + color: var(--cohesivo-violet); +} + +/* Anchors that are UI affordances rather than prose links keep no underline. */ +.md-typeset .headerlink, +.md-typeset a.md-icon, +.md-typeset .tabbed-labels a, +.md-typeset .md-clipboard { + text-decoration: none; } .md-typeset th a { @@ -150,7 +171,7 @@ body { /* Headings */ .md-typeset h1, .md-typeset h2, .md-typeset h3, .md-typeset h4, .md-typeset h5, .md-typeset h6 { - color: var(--ibexa-dusk-black); + color: var(--cohesivo-dusk-black); line-height: 1; display: flex; align-items: center; @@ -194,7 +215,7 @@ body { } ul li::marker { - color: var(--ibexa-jazzberry); + color: var(--cohesivo-violet); } ul li li { @@ -228,51 +249,86 @@ ul li li li { padding: .5rem; } -/* Admonitions */ - -.md-typeset :is(.admonition,details):is(.tip,.note,.caution), -.md-typeset :is(.admonition-title,summary), -.md-typeset :is(.tip,.note)>:is(.admonition-title,summary) { +/* Generic titles and summaries — e.g. the homepage accordion — keep the plain + look. The admonition rules below are more specific and override this. */ +.md-typeset :is(.admonition-title,summary) { background-color: #ffffff; box-shadow: none; font-size: 16px; } -.md-typeset :is(.admonition,details):is(.tip,.note) -{ - border: 0.1rem solid var(--note-border); - border-radius: 0.1rem; +/* Admonitions + Styled after the product's .ibexa-alert (vendor/ibexa/admin-ui/.../scss/_alerts.scss): + a 4px left accent bar, square on the left and rounded on the right, over a tinted + fill, with the title and icon in the accent's dark tone. note/tip map to the app's + --info variant, caution/warning to --warning. */ + +.md-typeset :is(.admonition,details):is(.tip,.note,.caution,.warning) { + box-shadow: none; + font-size: 16px; + border-width: 0 0 0 4px; + border-left-style: solid; + border-radius: 0 var(--admonition-radius) var(--admonition-radius) 0; + padding: 4px 12px; } -.md-typeset :is(.admonition,details):is(.caution) -{ - border: 0.1rem solid var(--caution-border); - border-radius: 0.1rem; +/* Own the icon geometry rather than inheriting Material's rem-based padding, + which does not line up once the container padding changes. */ +.md-typeset :is(.admonition,details):is(.tip,.note,.caution,.warning) > :is(.admonition-title,summary) { + background-color: transparent; + border: 0; + font-size: 16px; + font-weight: 600; + margin: 8px 0; + padding: 0 0 0 28px; + position: relative; + min-height: 20px; + display: flex; + align-items: center; } -.md-typeset .admonition.caution>.admonition-title { - border-color: var(--caution-border); +.md-typeset :is(.admonition,details):is(.tip,.note,.caution,.warning) > :is(.admonition-title,summary)::before { + position: absolute; + left: 0; + top: 50%; + transform: translateY(-50%); + width: 20px; + height: 20px; + margin: 0; +} + +/* Body copy stays on the default dark ink — admonition bodies run long here, + unlike the app's single-line alerts. */ +.md-typeset :is(.admonition,details):is(.tip,.note,.caution,.warning) > :not(.admonition-title):not(summary) { + color: var(--cohesivo-dusk-black); +} + +/* note / tip — the app's .ibexa-alert--info */ +.md-typeset :is(.admonition,details):is(.tip,.note) { + background-color: var(--admonition-info-bg); + border-left-color: var(--admonition-info-bar); } -.md-typeset .admonition:is(.note,.tip)>:is(.admonition-title) { - border-color: var(--note-border); +.md-typeset :is(.admonition,details):is(.tip,.note) > :is(.admonition-title,summary) { + color: var(--admonition-info-title); } -.md-typeset :is(.admonition,details[open]):is(.note,.tip,.caution) :is(.admonition-title,summary) { - border-bottom: 1px solid var(--note-border); +.md-typeset :is(.admonition,details):is(.tip,.note) > :is(.admonition-title,summary)::before { + background-color: var(--admonition-info-title); } -/* Admonition icons */ +/* caution / warning — the app's .ibexa-alert--warning */ +.md-typeset :is(.admonition,details):is(.caution,.warning) { + background-color: var(--admonition-warning-bg); + border-left-color: var(--admonition-warning-bar); +} -.md-typeset .note > .admonition-title::before, -.md-typeset .tip > .admonition-title::before, -.md-typeset .note > summary::before, -.md-typeset .tip > summary::before { - background-color: var(--note-border); +.md-typeset :is(.admonition,details):is(.caution,.warning) > :is(.admonition-title,summary) { + color: var(--admonition-warning-title); } -.md-typeset :is(.admonition,details).caution>:is(.admonition-title,summary):before { - background-color: var(--caution-border); +.md-typeset :is(.admonition,details):is(.caution,.warning) > :is(.admonition-title,summary)::before { + background-color: var(--admonition-warning-title); -webkit-mask-image: var(--md-admonition-icon--caution); mask-image: var(--md-admonition-icon--caution); } @@ -306,7 +362,7 @@ ul li li li { /* Code highlighting */ .md-typeset code, .md-typeset pre { - color: var(--ibexa-dusk-black); + color: var(--cohesivo-dusk-black); } .md-typeset .highlighttable code, .md-typeset .highlighttable pre { @@ -329,7 +385,7 @@ ul li li li { } .md-typeset .highlighttable pre code::-webkit-scrollbar-track { - background-color: var(--ibexa-snow); + background-color: var(--cohesivo-snow); } .md-typeset .highlighttable pre code::-webkit-scrollbar-thumb { @@ -350,7 +406,7 @@ ul li li li { } .md-typeset .highlighttable .linenodiv pre { - color: var(--ibexa-snow); + color: var(--cohesivo-snow); background-color: var(--codeblock); } @@ -373,7 +429,7 @@ ul li li li { /* Code block titles */ .highlighttable span.filename { - background-color: var(--ibexa-snow); + background-color: var(--cohesivo-snow); } /* Tables */ @@ -384,7 +440,7 @@ ul li li li { } .md-typeset table:not([class]) th { - color: var(--ibexa-snow); + color: var(--cohesivo-snow); background-color: var(--table-header); } @@ -420,7 +476,7 @@ a.external:not(.card):not(.notification__cta a):after { } [data-md-color-primary=blue-grey] .md-nav__link--active { - color: var(--ibexa-dusk-black); + color: var(--cohesivo-dusk-black); font-weight: 700; } @@ -501,7 +557,7 @@ a.external:not(.card):not(.notification__cta a):after { .md-typeset .tabbed-set .tabbed-content { order: 99; - border: 1px solid var(--ibexa-snow); + border: 1px solid var(--cohesivo-snow); padding: 4px 4px 4px 1rem; border-radius: 0 .2rem .2rem .2rem; } @@ -510,8 +566,8 @@ a.external:not(.card):not(.notification__cta a):after { font-size: .64rem; font-weight: 700; padding: 0.9375em 1.25em 0.78125em; - border: 1px solid var(--ibexa-snow); - border-bottom: 2px solid var(--ibexa-snow); + border: 1px solid var(--cohesivo-snow); + border-bottom: 2px solid var(--cohesivo-snow); border-radius: 4px 4px 0 0; } @@ -520,8 +576,8 @@ a.external:not(.card):not(.notification__cta a):after { } .md-typeset .tabbed-labels > label:hover { - color: var(--ibexa-dusk-black); - border-bottom: 2px solid var(--ibexa-dusk-black); + color: var(--cohesivo-dusk-black); + border-bottom: 2px solid var(--cohesivo-dusk-black); } .md-typeset .tabbed-set > input:first-child:checked ~ .tabbed-labels > :first-child, @@ -556,11 +612,11 @@ a.external:not(.card):not(.notification__cta a):after { } .md-clipboard:focus, .md-clipboard:hover { - color: var(--ibexa-jazzberry); + color: var(--cohesivo-violet); } .md-typeset .headerlink:focus, .md-typeset .headerlink:hover, .md-typeset :target>.headerlink { - color: var(--ibexa-jazzberry); + color: var(--cohesivo-violet); } /** Cards */ @@ -593,7 +649,7 @@ div.path { background-color: #FFFFFF; padding: 0.7rem; margin-bottom: 0.4rem; - border: 1px solid #E0E0E8; + border: 1px solid var(--cohesivo-snow); min-width: 230px; height: 240px; box-sizing: border-box; @@ -613,7 +669,7 @@ div.path { .cards div.card-wrapper div div:hover, .path div.card-wrapper div div:hover { - border-color: var(--ibexa-dusk-black); + border-color: var(--cohesivo-dusk-black); } .cards div.card-wrapper div div { max-width: 10rem; @@ -639,7 +695,7 @@ div.path { .cards p.description, .path p.description { - color: var(--ibexa-dusk-black); + color: var(--cohesivo-dusk-black); } #older-versions { @@ -655,7 +711,7 @@ div.path { gap: 0; margin: 12px 0 2rem 0; padding-bottom: 6px; - border-bottom: 1px solid var(--ibexa-snow); + border-bottom: 1px solid var(--cohesivo-snow); } .md-typeset .page-action-btn { @@ -666,7 +722,7 @@ div.path { background: transparent; border: none; text-decoration: none; - color: var(--ibexa-dusk-black); + color: var(--cohesivo-dusk-black); font-size: 13px; font-weight: 500; cursor: pointer; @@ -683,7 +739,7 @@ div.path { transform: translateY(-50%); height: 16px; width: 1px; - background: var(--ibexa-snow); + background: var(--cohesivo-snow); } .page-action-btn svg { @@ -715,7 +771,7 @@ div.path { } .page-action-btn.page-action-btn--info { - background: color-mix(in srgb, var(--turquoise-pearl) 25%, white); - border-color: color-mix(in srgb, var(--turquoise-pearl) 40%, white); - color: var(--sherpa-blue); + background: color-mix(in srgb, var(--cohesivo-info) 25%, white); + border-color: color-mix(in srgb, var(--cohesivo-info) 40%, white); + color: var(--cohesivo-info-dark); } diff --git a/docs/css/docs.switcher.css b/docs/css/docs.switcher.css index cb4e8073..d31418ee 100644 --- a/docs/css/docs.switcher.css +++ b/docs/css/docs.switcher.css @@ -22,7 +22,7 @@ .switcher__list dd { margin: 0; line-height: 1; - color: var(--ibexa-dusk-black); + color: var(--cohesivo-dusk-black); } .switcher__list dd:focus, @@ -109,7 +109,7 @@ width: auto; text-align: left; line-height: 1rem; - background-color: var(--ibexa-dusk-black); + background-color: var(--cohesivo-dusk-black); } .md-header__switcher .rst-versions .rst-current-version { diff --git a/docs/css/front-page.css b/docs/css/front-page.css index e15209b5..66486ff6 100644 --- a/docs/css/front-page.css +++ b/docs/css/front-page.css @@ -35,13 +35,13 @@ body { padding-right: 12px; } .md-typeset .front-page .info-tile { - border: 1px solid #ececf1; + border: 1px solid #ececec; border-radius: 12px; padding: 12px; display: flex; align-items: center; flex: 1; - box-shadow: 4px 22px 47px rgba(52, 116, 204, 0.05); + box-shadow: 4px 22px 47px rgba(119, 66, 213, 0.05); height: 100%; } .md-typeset .front-page .info-tile--link-card { @@ -52,13 +52,13 @@ body { margin-bottom: 0; } .md-typeset .front-page .info-tile--link-card h3 svg { - fill: #ae1164; + fill: #4e24a5; width: 16px; height: 16px; margin-right: 4px; } .md-typeset .front-page .info-tile--link-card a { - color: #131c26; + color: #0e1216; text-decoration: underline; } .md-typeset .front-page .info-tile__circle { @@ -77,7 +77,7 @@ body { height: 100%; font-size: 12px; line-height: 18px; - color: #71767c; + color: #6e7173; display: flex; flex-direction: column; justify-content: center; @@ -96,20 +96,20 @@ body { font-size: 22px; line-height: 26px; margin-top: 8px; - color: #131c26; + color: #0e1216; } .md-typeset .front-page .info-tile__details { display: flex; justify-content: flex-end; align-items: center; font-size: 10px; - color: #ae1164; + color: #4e24a5; } .md-typeset .front-page .info-tile__arrow-icon { width: 13px; height: 13px; margin-left: 4px; - fill: #ae1164; + fill: #4e24a5; } .md-typeset .front-page .info-tile h3 { font-size: 18px; @@ -123,7 +123,6 @@ body { .md-typeset .front-page .info-tile ul { margin: 0 0 0 12px; list-style: none; - margin-left: 24px; } .md-typeset .front-page .info-tile ul li { padding: 4px; @@ -132,9 +131,15 @@ body { .md-typeset .front-page .info-tile ul li + li { margin-top: 16px; } +.md-typeset .front-page .info-tile ul { + margin-left: 24px; +} +.md-typeset .front-page a.info-tile { + text-decoration: none; +} .md-typeset .front-page a.info-tile:hover { - border-color: #ae1164; - box-shadow: 0px 22px 24px 0px rgba(174, 17, 100, 0.1); + border-color: #4e24a5; + box-shadow: 0 22px 24px 0 rgba(119, 66, 213, 0.15); text-decoration: none; } .md-typeset .front-page .notifications { @@ -143,7 +148,7 @@ body { } .md-typeset .front-page .notification { border-radius: 12px; - color: #131c26; + color: #0e1216; font-size: 12px; padding: 32px; position: relative; @@ -163,11 +168,11 @@ body { line-height: 1.5; } .md-typeset .front-page .notification__content a { - color: #131c26; + color: #0e1216; text-decoration: underline; } .md-typeset .front-page .notification__content a:hover { - color: #3474cc; + color: #19628f; } .md-typeset .front-page .notification__cta { position: relative; @@ -180,7 +185,7 @@ body { padding: 15px 16px; border-radius: 12px; font-size: 14px; - color: #ae1164; + color: #4e24a5; } .md-typeset .front-page .notification__cta a + a { margin-left: 8px; @@ -204,19 +209,19 @@ body { padding-right: 240px; } .md-typeset .front-page .notification--latest-release .notification__cta a { - background: linear-gradient(to right, #db0032 0%, #ae1164 100%); + background: linear-gradient(90deg, #4e24a5 40%, #b497e8 100%); color: #ffffff; } .md-typeset .front-page .notification--lts-update { - border: 2px solid #e0e0e8; + border: 2px solid #e7e7e8; height: 100%; padding-top: 30px; } .md-typeset .front-page .notification--lts-update .notification__cta a:first-child { - border: 1px solid #ae1164; + border: 1px solid #4e24a5; } .md-typeset .front-page .accordion { - border: 1px solid #ececf1; + border: 1px solid #ececec; border-radius: 12px; padding: 12px; } @@ -229,7 +234,7 @@ body { box-shadow: none; } .md-typeset .front-page .accordion details[open] summary { - border-bottom: 1px solid #e0e0e8; + border-bottom: 1px solid #e7e7e8; padding-bottom: 16px; margin-bottom: 16px; } @@ -241,11 +246,11 @@ body { font-size: 14px; } .md-typeset .front-page .accordion details[open] .row a { - color: #131c26; + color: #0e1216; text-decoration: underline; } .md-typeset .front-page .accordion details[open] .row a:hover { - color: #3474cc; + color: #19628f; } .md-typeset .front-page .accordion details[open] .row ul { margin: 0 0 0 12px; @@ -293,5 +298,3 @@ body { max-width: 25%; } } - -/*# sourceMappingURL=front-page.css.map */ diff --git a/docs/css/instantsearch.css b/docs/css/instantsearch.css index 5d27f45a..2b249a92 100644 --- a/docs/css/instantsearch.css +++ b/docs/css/instantsearch.css @@ -46,33 +46,33 @@ footer.md-footer { } .md-content .ais-InstantSearch .ais-Hits-item + .ais-Hits-item { - border-top: 1px solid #E0E0E8; + border-top: 1px solid var(--cohesivo-snow); margin-top: 16px; padding-top: 16px; } .md-content .ais-InstantSearch .ais-Highlight-highlighted { - background-color: #ECF4FF; - color: #4191FF; + background-color: #E7DEF8; + color: #4E24A5; font-size: inherit; line-height: inherit; } .md-content .ais-InstantSearch .instantsearch__entry { display: block; - color: var(--ibexa-dusk-black); + color: var(--cohesivo-dusk-black); } .md-content .ais-InstantSearch .instantsearch__entry:hover, .md-content .ais-InstantSearch .instantsearch__entry:hover .instantsearch__entry-header, .md-content .ais-InstantSearch .instantsearch__entry:hover .instantsearch__entry-content { - color: var(--ibexa-jazzberry) + color: var(--cohesivo-violet) } .md-content .ais-InstantSearch .instantsearch__entry:hover mark, .md-content .ais-InstantSearch .instantsearch__entry:hover .instantsearch__entry-header mark, .md-content .ais-InstantSearch .instantsearch__entry:hover .instantsearch__entry-content mark { - color: var(--ibexa-jazzberry) + color: var(--cohesivo-violet) } .md-content .ais-InstantSearch .instantsearch__entry-header { @@ -90,7 +90,7 @@ footer.md-footer { } .md-content .ais-InstantSearch .instantsearch__entry-content { - color: #3B424A; + color: #3E4145; font-size: 14px; line-height: 21px; letter-spacing: 0.12px; @@ -139,7 +139,7 @@ footer.md-footer { font-size: 14px; line-height: 21px; letter-spacing: 0.12px; - color: var(--ibexa-dusk-black); + color: var(--cohesivo-dusk-black); height: 40px; min-width: 40px; display: flex; @@ -149,7 +149,7 @@ footer.md-footer { .md-content .ais-InstantSearch .ais-Pagination .ais-Pagination-item--selected .ais-Pagination-link, .md-content .ais-InstantSearch .ais-Pagination .ais-Pagination-link:hover { - background-color: #F3F3F6; + background-color: #F5F6F6; border-radius: 5px; } diff --git a/docs/css/navigation.css b/docs/css/navigation.css index 00c38f04..c4bb1032 100644 --- a/docs/css/navigation.css +++ b/docs/css/navigation.css @@ -49,7 +49,7 @@ font-weight: 700; text-overflow: ellipsis; overflow: hidden; - color: var(--ibexa-jazzberry); + color: var(--cohesivo-violet); } /* Page TOC */ @@ -87,7 +87,7 @@ .md-nav--secondary li.level-1 a:focus { font-size: 16px; font-weight: 600; - color: var(--ibexa-dusk-black); + color: var(--cohesivo-dusk-black); } .md-nav--secondary li.level-2 { @@ -115,7 +115,7 @@ } .md-nav--secondary .md-nav__link--active { - border-left: 2px solid var(--ibexa-jazzberry); + border-left: 2px solid var(--cohesivo-violet); padding-left: 0.4rem; margin-left: -0.55rem; } @@ -227,7 +227,7 @@ } .md-nav--primary .level-4.md-nav__link--active { - border-left: 2px solid var(--ibexa-jazzberry); + border-left: 2px solid var(--cohesivo-violet); } .md-nav[data-md-level="3"] ul li { @@ -244,7 +244,7 @@ .md-nav--primary li label:focus, .md-nav--primary .level-4:hover, .md-nav--primary .level-4:focus { - color: var(--ibexa-jazzberry) !important; + color: var(--cohesivo-violet) !important; } .md-nav--primary>.md-nav__list>li:first-child { @@ -275,7 +275,10 @@ } .md-header__button.md-logo img { - width: inherit; + /* The Cohesivo lockup is icon + wordmark at ~4:1; constrain by height so it + fits the 56px header instead of inheriting the button width. */ + height: 32px; + width: auto; } .md-header__source { @@ -324,7 +327,7 @@ border: 1px solid var(--dark-grey); border-radius: 12px; font-size: 12px; - background-color: var(--ibexa-dusk-black); + background-color: var(--cohesivo-dusk-black); letter-spacing: 0.12px; margin-top: 3px; } @@ -404,7 +407,7 @@ ul.breadcrumbs li.breadcrumb-item { } ul.breadcrumbs li.breadcrumb-item-current { - color: var(--ibexa-dusk-black); + color: var(--cohesivo-dusk-black); font-weight: 600; } diff --git a/docs/css/pills.css b/docs/css/pills.css index 67b2c18e..184ea4ba 100644 --- a/docs/css/pills.css +++ b/docs/css/pills.css @@ -5,39 +5,39 @@ padding: 1px 8px; border: 1px solid; margin-right: 8px; - color: #A32768; + color: #4e24a5; } .pill--headless { - color: #C4234A; - border-color: #C4234A; + color: #ba2124; + border-color: #ba2124; } .pill--headless::after { content: "Headless"; } .pill--experience { - color: #D3822B; - border-color: #D3822B; + color: #a85000; + border-color: #a85000; } .pill--experience::after { content: "Experience"; } .pill--commerce { - color: #A32768; - border-color: #A32768; + color: #4e24a5; + border-color: #4e24a5; } .pill--commerce::after { content: "Commerce"; } .pill--lts-update { - color: #5DA7C0; - border-color: #5DA7C0; + color: #19628f; + border-color: #19628f; } .pill--lts-update::after { content: "LTS Update"; } .pill--new-feature { - color: #2C9445; - border-color: #2C9445; + color: #146d00; + border-color: #146d00; } .pill--new-feature::after { content: "New feature"; @@ -48,13 +48,10 @@ .pill--new { margin-right: 15px; align-self: center; - color: #d9e8ff; - color: #3562a0; + color: #19628f; text-transform: lowercase; } div.pills { float: right; } - -/*# sourceMappingURL=pills.css.map */ diff --git a/docs/css/search.css b/docs/css/search.css index 883da560..0fca0298 100644 --- a/docs/css/search.css +++ b/docs/css/search.css @@ -8,16 +8,16 @@ .md-header .md-search .algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion:not(.suggestion-layout-simple) .algolia-docsearch-suggestion--content { background-color: transparent; - color: var(--ibexa-jazzberry); + color: var(--cohesivo-violet); } .md-header .md-search .algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion:not(.suggestion-layout-simple) .algolia-docsearch-suggestion--wrapper * { - color: var(--ibexa-jazzberry); + color: var(--cohesivo-violet); } .md-header .md-search .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--highlight { - background-color: #ECF4FF; - color: #4191FF !important; + background-color: #E7DEF8; + color: #4E24A5 !important; box-shadow: none; padding: 0; } @@ -28,7 +28,7 @@ .md-header .md-search .algolia-autocomplete .algolia-docsearch-suggestion:not(.algolia-docsearch-suggestion__main) { padding: 14px 0; - border-top: 1px solid #E0E0E8; + border-top: 1px solid var(--cohesivo-snow); } .md-header .md-search .algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header { @@ -42,7 +42,7 @@ padding: 0 40px; border: 0; background-color: #F2F2F5; - color: var(--ibexa-dusk-black); + color: var(--cohesivo-dusk-black); font-weight: 600; } @@ -60,7 +60,7 @@ text-align: left; padding: 0; margin: 0 40px; - color: var(--ibexa-dusk-black); + color: var(--cohesivo-dusk-black); } .md-header .md-search .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--title { @@ -74,7 +74,7 @@ float: none; width: 100%; text-align: left; - color: #3B424A; + color: #3E4145; font-size: 12px; line-height: 21px; letter-spacing: 0.12px; @@ -89,7 +89,7 @@ } .md-header .md-search .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--text { - color: #3B424A; + color: #3E4145; font-size: 14px; line-height: 21px; letter-spacing: 0.12px; @@ -128,7 +128,7 @@ } .md-header .md-search .algolia-autocomplete .search-page-link:hover { - color: var(--ibexa-jazzberry); + color: var(--cohesivo-violet); transition: color 125ms; } diff --git a/docs/images/arrow_down.svg b/docs/images/arrow_down.svg index 2491397d..2ebaab0a 100644 --- a/docs/images/arrow_down.svg +++ b/docs/images/arrow_down.svg @@ -2,8 +2,8 @@ - - + + diff --git a/docs/images/background-gradient.svg b/docs/images/background-gradient.svg index 0d4e5708..cf31745b 100644 --- a/docs/images/background-gradient.svg +++ b/docs/images/background-gradient.svg @@ -10,8 +10,8 @@ - - + + diff --git a/docs/images/caret-double-back.svg b/docs/images/caret-double-back.svg index 7e3a53b1..0d856f5e 100644 --- a/docs/images/caret-double-back.svg +++ b/docs/images/caret-double-back.svg @@ -1,6 +1,6 @@ - + diff --git a/docs/images/caret-double-next.svg b/docs/images/caret-double-next.svg index 41d13ea6..b7a06ea2 100644 --- a/docs/images/caret-double-next.svg +++ b/docs/images/caret-double-next.svg @@ -1,6 +1,6 @@ - + diff --git a/docs/images/caret-down.svg b/docs/images/caret-down.svg index 36a9d2a5..4bebd0f1 100644 --- a/docs/images/caret-down.svg +++ b/docs/images/caret-down.svg @@ -1,3 +1,3 @@ - + diff --git a/docs/images/caret.svg b/docs/images/caret.svg index d8ec3209..a5cc7ea6 100644 --- a/docs/images/caret.svg +++ b/docs/images/caret.svg @@ -1,3 +1,3 @@ - + diff --git a/docs/images/check.svg b/docs/images/check.svg index 5c7c8c44..e06376f6 100644 --- a/docs/images/check.svg +++ b/docs/images/check.svg @@ -1 +1 @@ - + diff --git a/docs/images/cohesivo-logo.svg b/docs/images/cohesivo-logo.svg new file mode 100644 index 00000000..b7ecab22 --- /dev/null +++ b/docs/images/cohesivo-logo.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/ez-icons.svg b/docs/images/ez-icons.svg index 4ae23b0f..00ce0df1 100644 --- a/docs/images/ez-icons.svg +++ b/docs/images/ez-icons.svg @@ -97,7 +97,7 @@ - + @@ -107,7 +107,7 @@ - + diff --git a/docs/images/favicon.png b/docs/images/favicon.png index 8a6e7f53846d23e032917cb2f2044269b3c6fd57..6074c94f1c36941f431721554713baadf7bbb0ca 100644 GIT binary patch delta 1862 zcmV-M2f6sp4Ac&gBYy`8Nkl)HEUUQBIa`$p_k1K`k>RdT6PTlRZW>O35_HU;T<8Bgj!x$+x49Gk5OUt+mfN z_uhd>hqLZ}eEZvLefxa(PKdI&T(S92UbZ)CF4=;i7j5Cl3%0oSye)a|A6xePIa@yIti3h$jIEgQx2>Fc+E&dy zWvl0%v^Db^ZS8`_OK&eau|K!8v9^p7E}*X4smeJ$Z|;c-Xh0NGqfn^4_C_#Y@GVW92BRUX~7)pVe}ov<`kvIBs77( zEbkN|#cd>Jt$9AK)jB!)YXV)QsJyv+<$QxSIbneNyNBq}FM}SBW${SgEbe_E18*df zB7w+CfPa%SmTe&<+sS*$M zs-OsFc`EHO5*W!-MEL-g2ckShC|`(eL_aJaGk-{C0vnb5fa>8VD@3{!Br1DCev!v7 zs6w_PZt4P@KzjnDB8oN9d2$6|Fq zLVu7*aN^?0shs|Z*%=a7pk`VHhD^)i*FzBwevrq(5A*n8dn*oq+KL}{=5b_qE1E6< z5B99UVBU#AV>@Bc7~)w9AY#%08hO+f!crleMrb6`*pW_wO5r)a;IdK6HLf|-fPR!V zqi@XBuWv?kQ~TGXd*Z|-Q%%JCp*x}b5Pxw`2u(l@+$OI>F-3?pg|V-b`&t0^DLP`E z8Y#YV*06icO|;x(ak`OK#Da*8LShS_Na+r+kx@hpI05&zdm@qxB2z;LbH=?Ap|#(R zwqeCH*N~fd73(Hn#fE8Dp}HuYR`N~om_7yYG%2w+W1QG_>Vwr-vbP$G zKd;7{pWTgk4SsU%jo8Cj>#qPjSqy&dcybU%$b$d#QTC@z#t9h3MHFEapjRPlYRck% zzA#f(N0A~GIkb;)2)=hCWFZpzijDsM9Ps_-7~gFQ(0g!znwN-h(?bk?F@u3q zGN>Z)nd64TAGhJ~c47yAEkB8WH6=JoCT1k{SOSPpDn;xz9XZKCAz!ZqcGtx?umKoR z7vP0WAtr4MF>yl%6W3=jA%B-a&GZazH3559wxOQ*VpSe{SLg9%E{|{D%R_|VYb#ob z5L|%B#4ejc@g1VTf3qLG(uUR>yvS@Q5(i(2Th9R+eJL*0#uK;`GKqtK6sseCTk4k= zaN-vv-y$|xN^);%3z-LMFY`hOH~Xe&kWbwOZb zh>X?*l8MBagJN2fEz3*5W%j=P6By3@0USR9{C*TTPF!r{i9}2dAdJ2UM23`%If#_8 zTg9sN94?3a(j2=zyDC`8jq*~MF0Dxf!G;pyAek`_l1Y#N#>Tvhpf#--j%fnh(uQ|r z*$CVWx5*Cq6l1i;HGdi^;v+{8A)!4IA%JmM2)2dW5$xmH>XTOgYxJx3Uj>$si@?`S zO0=L zIF(Cq0rd!)If?NUF`78Qh4vSdN#^{~es{`0ygL)=qGENI}S>F&({@Gk%W0RR6uTOsWL000I_L_t&o0N4s*B}CeytN;K207*qoM6N<$f@qpy A^#A|> delta 1598 zcmV-E2EqB%4$cgaBYyw{XF*Lt006O%3;baP0000WV@Og>004R>004l5008;`004mK z004C`008P>0026e000+ooVrmw00006VoOIv0RI600RN!9r;`8x00(qQO+^Rj0tN*t z5FLLZQ~&@3?@2^KR9M5smu-lh#TCbY|C#66yPMs-tl9X|rhj5Wf<&dX6>DRv3EIS} zsEB?MF-Y`_D7DZcr9~@#)j$x>9hDq|&bqrH`?2WeV=Mh}Rdq z{{<&ovNpOd;D5)!s)@f!zz8C)91NX?;0pA@CrQqm!>#I`|d?MTo zQonF1E=xWX{@0eY7x-wZ4}8}36C@*6&Lwk1vINE|dw=`n05mQ+i@YbeVkEycReo~{ z`n{Q+Yz)`BW9iO|rC%LOe_ky7;*dN+`N80_ok97I==@HZHKIJfDE>Y75`=Z96gU96ADi(J+bgiW`N*wDrE$h6I^yADtjy_+bry8lIK^W z&$k6Q?i5Id?=3xIqhO$E%*DWxIh3~F&>xW=u3Ww-&C*z>pMv1Jku96Wd4<>o>;OIo zJh0MWHL$#CQQpud(81Ez?%THDmT>jAPj>(?QGb@18r0{Aha`L6k`Cm(mDTILc#94= z8)*}87ZZB~z!|zzmfisVwRPb}u08tH2>}46wLOVX2rc@`1|dAA=qR7Ejt1nsj$iHYl^vR=;kB;H?04$^O*UTMd3Y)W;b^yQfY1dHE7! zS$}Wp4fVep+RQ{pox)!OTu7S>rGwiL5HBOPS`v%*?3r=cn#MMUYyD>EN#KK~70m}- zh8h3pzkTiil5O*~INr%C!4PA4-+q%`X-Vq^Mb_j0hYZ*_VmH8|oqIb1=!y*t?P^)Z z5@)f?T2|p^^z)r0pzI`50PDtHocdX`n16C?dc5fXq6CJU6g7-9I|X=k-t`zl*bh4y ze;j}z%8{-LQ}Z^@%yjAe*S=tQ)j210C?HQ|55}4{rr7~7@OcDdJI!e~t{c91+4*MT z(2C_V2H)O&4Z;wt752+HXTZI55D*624L)o#EwiNiL&KkDQGD~GmD3!(Roj3t@_$q< z7j{3epiKreD*%8csOtIGB>fEt$MnWcmh@QF$X0CKx0WxLtU5O5-FzMM!kF?@TqH|R zfURyt){67NZzwJ~3xj7ct^m8S3HD}^es*R5n_H@SHn_+Cbbm(*gW8LCf*6P7F!7nO|4o`2zxP)MRmeGFeQEO4uL^v_)joy z!*nmk$8A8qEAoVGm&|@=(!-PL3hYr}3y2$zJkdJm#B$)A6=b!jvYs!ErGL93mVRw4 z{mNMQMUzjm;o!2}LHS^C*?&f}`TK<3mgN5$<^K|tKPXbY-GgLKA6!HI=M#gFaH(>A zvGlzY09idM8x@w4Jcnun09TpZInT>21eXgy~{{rBx4{lwvOfvug03~!qSaf7z zbY(hYa%Ew3WdJfTGBhnPGJh>FHdHV*Iy5pmF*YkOFgh?Wabdsj0000bbVXQnWMOn= zI&E)cX=Zr$H99mhIx#jYFfckWFaSIUQvd(}S9(-fbW&k=AaHVT zW@&6?Aar?fWguyAbYlPjc%0+%36Cgx@ wG{a;ABePT>%h=S&#LUDT#0SfONT5nC0O}VJbn-$ql>h($07*qoM6N<$f=cA+`~Uy| diff --git a/docs/images/ibexa-dxp-logo.png b/docs/images/ibexa-dxp-logo.png deleted file mode 100644 index 81f08b8b4584bd48d727982c963903e91514414f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22847 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 diff --git a/docs/images/icons.svg b/docs/images/icons.svg index 11c6f67d..be959bda 100644 --- a/docs/images/icons.svg +++ b/docs/images/icons.svg @@ -1,15 +1,15 @@ - + - - - + + + - + diff --git a/docs/images/minus.svg b/docs/images/minus.svg index 5334d011..c6e53ca5 100644 --- a/docs/images/minus.svg +++ b/docs/images/minus.svg @@ -1,3 +1,3 @@ - + diff --git a/docs/images/notification-latest-release.svg b/docs/images/notification-latest-release.svg index c5766a3f..529d7157 100644 --- a/docs/images/notification-latest-release.svg +++ b/docs/images/notification-latest-release.svg @@ -103,12 +103,12 @@ - - + + - - + + @@ -143,8 +143,8 @@ - - + + \ No newline at end of file diff --git a/docs/images/notification-lts-update.svg b/docs/images/notification-lts-update.svg index 212365ef..78ea75e2 100644 --- a/docs/images/notification-lts-update.svg +++ b/docs/images/notification-lts-update.svg @@ -4,12 +4,12 @@ - - + + - - + + \ No newline at end of file diff --git a/docs/images/page_lg.svg b/docs/images/page_lg.svg index 7445daca..bb124d16 100644 --- a/docs/images/page_lg.svg +++ b/docs/images/page_lg.svg @@ -1,3 +1,3 @@ - + diff --git a/docs/images/plus.svg b/docs/images/plus.svg index 6213eefa..dce5c0cb 100644 --- a/docs/images/plus.svg +++ b/docs/images/plus.svg @@ -1,3 +1,3 @@ - + diff --git a/docs/index.md b/docs/index.md index 57174dae..d2d46ff9 100644 --- a/docs/index.md +++ b/docs/index.md @@ -6,7 +6,7 @@
-
+
@@ -26,7 +26,7 @@
-
+
@@ -46,7 +46,7 @@
-
+
@@ -66,7 +66,7 @@
-
+
diff --git a/mkdocs.yml b/mkdocs.yml index 098af4a8..85da3eb2 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -151,7 +151,7 @@ theme: palette: primary: 'blue grey' accent: 'deep orange' - logo: 'images/ibexa-dxp-logo.png' + logo: 'images/cohesivo-logo.svg' extra: append_bootstrap: diff --git a/scss/_variables.scss b/scss/_variables.scss index b10c3396..e017c434 100644 --- a/scss/_variables.scss +++ b/scss/_variables.scss @@ -1,23 +1,62 @@ +// Cohesivo palette. +// +// Values mirror the product design system, converted from oklch() to sRGB hex: +// vendor/ibexa/admin-ui-assets/src/bundle/Resources/public/vendors/ids-assets/dist/scss/variables/_colors.scss +// +// Keep this file the single source of truth for colour in scss/. The hand-maintained +// stylesheets in docs/css/ mirror the same values as --cohesivo-* custom properties. + $transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1); $transition-duration: 0.4s; -$color-primary-main: #A32768; - -$color-dark-85-white: #DCDDDE; -$color-dark-100-white: #FFFFFF; - -$color-info-main: #5DA7C0; - -$color-success-main: #2C9445; - -$color-error-main: #C4234A; - -$color-warning-dark-01: #D3822B; - -$color-primary: #AE1164; - -$color-light: #E0E0E8; -$color-light-400: #ECECF1; - -$color-dark: #131C26; -$color-dark-400: #71767C; +// Primary — violet +$color-primary-100: #391b79; +$color-primary-80: #4e24a5; +$color-primary-60: #612dcd; +$color-primary-40: #7f53da; +$color-primary-5: #cfbef1; +$color-primary-0: #e7def8; + +// Primary alt — lighter violet, used for gradients and shadow tints +$color-primary-alt-80: #7742d5; +$color-primary-alt-40: #b497e8; + +// Neutral +$color-neutral-240: #0e1216; +$color-neutral-200: #3e4145; +$color-neutral-160: #6e7173; +$color-neutral-60: #e7e7e8; +$color-neutral-50: #ececec; +$color-neutral-30: #f5f6f6; +$color-neutral-10: #ffffff; + +// Semantic +$color-info-100: #003f63; +$color-info-80: #19628f; +$color-info-5: #edf2f7; + +$color-success-100: #146d00; +$color-success-80: #378f19; + +$color-error-80: #ba2124; + +$color-warning-110: #a85000; +$color-warning-80: #dc8004; +$color-warning-10: #fcefde; + +// Gradient — $gradient-primary-1 in the design system +$gradient-primary: linear-gradient(90deg, $color-primary-80 40%, $color-primary-alt-40 100%); + +// Shadows are tinted with primary-alt, matching ids-assets/.../_shadows.scss +$shadow-tile: 4px 22px 47px rgba($color-primary-alt-80, 0.05); +$shadow-tile-hover: 0 22px 24px 0 rgba($color-primary-alt-80, 0.15); + +// Aliases kept for readability at call sites +$color-primary: $color-primary-80; +$color-primary-main: $color-primary-80; +$color-dark: $color-neutral-240; +$color-dark-400: $color-neutral-160; +$color-light: $color-neutral-60; +$color-light-400: $color-neutral-50; +$color-dark-85-white: $color-neutral-60; +$color-dark-100-white: $color-neutral-10; diff --git a/scss/front-page.scss b/scss/front-page.scss index aa19cea5..e3d947d5 100644 --- a/scss/front-page.scss +++ b/scss/front-page.scss @@ -1,26 +1,4 @@ - -$ibexa-color-primary: #ae1164; - -$ibexa-color-danger: #db0032; - -$ibexa-color-info-700: #275799; -$ibexa-color-info-600: #3474cc; - -$ibexa-color-dark: #131c26; -$ibexa-color-dark-400: #71767c; - -$ibexa-color-light: #e0e0e8; -$ibexa-color-light-300: #f3f3f6; -$ibexa-color-light-400: #ececf1; - -$ibexa-color-white: #ffffff; - -$ibexa-color-complementary: #47bedb; -$ibexa-color-complementary-800: #1c4c58; -$ibexa-color-complementary-700: #2b7283; -$ibexa-color-complementary-300: #b5e5f0; -$ibexa-color-complementary-200: #daf2f7; -$ibexa-color-complementary-100: #ecf8fb; +@use 'variables'; @mixin list() { margin: 0 0 0 12px; @@ -79,13 +57,13 @@ body { } .info-tile { - border: 1px solid $ibexa-color-light-400; + border: 1px solid variables.$color-neutral-50; border-radius: 12px; padding: 12px; display: flex; align-items: center; flex: 1; - box-shadow: 4px 22px 47px rgba(52, 116, 204, 0.05); + box-shadow: variables.$shadow-tile; height: 100%; &--link-card { @@ -98,7 +76,7 @@ body { h3 { svg { - fill: $ibexa-color-primary; + fill: variables.$color-primary-80; width: 16px; height: 16px; margin-right: 4px; @@ -107,7 +85,7 @@ body { } a { - color: $ibexa-color-dark; + color: variables.$color-neutral-240; text-decoration: underline; } } @@ -129,7 +107,7 @@ body { height: 100%; font-size: 12px; line-height: 18px; - color: $ibexa-color-dark-400; + color: variables.$color-neutral-160; display: flex; flex-direction: column; justify-content: center; @@ -150,7 +128,7 @@ body { font-size: 22px; line-height: 26px; margin-top: 8px; - color: $ibexa-color-dark; + color: variables.$color-neutral-240; } } @@ -159,14 +137,14 @@ body { justify-content: flex-end; align-items: center; font-size: 10px; - color: $ibexa-color-primary; + color: variables.$color-primary-80; } &__arrow-icon { width: 13px; height: 13px; margin-left: 4px; - fill: $ibexa-color-primary; + fill: variables.$color-primary-80; } h3 { @@ -188,9 +166,12 @@ body { } a.info-tile { + // The whole tile is the link; underlining it would strike through the copy. + text-decoration: none; + &:hover { - border-color: $ibexa-color-primary; - box-shadow: 0px 22px 24px 0px rgba(174, 17, 100, 0.10); + border-color: variables.$color-primary-80; + box-shadow: variables.$shadow-tile-hover; text-decoration: none; } } @@ -202,7 +183,7 @@ body { .notification { border-radius: 12px; - color: $ibexa-color-dark; + color: variables.$color-neutral-240; font-size: 12px; padding: 32px; position: relative; @@ -223,11 +204,11 @@ body { } a { - color: $ibexa-color-dark; + color: variables.$color-neutral-240; text-decoration: underline; &:hover { - color: $ibexa-color-info-600; + color: variables.$color-info-80; } } } @@ -243,7 +224,7 @@ body { padding: 15px 16px; border-radius: 12px; font-size: 14px; - color: $ibexa-color-primary; + color: variables.$color-primary-80; & + a { margin-left: 8px; @@ -275,15 +256,15 @@ body { &__cta { a { - background: linear-gradient(to right, $ibexa-color-danger 0%, $ibexa-color-primary 100%); - color: $ibexa-color-white; + background: variables.$gradient-primary; + color: variables.$color-neutral-10; } } } } &--lts-update { - border: 2px solid $ibexa-color-light; + border: 2px solid variables.$color-neutral-60; height: calc(100%); padding-top: 30px; @@ -291,7 +272,7 @@ body { &__cta { a { &:first-child { - border: 1px solid $ibexa-color-primary; + border: 1px solid variables.$color-primary-80; } } } @@ -302,7 +283,7 @@ body { .accordion { $self: &; - border: 1px solid $ibexa-color-light-400; + border: 1px solid variables.$color-neutral-50; border-radius: 12px; padding: 12px; @@ -315,7 +296,7 @@ body { box-shadow: none; summary { - border-bottom: 1px solid $ibexa-color-light; + border-bottom: 1px solid variables.$color-neutral-60; padding-bottom: 16px; margin-bottom: 16px; @@ -331,11 +312,11 @@ body { font-size: 14px; a { - color: $ibexa-color-dark; + color: variables.$color-neutral-240; text-decoration: underline; &:hover { - color: $ibexa-color-info-600; + color: variables.$color-info-80; } } diff --git a/scss/pills.scss b/scss/pills.scss index f0843788..5292bab6 100644 --- a/scss/pills.scss +++ b/scss/pills.scss @@ -10,12 +10,14 @@ margin-right: 8px; color: variables.$color-primary-main; + // Tones are picked from the Cohesivo ramps at steps that clear WCAG AA (4.5:1) + // as text on white — the lighter -80 steps of warning and success do not. $types: ( - "headless": (variables.$color-error-main, "Headless"), - "experience": (variables.$color-warning-dark-01, "Experience"), - "commerce": (variables.$color-primary-main, "Commerce"), - "lts-update": (variables.$color-info-main, "LTS Update"), - "new-feature": (variables.$color-success-main, "New feature") + "headless": (variables.$color-error-80, "Headless"), + "experience": (variables.$color-warning-110, "Experience"), + "commerce": (variables.$color-primary-80, "Commerce"), + "lts-update": (variables.$color-info-80, "LTS Update"), + "new-feature": (variables.$color-success-100, "New feature") ); @each $name, $values in $types { @@ -41,8 +43,7 @@ &--new { margin-right: 15px; align-self: center; - color: #d9e8ff; - color: #3562a0; + color: variables.$color-info-80; text-transform: lowercase; } } From 2edabafadb15f57fa8e5d876658bb9c0737a51dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Thu, 30 Jul 2026 13:06:33 +0200 Subject: [PATCH 2/2] Initial pass --- docs/css/custom.css | 86 ++++++++++++++++++++++++++++++++++---- docs/images/arrow_down.svg | 4 +- 2 files changed, 79 insertions(+), 11 deletions(-) diff --git a/docs/css/custom.css b/docs/css/custom.css index 3662b09a..2db421f3 100644 --- a/docs/css/custom.css +++ b/docs/css/custom.css @@ -10,6 +10,8 @@ --cohesivo-red: #BA2124; --cohesivo-info: #19628F; --cohesivo-info-dark: #003F63; + --cohesivo-ink-muted: #3E4145; + --cohesivo-mist: #F5F6F6; --black: rgb(0,0,0); --white: rgb(255,255,255); @@ -22,14 +24,17 @@ --note-border: var(--mid-grey); --enterprise-border: var(--cohesivo-violet); - /* Admonitions — literal values from the product's .ibexa-alert variants */ + /* Admonitions — the product's .ibexa-alert silhouette, but with the fill taken + from the lightest step of the same ramp. The app's alerts are transient and + single-line; these sit in long-form prose and repeat often, so the saturated + fills are toned down. Titles are the darkest step, for AA on the light fill. */ --admonition-radius: 10px; - --admonition-info-bg: #D2C0F2; - --admonition-info-bar: #19628F; - --admonition-info-title: #003F63; - --admonition-warning-bg: #F9DBB4; + --admonition-info-bg: #F1ECFB; + --admonition-info-bar: #4E24A5; + --admonition-info-title: #391B79; + --admonition-warning-bg: #FCEFDE; --admonition-warning-bar: #DC8004; - --admonition-warning-title: #C26100; + --admonition-warning-title: #8C3F00; --codeblock: rgb(89,96,103); --inline-code: rgb(242,242,245); @@ -303,6 +308,34 @@ ul li li li { color: var(--cohesivo-dusk-black); } +/* Collapsible admonitions (??? note). Material draws the toggle as summary::after, + colours it per admonition type, and positions it against its own padding — so it + needs re-pointing at our accent and re-centring against ours. Material's rotation + rule does not survive our overrides either, so it is restated here. */ +.md-typeset details:is(.tip,.note,.caution,.warning) > summary { + padding-right: 32px; + cursor: pointer; + list-style: none; +} + +.md-typeset details:is(.tip,.note,.caution,.warning) > summary::-webkit-details-marker { + display: none; +} + +.md-typeset details:is(.tip,.note,.caution,.warning) > summary::after { + top: 50%; + right: 8px; + width: 20px; + height: 20px; + margin: 0; + transform: translateY(-50%); + transition: transform 0.2s; +} + +.md-typeset details[open]:is(.tip,.note,.caution,.warning) > summary::after { + transform: translateY(-50%) rotate(90deg); +} + /* note / tip — the app's .ibexa-alert--info */ .md-typeset :is(.admonition,details):is(.tip,.note) { background-color: var(--admonition-info-bg); @@ -317,6 +350,12 @@ ul li li li { background-color: var(--admonition-info-title); } +/* Material sets `color` on the marker per admonition type; its background is + currentcolor, so re-pointing colour alone recolours the whole chevron. */ +.md-typeset details:is(.tip,.note) > summary::after { + color: var(--admonition-info-title); +} + /* caution / warning — the app's .ibexa-alert--warning */ .md-typeset :is(.admonition,details):is(.caution,.warning) { background-color: var(--admonition-warning-bg); @@ -333,6 +372,10 @@ ul li li li { mask-image: var(--md-admonition-icon--caution); } +.md-typeset details:is(.caution,.warning) > summary::after { + color: var(--admonition-warning-title); +} + /* Tile admonition */ .md-typeset :is(.admonition):is(.tile) { @@ -449,7 +492,7 @@ ul li li li { } .md-nav__link[data-md-state=blur] { - color: rgb(19, 28, 38); + color: var(--cohesivo-dusk-black); } figure { @@ -557,6 +600,9 @@ a.external:not(.card):not(.notification__cta a):after { .md-typeset .tabbed-set .tabbed-content { order: 99; + /* The panel is an opaque white card so the set reads the same on a plain page + and on a tinted admonition fill. */ + background: #FFFFFF; border: 1px solid var(--cohesivo-snow); padding: 4px 4px 4px 1rem; border-radius: 0 .2rem .2rem .2rem; @@ -565,6 +611,9 @@ a.external:not(.card):not(.notification__cta a):after { .md-typeset .tabbed-set label { font-size: .64rem; font-weight: 700; + /* Unselected tabs sit recessed behind the panel. */ + background: var(--cohesivo-mist); + color: var(--cohesivo-ink-muted); padding: 0.9375em 1.25em 0.78125em; border: 1px solid var(--cohesivo-snow); border-bottom: 2px solid var(--cohesivo-snow); @@ -600,7 +649,11 @@ a.external:not(.card):not(.notification__cta a):after { .md-typeset .tabbed-set > input:nth-child(18):checked ~ .tabbed-labels > :nth-child(18), .md-typeset .tabbed-set > input:nth-child(19):checked ~ .tabbed-labels > :nth-child(19), .md-typeset .tabbed-set > input:nth-child(20):checked ~ .tabbed-labels > :nth-child(20) { + /* The selected tab is raised: it shares the panel's white fill and drops its + bottom border so the two merge into one surface. */ color: var(--md-accent-fg-color); + background: #FFFFFF; + border-bottom-color: #FFFFFF; } .js .md-typeset .tabbed-labels:before { @@ -659,17 +712,32 @@ div.path { .cards div.card-wrapper div div, .path div.card-wrapper div div { - border: 1px solid #D4D4D4; + border: 1px solid var(--cohesivo-snow); border-radius: 5px; background-color: #FFFFFF; padding: 0.7rem; margin-bottom: 0.4rem; overflow: auto; + transition: border-color 0.2s, box-shadow 0.2s; } +/* Same hover treatment as the homepage info tiles and the product's cards: + neutral at rest, violet border over a violet-tinted shadow on hover. */ .cards div.card-wrapper div div:hover, .path div.card-wrapper div div:hover { - border-color: var(--cohesivo-dusk-black); + border-color: var(--cohesivo-violet); + box-shadow: 0 22px 24px 0 rgba(119, 66, 213, 0.15); +} + +/* The whole card is one anchor — underline the title only, never the description. */ +.md-typeset .cards a.card, +.md-typeset .path a.card { + text-decoration: none; +} + +.md-typeset .cards a.card p.title, +.md-typeset .path a.card p.title { + text-decoration: underline; } .cards div.card-wrapper div div { max-width: 10rem; diff --git a/docs/images/arrow_down.svg b/docs/images/arrow_down.svg index 2ebaab0a..44a0c13a 100644 --- a/docs/images/arrow_down.svg +++ b/docs/images/arrow_down.svg @@ -2,8 +2,8 @@ - - + +