<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Page Zero]]></title><description><![CDATA[Oracle APEX, Database & Web Technologies]]></description><link>https://page-zero.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6accc97fd18e98925aaf2676/cdf3b82d-0ec8-45f6-b245-d7ec2a70626d.png</url><title>Page Zero</title><link>https://page-zero.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Sun, 25 Oct 2026 22:12:26 GMT</lastBuildDate><atom:link href="https://page-zero.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[APEX UX Patterns and Utilities #JoelKallmanDay]]></title><description><![CDATA[Overview of the APEX UX Pattern Catalog and Utility CSS Reference.]]></description><link>https://page-zero.hashnode.dev/apex-ux-patterns-and-utilities-joelkallmanday</link><guid isPermaLink="true">https://page-zero.hashnode.dev/apex-ux-patterns-and-utilities-joelkallmanday</guid><category><![CDATA[orclapex]]></category><category><![CDATA[agentic AI]]></category><category><![CDATA[CSS]]></category><dc:creator><![CDATA[Kevin Thyssen]]></dc:creator><pubDate>Wed, 14 Oct 2026 05:57:20 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6accc97fd18e98925aaf2676/7db4eb22-2853-4327-b2e3-935d43dbf3e6.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>First of all, welcome to my personal blog: Page Zero! I've been postponing starting a blog for many years. However, today marks the sixth anniversary of <strong>"Joel Kallman Day"</strong>, a very special day within the Oracle (APEX) community. So I thought it would be a good day to start.</p>
<p>In this post, we'll explore 2 new tools which developers can use, together with APEXlang, to generate uniform and future-proof applications. The first is the <strong>UX Pattern Catalog</strong>, a sample app that shows proven page and component patterns built the APEX way. The second is the <strong>APEX Utility CSS Reference</strong>, a searchable reference for the <code>u-</code> utility classes you can drop onto regions, items and templates.</p>
<h2>The UX Pattern Catalog: working examples with guidelines</h2>
<p>The <a href="https://github.com/oracle/apex/tree/26.2/sample-apps/ux-pattern-catalog">UX Pattern Catalog</a> is a sample application in Oracle's official APEX GitHub repo. Oracle describes it as a portable reference app for APEX developers <em>and</em> AI coding agents. That second audience is a hint at what makes it different from older sample apps: every pattern ships with an explanation of the experience it is meant to create.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6accc97fd18e98925aaf2676/3bb0b52e-5fdd-49ce-b602-66a9d336118c.png" alt="" style="display:block;margin:0 auto" />

<h3>What's inside</h3>
<p>The patterns are grouped by type of page:</p>
<table>
<thead>
<tr>
<th>Group</th>
<th>Patterns</th>
</tr>
</thead>
<tbody><tr>
<td>Dashboards</td>
<td>Simple, Advanced, Executive</td>
</tr>
<tr>
<td>Browse and search</td>
<td>Faceted search with cards, faceted search with content rows, interactive report, full-page search, AI chat</td>
</tr>
<tr>
<td>Item details</td>
<td>Detail summary, full detail, item selection, tree selection</td>
</tr>
<tr>
<td>Data entry</td>
<td>Simple form, drawer form</td>
</tr>
<tr>
<td>Master-detail</td>
<td>Master-detail layout</td>
</tr>
<tr>
<td>Component primitives</td>
<td>Content rows, cards, metrics, charts</td>
</tr>
</tbody></table>
<p>Every page is a real, running APEX page built with standard Universal Theme components. Nothing is a screenshot or a mock-up, so you can open Page Designer and see exactly how it was assembled.</p>
<h3>A good starting point</h3>
<p>Open the page help of any pattern and you get four short headings: <strong>Purpose</strong>, <strong>When to Use</strong>, <strong>When to Avoid</strong> and <strong>AI Guidance</strong>. The simple dashboard, for example, is meant for scan-first summaries of a few measures, and it explicitly tells you to avoid it when users need deep analysis or multi-step workflows.</p>
<p>This also goes one level deeper. Region comments state the intent of each component and its role in the pattern. A line-with-area chart is labelled as a lightweight trend visual, with a note to keep it subtle and not pile on competing series.</p>
<p>The app also carries a shared guidelines file with rules that apply across all patterns. A few worth adopting in your own apps:</p>
<ul>
<li><p><strong>Use real state values.</strong> Badges and statuses should use <code>success</code>, <code>danger</code>, <code>warning</code> and <code>info</code>, so Universal Theme's colour coding and accessibility semantics work.</p>
</li>
<li><p><strong>Format for scanning.</strong> Thousands separators on large numbers; consistent dates, percentages and units within a region.</p>
</li>
<li><p><strong>Scope your custom CSS.</strong> Put a pattern-specific class such as <code>app-MetricCards</code> on the region and prefix every selector with it, with a short comment explaining the rule.</p>
</li>
<li><p><strong>Keep detail actions in the region header.</strong> A "view details" link belongs in the region's Edit button slot, not in the content.</p>
</li>
</ul>
<h2>The Utility CSS Reference: one searchable page for every <code>u-</code> class</h2>
<p>If you've used APEX for a while, you know <code>u-</code> classes exist. The hard part was always remembering which ones, and what they actually do. The <a href="https://static.oracle.com/cdn/apex/26.2.0/libraries/apex-utility-css/26.2.5/docs/utilities.html">APEX Utility CSS Reference</a>, introduced with 26.2, fixes that. At the moment of writing, it documents over 1,600 classes across more than 20 categories.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6accc97fd18e98925aaf2676/6ba0727d-c1db-421a-aa49-d63d5c4fe73a.png" alt="" style="display:block;margin:0 auto" />

<h3>How the page works</h3>
<p>Each class gets a row with its name, any aliases, a live preview, the exact CSS it applies, a description, whether it is responsive, its tier, and a short note on where it fits in APEX. You can search by class name, alias, CSS property or description, and filter by category, tier or responsive support.</p>
<h3>The categories at a glance</h3>
<p>The categories cover the full range of layout and styling work: accessibility, background, border, color, display, effects, flex, gap, grid, interactivity, layout, list, margin, media, outline, overflow, padding, positioning, scrolling, sizing, tables, typography, visibility and z-index. A few examples of what that means in practice:</p>
<ul>
<li><p><strong>Layout:</strong> <code>u-display-flex</code>, <code>u-flex-col</code>, <code>u-justify-between</code>, <code>u-align-items-center</code>, <code>u-grid-cols-3</code>, <code>u-col-span-2</code></p>
</li>
<li><p><strong>Spacing:</strong> <code>u-gap-4</code> (1rem), <code>u-gap-x-2</code>, <code>u-row-gap-6</code>, all driven by <code>--u-space-*</code> tokens</p>
</li>
<li><p><strong>Borders and shape:</strong> <code>u-border</code>, <code>u-border-block-end-1</code>, <code>u-rounded-md</code>, <code>u-rounded-full</code></p>
</li>
<li><p><strong>Effects:</strong> <code>u-shadow-2</code>, <code>u-opacity-50</code>, <code>u-filter-blur-sm</code></p>
</li>
<li><p><strong>Accessibility:</strong> <code>u-vh</code> hides content visually but keeps it available to screen readers</p>
</li>
</ul>
<h3>Semantic colors, modern CSS and tiers</h3>
<p>Color classes are based on roles, not hex values: <code>u-bg-surface-card</code>, <code>u-text-muted</code> or <code>u-bg-state-success-low</code> all read from <code>--u-*</code> theme variables, so they adapt automatically to theme changes. Borders and spacing use modern, tokenized CSS that also works in right-to-left languages. Each class also has a tier: use <strong>Default</strong> and <strong>Extended</strong> for new work, and try to avoid (or update) <strong>Compat</strong> and <strong>Deprecated</strong> classes in existing apps.</p>
<h2>Using both in your daily work</h2>
<p>The catalog decides the structure of a page, the utility classes handle fine-tuning layout and styling. Here are a few tips about integrating these tools in your development process:</p>
<ol>
<li><p><strong>Point your AI assistant at the catalog and CSS Reference.</strong> The "AI Guidance" sections and region comments are written so coding agents can follow them. If you generate APEX pages with an AI tool, give it the CSS Reference and ask it to use only Default or Extended tier utility classes.</p>
</li>
<li><p><strong>Reach for a utility class before writing CSS.</strong> Need a toolbar with the button pushed right, or three cards in a row? Add <code>u-display-flex u-justify-between u-align-items-center</code> or <code>u-grid-cols-3 u-gap-4</code> to the region's CSS Classes attribute. Search the reference by CSS property if you don't know the class name.</p>
</li>
<li><p><strong>Use semantic colours for every status.</strong> Map your status column to <code>success</code>, <code>danger</code>, <code>warning</code> or <code>info</code>, and use the <code>u-bg-state-*</code> and <code>u-on-state-*</code> classes for anything custom.</p>
</li>
<li><p><strong>When you do need custom CSS, scope it.</strong> Follow the catalog's rule: a descriptive class like <code>app-OrderSummary</code> on the region, every selector prefixed with it, and a one-line comment.</p>
</li>
<li><p><strong>Use it as a review checklist.</strong> During code review, look for hard-coded hex colours, unscoped CSS and Compat-tier classes. Each can be a sign that a page needs updating.</p>
</li>
</ol>
<h2>Wrapping up</h2>
<p>These two tools provide great added value, especially when generating applications with APEXlang. Your apps will get more consistent, easier to theme, and easier for developers (and AI agents) to understand. Of course, the catalog only contains a few patterns now, but it's a great starting point.</p>
<h3>Links</h3>
<ul>
<li><p><a href="https://github.com/oracle/apex/tree/26.2/sample-apps/ux-pattern-catalog">Oracle APEX UX Pattern Catalog on GitHub</a></p>
</li>
<li><p><a href="https://static.oracle.com/cdn/apex/26.2.0/libraries/apex-utility-css/26.2.5/docs/utilities.html">APEX Utility CSS Reference</a></p>
</li>
</ul>
]]></content:encoded></item></channel></rss>