diff --git a/scripts/portal_generator/assets/portal.js b/scripts/portal_generator/assets/portal.js index f37de91..99de491 100644 --- a/scripts/portal_generator/assets/portal.js +++ b/scripts/portal_generator/assets/portal.js @@ -3627,40 +3627,40 @@ function buildUrlBar(bar, opId, path, servers) { var idx = getActiveServerIndex(opId, servers); var resolvedUrl = resolveServerUrl(servers[idx], opId); - - // Server part container - var serverContainer = document.createElement('span'); - serverContainer.className = 'url-server-container'; - - // Server URL text - var serverSpan = document.createElement('span'); - serverSpan.className = 'url-server-part'; - serverSpan.textContent = resolvedUrl; - serverContainer.appendChild(serverSpan); + var fullUrl = resolvedUrl + path; if (servers.length > 1) { - serverContainer.classList.add('has-dropdown'); - serverContainer.title = 'Click to change server'; + // Create combobox-style container + var combobox = document.createElement('div'); + combobox.className = 'url-combobox'; + combobox.title = 'Click to change server'; - // Add chevron-down icon + // URL text + var urlText = document.createElement('span'); + urlText.className = 'url-combobox-text'; + urlText.textContent = fullUrl; + + // Chevron icon var chevron = document.createElement('span'); - chevron.className = 'server-dropdown-chevron'; - chevron.innerHTML = '▼'; - serverContainer.appendChild(chevron); + chevron.className = 'url-combobox-chevron'; + chevron.innerHTML = ''; + + combobox.appendChild(urlText); + combobox.appendChild(chevron); - serverContainer.addEventListener('click', function(e) { + combobox.addEventListener('click', function(e) { e.stopPropagation(); toggleServerDropdown(bar, opId, servers); }); - } - - // Path part - var pathSpan = document.createElement('span'); - pathSpan.className = 'url-path-part'; - pathSpan.textContent = path; - bar.appendChild(serverContainer); - bar.appendChild(pathSpan); + bar.appendChild(combobox); + } else { + // Single server - just show URL as plain text + var urlText = document.createElement('span'); + urlText.className = 'url-text-plain'; + urlText.textContent = fullUrl; + bar.appendChild(urlText); + } } function toggleServerDropdown(bar, opId, servers) { diff --git a/scripts/portal_generator/assets/styles.css b/scripts/portal_generator/assets/styles.css index 9c8fd72..d68d86a 100644 --- a/scripts/portal_generator/assets/styles.css +++ b/scripts/portal_generator/assets/styles.css @@ -850,7 +850,7 @@ code { /* Tooltip on hover - liquid glass effect */ .hero-tab-mcp::after { - content: "Something wonderful is going to happen."; + content: "In final testing - launching this month"; position: absolute; bottom: -40px; left: 50%; @@ -972,7 +972,7 @@ code { grid-template-columns: repeat(3, minmax(0, 389px)); gap: 32px; /* Same horizontal gap as card grid */ align-items: center; - justify-content: start; + justify-content: center; } .catalog-search-and-results { @@ -1152,14 +1152,15 @@ code { .tag-chip { display: inline-flex; - border: 1px solid var(--color-neutral-5); + border: 1px solid var(--color-border-primary); align-items: center; gap: var(--space-xx-small); padding: var(--space-xxx-small) var(--space-x-small); - color: var(--color-neutral-5); + color: var(--color-text-primary); + background: var(--color-bg-primary); border-radius: var(--radius-xl); font-size: var(--font-size-3); - font-weight: var(--font-weight-regular); + font-weight: var(--font-weight-medium); transition: background 0.15s cubic-bezier(0.4, 0.0, 0.2, 1); white-space: nowrap; height: 1.5rem; @@ -1427,18 +1428,20 @@ code { display: grid; grid-template-columns: repeat(3, minmax(0, 389px)); gap: 36px 32px; /* 36px vertical, 32px horizontal gap for equal "streets" */ - justify-content: start; + justify-content: center; } @media (max-width: 1200px) { .catalog-grid { grid-template-columns: repeat(2, minmax(0, 389px)); gap: 36px 32px; + justify-content: center; } .catalog-results-header { grid-template-columns: repeat(2, minmax(0, 389px)); gap: 32px; + justify-content: center; } .catalog-search-and-results { @@ -3419,41 +3422,51 @@ button.nav-group-header { overflow: hidden; } -.url-server-container { - display: inline-flex; +<<<<<<< HEAD +/* URL Combobox - Flat style with chevron aligned to far right */ +.url-combobox { + display: flex; align-items: center; - gap: 6px; - position: relative; -} - -.url-server-container.has-dropdown { + justify-content: space-between; + width: 100%; cursor: pointer; - border-bottom: 1px dashed transparent; - transition: border-color 0.15s, color 0.15s; + font-family: var(--font-mono); + font-size: var(--font-size-3); + min-height: 24px; } -.url-server-container.has-dropdown:hover { +.url-combobox:hover .url-combobox-text { color: var(--color-primary); - border-bottom-color: var(--color-primary); } -.url-server-container.has-dropdown:hover .server-dropdown-chevron { +.url-combobox:hover .url-combobox-chevron { color: var(--color-primary); } -.url-server-part { - color: var(--color-text-secondary); +.url-combobox-text { + color: var(--color-text-primary); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin-right: var(--space-lg); } -.server-dropdown-chevron { - font-size: 10px; +.url-combobox-chevron { + display: flex; + align-items: center; color: var(--color-text-secondary); - transition: color 0.15s; - line-height: 1; - user-select: none; + flex-shrink: 0; + margin-left: auto; } -.url-path-part { +.url-combobox-chevron svg { + display: block; +} + +/* Plain URL text for single server */ +.url-text-plain { + font-family: var(--font-mono); + font-size: var(--font-size-3); color: var(--color-text-primary); } @@ -3971,7 +3984,6 @@ details[open] .examples-toggle-icon { .ace-editor-container { border: 1px solid var(--color-gray-200); - border-radius: var(--radius-small); overflow: hidden; } @@ -4812,7 +4824,6 @@ details[open] .examples-toggle-icon { .example-block { margin: var(--space-sm) 0; border: 1px solid var(--color-border-primary); - border-radius: var(--radius-small); overflow: hidden; max-width: 100%; } @@ -5211,8 +5222,11 @@ details[open] .examples-toggle-icon { } .skill-view-markdown ul, -.skill-view-markdown ol { - padding-left: var(--space-x-large); +.skill-view-markdown ol, +.skill-page .content-section ul, +.skill-page .content-section ol { + margin-left: var(--space-lg); + padding-left: var(--space-xl); margin-bottom: var(--space-medium); } @@ -5373,7 +5387,6 @@ details[open] .examples-toggle-icon { font-family: var(--font-mono); font-size: 0.8125rem; border: 1px solid var(--color-neutral-5); - border-radius: var(--radius-medium); min-height: 200px; } diff --git a/scripts/portal_generator/templates/homepage.html b/scripts/portal_generator/templates/homepage.html index c13f552..30df2b4 100644 --- a/scripts/portal_generator/templates/homepage.html +++ b/scripts/portal_generator/templates/homepage.html @@ -12,7 +12,7 @@

Mulesoft Developer Portal

-

For developers and AI agents to discover, interact and automate together

+

For developers and AI agents to discover, interact, and automate together

@@ -20,15 +20,15 @@

Mulesoft Developer Portal

APIs + -