@incursa/ui-kit 1.8.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,7 @@
4
4
  "kind": "pattern",
5
5
  "searchKind": "pattern",
6
6
  "summary": "Copy/paste catalog for the standard controls, page framing, metrics, lists, overlays, and markup patterns.",
7
- "body": "Copy/paste catalog for the standard controls, page framing, metrics, lists, overlays, and markup patterns.\n\nIncursa\n\n Examples\n Dashboard\n Work Queue\n Record Detail\n Native Patterns\n Overlays\n States\n Forms\n Data Grid\n Web Components\n Reference\n\n SM\n\n Sam McAravey\n Administrator\n\n Signed in as Sam McAravey\n Profile\n Preferences\n Sign out\n\n Examples\n Reference\n\n Reference Catalog\n Rendered controls with copyable HTML\n This page is the practical copy/paste surface. Each section shows the rendered result first, then the HTML markup directly below it.\n\n Code View\n Web Components first, HTML + CSS on demand\n\n HTML + CSS\n\n Web Components\n\n Web Components is the default code view on this page. Sections that are still CSS-first are labeled in the viewer so the page stays honest about what exists today.\n\n Theme Switcher\n\n Appearance\n System\n\n Light\n Dark\n System\n\n Cycle\n\n The bundled helper stores the selected mode in localStorage, resolves system against prefers-color-scheme, keeps the root `data-bs-theme` attribute in sync, and can either wire your own controls or mount the packaged switcher into an empty host.\n\n<div class=\"inc-theme-toggle\" data-inc-theme-switcher>\n <div class=\"inc-theme-toggle__label\">\n <p class=\"inc-theme-toggle__title\">Appearance</p>\n <p class=\"inc-theme-toggle__value\" data-inc-theme-label>System</p>\n </div>\n <div class=\"inc-button-group inc-button-group--sm\" role=\"group\" aria-label=\"Theme mode\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"light\">Light</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"dark\">Dark</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"system\">System</button>\n </div>\n <button class=\"inc-btn inc-btn--outline-secondary inc-btn--sm\" type=\"button\" data-inc-theme-toggle>Cycle</button>\n</div>\n\n<div data-inc-theme-switcher data-inc-theme-switcher-block></div>\n\n<script>\n window.IncTheme.setMode(\"dark\");\n</script>\n\n Page Framing\n\n Examples\n Reference\n\n Breadcrumb body wrapper\n Use the canonical page wrapper when you want a breadcrumb strip and body stack without introducing another bespoke shell.\n\n Secondary action\n Primary action\n\n<div class=\"inc-page inc-breadcrumb-body\">\n <div class=\"inc-page__breadcrumbs inc-breadcrumb-body__breadcrumb\">\n <ol class=\"inc-breadcrumb\">\n <li class=\"inc-breadcrumb__item\"><a href=\"./index.html\">Examples</a></li>\n <li class=\"inc-breadcrumb__item active\"><span>Reference</span></li>\n </ol>\n </div>\n <div class=\"inc-page__body inc-breadcrumb-body__body\">\n <div class=\"inc-section-container demo-stack\">\n <section class=\"inc-page-header\">...</section>\n </div>\n </div>\n</div>\n\n Buttons\n\n Primary\n Secondary\n Outline\n Danger\n Warning\n Info\n\n Small\n Micro\n\n Left\n Right\n\n Publishing\n Refreshing\n\n Publishing\n Refreshing\n\n<button class=\"inc-btn inc-btn--primary\" type=\"button\">Primary</button>\n<button class=\"inc-btn inc-btn--secondary\" type=\"button\">Secondary</button>\n<button class=\"inc-btn inc-btn--outline-secondary\" type=\"button\">Outline</button>\n<button class=\"inc-btn inc-btn--danger\" type=\"button\">Danger</button>\n\n<button class=\"inc-btn inc-btn--primary inc-btn--sm\" type=\"button\">Small</button>\n<button class=\"inc-btn inc-btn--secondary inc-btn--micro\" type=\"button\">Micro</button>\n\n<div class=\"inc-button-group inc-button-group--sm\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\">Left</button>\n <button class=\"inc-btn inc-btn--primary\" type=\"button\">Right</button>\n</div>\n\n<button class=\"inc-btn inc-btn--primary is-loading\" type=\"button\">Publishing<span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span></button>\n<button class=\"inc-btn inc-btn--secondary is-loading\" type=\"button\">Refreshing<span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span></button>\n\n<button class=\"inc-btn inc-btn--primary\" type=\"button\" aria-busy=\"true\"><span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span><span>Publishing</span></button>\n<button class=\"inc-btn inc-btn--outline-secondary\" type=\"button\" aria-busy=\"true\"><span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span><span>Refreshing</span></button>\n\n Badges And Alerts\n\n Approved\n Pending\n Rejected\n Imported\n\n Success alert text.\n Information alert text.\n Warning alert text.\n Danger alert text.\n\n<span class=\"inc-badge inc-badge--success inc-badge--pill\">Approved</span>\n<span class=\"inc-badge inc-badge--warning inc-badge--pill\">Pending</span>\n<span class=\"inc-badge inc-badge--danger inc-badge--pill\">Rejected</span>\n<span class=\"inc-badge inc-badge--info inc-badge--pill\">Imported</span>\n\n<div class=\"inc-alert inc-alert--success\">Success alert text.</div>\n<div class=\"inc-alert inc-alert--info\">Information alert text.</div>\n<div class=\"inc-alert inc-alert--warning\">Warning alert text.</div>\n<div class=\"inc-alert inc-alert--danger\">Danger alert text.</div>\n\n Form Fields\n\n Text input\n\n Select\n\n Draft\n In Progress\n Approved\n\n Textarea\n Operator notes go here.\n\n Start date\n\n Attachment\n\n $\n\n Workflow options\n\n Include related documents\n\n Send notifications\n\n Approval route\n\n Fast approval\n\n Standard approval\n\n Search\n\n Owner\n\n AP Team\n Legal Review\n\n Apply\n\n<label class=\"inc-form__label\" for=\"ref-name\">Text input</label>\n<input id=\"ref-name\" class=\"inc-form__control\" type=\"text\">\n\n<label class=\"inc-form__label\" for=\"ref-status\">Select</label>\n<select id=\"ref-status\" class=\"inc-form__select\">\n <option>Draft</option>\n <option selected>In Progress</option>\n</select>\n\n<label class=\"inc-form__label\" for=\"ref-notes\">Textarea</label>\n<textarea id=\"ref-notes\" class=\"inc-form__control\" rows=\"3\"></textarea>\n\n<label class=\"inc-form__label\" for=\"ref-start-date\">Start date</label>\n<input id=\"ref-start-date\" class=\"inc-form__control\" type=\"date\">\n\n<label class=\"inc-form__label\" for=\"ref-attachment\">Attachment</label>\n<input id=\"ref-attachment\" class=\"inc-form__control\" type=\"file\">\n\n<div class=\"inc-input-group\">\n <span class=\"inc-input-group__text\">$</span>\n <input class=\"inc-form__control\" type=\"text\">\n</div>\n\n<fieldset class=\"inc-form__fieldset\">\n <legend class=\"inc-form__legend\">Workflow options</legend>\n <div class=\"inc-form__choices\">\n <div class=\"inc-form__check\">...</div>\n <div class=\"inc-form__check inc-form__switch\">...</div>\n </div>\n</fieldset>\n\n<fieldset class=\"inc-form__fieldset\">\n <legend class=\"inc-form__legend\">Approval route</legend>\n <div class=\"inc-form__choices\">\n <div class=\"inc-form__check\">\n <input class=\"inc-form__check-input\" type=\"radio\" id=\"ref-route-fast\" name=\"ref-route\" checked>\n <label class=\"inc-form__check-label\" for=\"ref-route-fast\">Fast approval</label>\n </div>\n <div class=\"inc-form__check\">\n <input class=\"inc-form__check-input\" type=\"radio\" id=\"ref-route-standard\" name=\"ref-route\">\n <label class=\"inc-form__check-label\" for=\"ref-route-standard\">Standard approval</label>\n </div>\n </div>\n</fieldset>\n\n Cards, Metrics, And Empty States\n\n Total Revenue\n\n $247,832\n\n Active Projects\n\n 12\n In Progress\n\n Exceptions\n\n 4\n\n Open Items\n Updated 10m ago\n\n 18\n\n Queue Health\n\n 92%\n On track\n\n Approvals\n\n 7\n Waiting\n\n Exceptions\n\n 4\n Needs review\n\n No saved views\n Create a named filter set so your operators can reuse it across screens.\n\n Dismiss\n Create View\n\n<section class=\"inc-summary-overview inc-summary-overview--3-col\">\n <article class=\"inc-summary-block\">...</article>\n <article class=\"inc-summary-block\">...</article>\n <article class=\"inc-summary-block\">...</article>\n</section>\n\n<section class=\"inc-summary-overview inc-summary-overview--4-col\">\n <article class=\"inc-summary-block\">\n <div class=\"inc-summary-block__header inc-summary-block__header--with-action\">\n <span>Open Items</span>\n <span class=\"inc-summary-block__header-action\">Updated 10m ago</span>\n </div>\n <div class=\"inc-summary-block__body inc-summary-block__body--left\">\n <div class=\"inc-summary-block__value inc-summary-block__value--large\">18</div>\n </div>\n </article>\n <article class=\"inc-summary-block\">\n <div class=\"inc-summary-block__header\">Queue Health</div>\n <div class=\"inc-summary-block__body inc-summary-block__body--right\">\n <div class=\"inc-summary-block__value inc-summary-block__value--small\">92%</div>\n <span class=\"inc-summary-block__status-badge inc-summary-block__status-badge--approved\">On track</span>\n </div>\n </article>\n <article class=\"inc-summary-block\">...</article>\n <article class=\"inc-summary-block\">...</article>\n</section>\n\n<div class=\"inc-empty-state\">\n <div class=\"inc-empty-state__content\">\n <div class=\"inc-empty-state__icon\" data-inc-icon=\"empty\" aria-hidden=\"true\"></div>\n <h3 class=\"inc-heading inc-heading--h3\">No saved views</h3>\n <p class=\"inc-text inc-text--regular inc-text--muted\">Create a named filter set...</p>\n <div class=\"inc-empty-state__actions\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\">Dismiss</button>\n <button class=\"inc-btn inc-btn--primary\" type=\"button\">Create View</button>\n </div>\n </div>\n</div>\n\n Tabs\n\n Overview\n Aging\n\n Folder tab content.\n\n Second folder tab content.\n\n Needs Review\n Ready\n\n Line tab content.\n\n Second line tab content.\n\n<section class=\"inc-tabs-folder\">\n <ul class=\"inc-tabs-nav\" role=\"tablist\">\n <li><button class=\"inc-tab active\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-folder-overview\">Overview</button></li>\n <li><button class=\"inc-tab\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-folder-aging\">Aging</button></li>\n </ul>\n <div class=\"inc-tab-content\">\n <div class=\"inc-tab-pane active\" id=\"ref-folder-overview\" role=\"tabpanel\">...</div>\n <div class=\"inc-tab-pane\" id=\"ref-folder-aging\" role=\"tabpanel\">...</div>\n </div>\n</section>\n\n<section class=\"inc-tabs-line\">\n <ul class=\"inc-tabs-nav\" role=\"tablist\">\n <li><button class=\"inc-tab active\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-line-one\">Needs Review</button></li>\n <li><button class=\"inc-tab\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-line-two\">Ready</button></li>\n </ul>\n</section>\n\n Tables And Lists\n\n Project\n Period\n Amount\n Status\n\n AP-2026-00142\n March 2026\n $18,240.22\n Approved\n\n Needs Review\n March Closeout\n Projects Missing Billing Period\n\n Inbox\n Assigned to me\n\n First review pass\n Secondary approval\n Final export\n\n Lien Waiver Package\n Last updated 14 minutes ago\n\n Open\n\n Compliance Exceptions\n 2 unresolved items\n\n Review\n\n<div class=\"inc-table-responsive\">\n <table class=\"inc-table inc-table--sm inc-table--data-table\">\n <thead>...</thead>\n <tbody>\n <tr>\n <td class=\"inc-table__cell inc-table__cell--data\">AP-2026-00142</td>\n <td class=\"inc-table__cell\">March 2026</td>\n <td class=\"inc-table__cell inc-table__cell--numeric\">$18,240.22</td>\n <td class=\"inc-table__cell\"><span class=\"inc-badge inc-badge--success inc-badge--pill\">Approved</span></td>\n </tr>\n </tbody>\n </table>\n</div>\n\n<div class=\"inc-list-group\">\n <a class=\"inc-list-group__item inc-list-group__item--action active\" href=\"#\">Needs Review</a>\n <a class=\"inc-list-group__item inc-list-group__item--action\" href=\"#\">March Closeout</a>\n</div>\n\n<div class=\"inc-list-group inc-list-group--flush\">\n <a class=\"inc-list-group__item inc-list-group__item--action\" href=\"#\">Inbox</a>\n <a class=\"inc-list-group__item inc-list-group__item--action\" href=\"#\">Assigned to me</a>\n</div>\n\n<ol class=\"inc-list-group inc-list-group--numbered\">\n <li class=\"inc-list-group__item\">First review pass</li>\n <li class=\"inc-list-group__item\">Secondary approval</li>\n <li class=\"inc-list-group__item\">Final export</li>\n</ol>\n\n<div class=\"inc-vertical-list inc-vertical-list--compact inc-vertical-list--trim inc-vertical-list--inset\">\n <div class=\"inc-vertical-list__item inc-flex-between\">...</div>\n</div>\n\n Native Controls\n\n Billing summary\n 3 items\n\n Native details\n\n Example disclosure body.\n\n AP\n\n Queue Actions\n Summary-based menu\n\n Quick actions\n Export current view\n Save filter preset\n\n Import completion\n 72%\n\n Data quality\n 74%\n\n Launch Native Dialog\n Launch Native Drawer\n\n<details class=\"inc-disclosure\" open>\n <summary class=\"inc-disclosure__summary\">\n <span class=\"demo-disclosure-title\">\n <span class=\"inc-disclosure__title\">Billing summary</span>\n <span class=\"inc-badge inc-badge--info inc-badge--pill\">3 items</span>\n </span>\n <span class=\"inc-disclosure__meta\">Native details</span>\n </summary>\n <div class=\"inc-disclosure__content\">...</div>\n</details>\n\n<details class=\"inc-native-menu inc-native-menu--block\">\n <summary class=\"inc-native-menu__summary\">\n <span class=\"inc-user-menu__avatar\">AP</span>\n <span class=\"inc-native-menu__section-title\">\n <span class=\"inc-user-menu__name\">Queue Actions</span>\n <span class=\"inc-user-menu__detail\">Summary-based menu</span>\n </span>\n </summary>\n <div class=\"inc-native-menu__panel\">...</div>\n</details>\n\n<progress class=\"inc-progress inc-progress--success\" max=\"100\" value=\"72\">72%</progress>\n<meter class=\"inc-meter inc-meter--warning\" min=\"0\" max=\"100\" low=\"65\" high=\"90\" optimum=\"100\" value=\"74\">74%</meter>\n\n Floating Content\n\n Tooltip text for short hover help.\n\n Popover title\n Popover content can hold short guidance, counts, or a compact callout.\n\n<div class=\"demo-muted-panel position-relative\">\n <div class=\"inc-tooltip show bs-tooltip-auto\" role=\"tooltip\">\n <div class=\"tooltip-arrow\" aria-hidden=\"true\"></div>\n <div class=\"inc-tooltip__inner\">Tooltip text for short hover help.</div>\n </div>\n</div>\n\n<div class=\"demo-muted-panel position-relative\">\n <div class=\"inc-popover show bs-popover-auto\" role=\"tooltip\">\n <div class=\"popover-arrow\" aria-hidden=\"true\"></div>\n <div class=\"inc-popover-header\">Popover title</div>\n <div class=\"inc-popover-body\">Popover content can hold short guidance, counts, or a compact callout.</div>\n </div>\n</div>\n\n Validation And Filter Toolbars\n\n There are 2 issues to fix\n\n Contract number is required.\n Billing period must be selected.\n\n Contract number\n\n Contract number is required.\n\n Export contact\n\n Email looks valid.\n\n Search\n\n Owner\n\n AP Team\n Legal Review\n\n Status: Needs review ×\n Owner: AP Team ×\n\n Save View\n Apply\n\n<div class=\"inc-form__error-summary\">\n <h3 class=\"inc-form__error-summary-title\">There are 2 issues to fix</h3>\n <ul class=\"inc-form__error-summary-list\">\n <li>Contract number is required.</li>\n <li>Billing period must be selected.</li>\n </ul>\n</div>\n\n<div class=\"inc-form__group\">\n <label class=\"inc-form__label inc-form__label--required\" for=\"ref-contract\">Contract number</label>\n <input id=\"ref-contract\" class=\"inc-form__control is-invalid\" type=\"text\" aria-invalid=\"true\">\n <p class=\"inc-form__feedback inc-form__feedback--error\">Contract number is required.</p>\n</div>\n\n<section class=\"inc-filter-bar\">\n <div class=\"inc-filter-bar__main\">...</div>\n <div class=\"inc-filter-bar__actions\">\n <div class=\"inc-filter-bar__chips\">\n <span class=\"inc-filter-chip\">Owner: AP Team</span>\n </div>\n </div>\n</section>\n\n Spacing And Visibility Utilities\n\n inc-u-stack-sm\n Use the utility layer when you need a light spacing or visibility adjustment without pulling in Bootstrap utility classes.\n\n Secondary\n Primary\n\n This alert uses inc-u-hidden-mobile and disappears on smaller screens.\n Common helpers now include stack spacing, gap, padding, hidden/mobile-hidden/desktop-hidden, and visually hidden text.\n\n<div class=\"inc-u-stack-sm\">\n <span class=\"inc-badge inc-badge--info inc-badge--pill\">inc-u-stack-sm</span>\n <p class=\"inc-text inc-text--regular\">Light spacing without Bootstrap utilities.</p>\n <div class=\"demo-chip-row inc-u-gap-sm\">\n <button class=\"inc-btn inc-btn--secondary inc-btn--sm\" type=\"button\">Secondary</button>\n <button class=\"inc-btn inc-btn--primary inc-btn--sm\" type=\"button\">Primary</button>\n </div>\n</div>\n\n<div class=\"inc-alert inc-alert--info inc-u-hidden-mobile\">Hidden on smaller screens.</div>\n\n Table Families\n\n Review Grid\n\n Record\n State\n Amount\n\n AP-142\n Needs Review\n $18,240\n\n AP-148\n Expiring Docs\n $7,882\n\n Analytics Grid\n\n Week\n Approved\n Variance\n\n W10\n 428\n +6.2%\n\n W11\n 447\n +4.4%\n\n Spreadsheet Grid\n\n Line\n Code\n Hours\n\n 001\n FRM-042\n 12.50\n\n 002\n FRM-043\n 8.25\n\n<table class=\"inc-table inc-table--review-grid inc-table--sm\">...</table>\n<table class=\"inc-table inc-table--analytics-grid inc-table--sm\">...</table>\n<table class=\"inc-table inc-table--spreadsheet-grid inc-table--sm\">...</table>\n\n Overlay Workflows\n\n Modal and offcanvas patterns now have a dedicated showcase page with validation, drawer content, and helper-driven open/close behavior.\n\n Open Overlay Showcase\n Compare With Drawer Grid\n\n<button class=\"inc-btn inc-btn--primary\" type=\"button\" data-inc-toggle=\"modal\" data-inc-target=\"#approval-modal\">Open modal</button>\n<button class=\"inc-btn inc-btn--outline-secondary\" type=\"button\" data-inc-toggle=\"offcanvas\" data-inc-target=\"#assignment-drawer\">Open offcanvas</button>\n\n Operational States And Feedback\n\n No results matched\n Distinct from the create-first empty state.\n\n Export failed\n Use a proper failure surface, not just a muted paragraph.\n\n Finance Manager role required\n Show when an action is visible but intentionally unavailable.\n\n View saved\n Use for asynchronous success or background-status messages.\n\n<div class=\"inc-state-panel inc-state-panel--results\">...</div>\n<div class=\"inc-state-panel inc-state-panel--error\">...</div>\n\n<div class=\"inc-permission-banner\">\n <div class=\"inc-permission-banner__icon\" data-inc-icon=\"permission\" aria-hidden=\"true\"></div>\n <div>...</div>\n</div>\n\n<div class=\"inc-toast-stack\">\n <div class=\"inc-toast-card\">...</div>\n</div>\n\n Detail, Timeline, Files, And Grid Patterns\n\n Record Id\n AP-2026-00142\n\n Current request\n $18,240.22\n\n Imported from OpenPay\n\n 8:13 AM\n Nightly sync\n\n Timeline entries combine actor, time, event, and state without falling apart visually.\n\n Drop documents here\n For review workflows with waiver or attachment requirements.\n\n Browse Files\n\n No files selected yet.\n\n 3 rows selected\n\n Reject Selected\n\n<div class=\"inc-key-value-grid\">\n <dl class=\"inc-key-value inc-key-value--card\">\n <dt class=\"inc-key-value__label\">Record Id</dt>\n <dd class=\"inc-key-value__value inc-key-value__value--data\">AP-2026-00142</dd>\n </dl>\n</div>\n\n<div class=\"inc-timeline\">\n <div class=\"inc-timeline__item\">...</div>\n</div>\n\n<div class=\"inc-file-dropzone\">...</div>\n<div class=\"inc-bulk-bar\">...</div>\n\n Auto Refresh Widget\n\n Use the inline modifier inside cards or toolbars, and the base class when you want the widget pinned to the page corner.\n\n Pause\n\n Queue refresh in\n 180s\n\n Refreshing queue\n\n<div class=\"inc-auto-refresh\"\n data-inc-auto-refresh\n data-inc-refresh-seconds=\"30\"\n data-inc-refresh-label=\"Refresh in\"\n data-inc-refresh-loading-label=\"Refreshing\">\n <button class=\"inc-btn inc-btn--secondary inc-btn--micro inc-auto-refresh__toggle\"\n type=\"button\"\n data-inc-action=\"auto-refresh-toggle\"\n aria-label=\"Pause\"\n aria-pressed=\"false\">\n <span class=\"inc-auto-refresh__toggle-icon\" aria-hidden=\"true\"></span>\n <span class=\"inc-auto-refresh__toggle-text\">Pause</span>\n </button>\n <span class=\"inc-auto-refresh__countdown\">\n <span class=\"inc-auto-refresh__label\">Refresh in</span>\n <span class=\"inc-auto-refresh__value\">30s</span>\n </span>\n <span class=\"inc-auto-refresh__status\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" hidden>\n <span class=\"inc-auto-refresh__spinner\" aria-hidden=\"true\">\n <span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm inc-spinner--border--primary\"></span>\n <span class=\"inc-spinner inc-spinner--grow inc-spinner--grow--sm inc-spinner--grow--primary\"></span>\n </span>\n <span class=\"inc-auto-refresh__status-text\">Refreshing</span>\n </span>\n</div>\n\n<div class=\"inc-auto-refresh inc-auto-refresh--inline\"\n data-inc-auto-refresh\n data-inc-refresh-seconds=\"90\">\n ...\n</div>\n\n Copy snippet\n Open docs\n\n Reference page for copy/paste HTML patterns. Web Components are the default code view here, while the class catalog remains authoritative.\n\n Reference Dialog\n Native dialog example for copy/paste use.\n\n ×\n\n This is the minimal dialog shell used on the native page. Copy the outer <dialog>, the surface wrapper, and the form-based footer if you want native close behavior.\n\n Close\n Confirm\n\n Reference Drawer\n Native side sheet example for assignment and note-taking flows.\n\n ×\n\n Record\n AP-2026-00142\n\n Current owner\n AP Team\n\n Routing note\n Route to Legal Review so the W-9 can be validated before export.\n\n Cancel\n Assign\n\nCanonical markup:\n\n```html\n<div class=\"inc-theme-toggle\" data-inc-theme-switcher>\n <div class=\"inc-theme-toggle__label\">\n <p class=\"inc-theme-toggle__title\">Appearance</p>\n <p class=\"inc-theme-toggle__value\" data-inc-theme-label>System</p>\n </div>\n <div class=\"inc-button-group inc-button-group--sm\" role=\"group\" aria-label=\"Theme mode\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"light\">Light</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"dark\">Dark</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"system\">System</button>\n </div>\n <button class=\"inc-btn inc-btn--outline-secondary inc-btn--sm\" type=\"button\" data-inc-theme-toggle>Cycle</button>\n</div>\n\n<div data-inc-theme-switcher data-inc-theme-switcher-block></div>\n\n<script>\n window.IncTheme.setMode(\"dark\");\n</script>\n```",
7
+ "body": "Copy/paste catalog for the standard controls, page framing, metrics, lists, overlays, and markup patterns.\n\nIncursa\n\n Examples\n Dashboard\n Work Queue\n Record Detail\n Native Patterns\n Overlays\n States\n Forms\n Data Grid\n Web Components\n Reference\n\n SM\n\n Sam McAravey\n Administrator\n\n Signed in as Sam McAravey\n Profile\n Preferences\n Sign out\n\n Examples\n Reference\n\n Reference Catalog\n Rendered controls with copyable HTML\n This page is the practical copy/paste surface. Each section shows the rendered result first, then the HTML markup directly below it.\n\n Code View\n Web Components first, HTML + CSS on demand\n\n HTML + CSS\n\n Web Components\n\n Web Components is the default code view on this page. Sections that are still CSS-first are labeled in the viewer so the page stays honest about what exists today.\n\n Theme Switcher\n\n Appearance\n System\n\n Light\n Dark\n System\n\n Cycle\n\n The bundled helper stores the selected mode in localStorage, resolves system against prefers-color-scheme, keeps the root `data-bs-theme` attribute in sync, and can either wire your own controls or mount the packaged switcher into an empty host.\n\n<div class=\"inc-theme-toggle\" data-inc-theme-switcher>\n <div class=\"inc-theme-toggle__label\">\n <p class=\"inc-theme-toggle__title\">Appearance</p>\n <p class=\"inc-theme-toggle__value\" data-inc-theme-label>System</p>\n </div>\n <div class=\"inc-button-group inc-button-group--sm\" role=\"group\" aria-label=\"Theme mode\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"light\">Light</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"dark\">Dark</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"system\">System</button>\n </div>\n <button class=\"inc-btn inc-btn--outline-secondary inc-btn--sm\" type=\"button\" data-inc-theme-toggle>Cycle</button>\n</div>\n\n<div data-inc-theme-switcher data-inc-theme-switcher-block></div>\n\n<script>\n window.IncTheme.setMode(\"dark\");\n</script>\n\n Page Framing\n\n Examples\n Reference\n\n Breadcrumb body wrapper\n Use the canonical page wrapper when you want a breadcrumb strip and body stack without introducing another bespoke shell.\n\n Secondary action\n Primary action\n\n<div class=\"inc-page inc-breadcrumb-body\">\n <div class=\"inc-page__breadcrumbs inc-breadcrumb-body__breadcrumb\">\n <ol class=\"inc-breadcrumb\">\n <li class=\"inc-breadcrumb__item\"><a href=\"./index.html\">Examples</a></li>\n <li class=\"inc-breadcrumb__item active\"><span>Reference</span></li>\n </ol>\n </div>\n <div class=\"inc-page__body inc-breadcrumb-body__body\">\n <div class=\"inc-section-container demo-stack\">\n <section class=\"inc-page-header\">...</section>\n </div>\n </div>\n</div>\n\n Buttons\n\n Primary\n Secondary\n Outline\n Danger\n Warning\n Info\n\n Small\n Micro\n\n Left\n Right\n\n Publishing\n Refreshing\n\n Publishing\n Refreshing\n\n<button class=\"inc-btn inc-btn--primary\" type=\"button\">Primary</button>\n<button class=\"inc-btn inc-btn--secondary\" type=\"button\">Secondary</button>\n<button class=\"inc-btn inc-btn--outline-secondary\" type=\"button\">Outline</button>\n<button class=\"inc-btn inc-btn--danger\" type=\"button\">Danger</button>\n\n<button class=\"inc-btn inc-btn--primary inc-btn--sm\" type=\"button\">Small</button>\n<button class=\"inc-btn inc-btn--secondary inc-btn--micro\" type=\"button\">Micro</button>\n\n<div class=\"inc-button-group inc-button-group--sm\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\">Left</button>\n <button class=\"inc-btn inc-btn--primary\" type=\"button\">Right</button>\n</div>\n\n<button class=\"inc-btn inc-btn--primary is-loading\" type=\"button\">Publishing<span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span></button>\n<button class=\"inc-btn inc-btn--secondary is-loading\" type=\"button\">Refreshing<span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span></button>\n\n<button class=\"inc-btn inc-btn--primary\" type=\"button\" aria-busy=\"true\"><span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span><span>Publishing</span></button>\n<button class=\"inc-btn inc-btn--outline-secondary\" type=\"button\" aria-busy=\"true\"><span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span><span>Refreshing</span></button>\n\n Badges And Alerts\n\n Approved\n Pending\n Rejected\n Imported\n\n Success alert text.\n Information alert text.\n Warning alert text.\n Danger alert text.\n\n<span class=\"inc-badge inc-badge--success inc-badge--pill\">Approved</span>\n<span class=\"inc-badge inc-badge--warning inc-badge--pill\">Pending</span>\n<span class=\"inc-badge inc-badge--danger inc-badge--pill\">Rejected</span>\n<span class=\"inc-badge inc-badge--info inc-badge--pill\">Imported</span>\n\n<div class=\"inc-alert inc-alert--success\">Success alert text.</div>\n<div class=\"inc-alert inc-alert--info\">Information alert text.</div>\n<div class=\"inc-alert inc-alert--warning\">Warning alert text.</div>\n<div class=\"inc-alert inc-alert--danger\">Danger alert text.</div>\n\n Form Fields\n\n Text input\n\n Select\n\n Draft\n In Progress\n Approved\n\n Textarea\n Operator notes go here.\n\n Start date\n\n Attachment\n\n $\n\n Workflow options\n\n Include related documents\n\n Send notifications\n\n Approval route\n\n Fast approval\n\n Standard approval\n\n Search\n\n Owner\n\n AP Team\n Legal Review\n\n Apply\n\n<label class=\"inc-form__label\" for=\"ref-name\">Text input</label>\n<input id=\"ref-name\" class=\"inc-form__control\" type=\"text\">\n\n<label class=\"inc-form__label\" for=\"ref-status\">Select</label>\n<select id=\"ref-status\" class=\"inc-form__select\">\n <option>Draft</option>\n <option selected>In Progress</option>\n</select>\n\n<label class=\"inc-form__label\" for=\"ref-notes\">Textarea</label>\n<textarea id=\"ref-notes\" class=\"inc-form__control\" rows=\"3\"></textarea>\n\n<label class=\"inc-form__label\" for=\"ref-start-date\">Start date</label>\n<input id=\"ref-start-date\" class=\"inc-form__control\" type=\"date\">\n\n<label class=\"inc-form__label\" for=\"ref-attachment\">Attachment</label>\n<input id=\"ref-attachment\" class=\"inc-form__control\" type=\"file\">\n\n<div class=\"inc-input-group\">\n <span class=\"inc-input-group__text\">$</span>\n <input class=\"inc-form__control\" type=\"text\">\n</div>\n\n<fieldset class=\"inc-form__fieldset\">\n <legend class=\"inc-form__legend\">Workflow options</legend>\n <div class=\"inc-form__choices\">\n <div class=\"inc-form__check\">...</div>\n <div class=\"inc-form__check inc-form__switch\">...</div>\n </div>\n</fieldset>\n\n<fieldset class=\"inc-form__fieldset\">\n <legend class=\"inc-form__legend\">Approval route</legend>\n <div class=\"inc-form__choices\">\n <div class=\"inc-form__check\">\n <input class=\"inc-form__check-input\" type=\"radio\" id=\"ref-route-fast\" name=\"ref-route\" checked>\n <label class=\"inc-form__check-label\" for=\"ref-route-fast\">Fast approval</label>\n </div>\n <div class=\"inc-form__check\">\n <input class=\"inc-form__check-input\" type=\"radio\" id=\"ref-route-standard\" name=\"ref-route\">\n <label class=\"inc-form__check-label\" for=\"ref-route-standard\">Standard approval</label>\n </div>\n </div>\n</fieldset>\n\n Cards, Metrics, And Empty States\n\n Total Revenue\n\n $247,832\n\n Active Projects\n\n 12\n In Progress\n\n Exceptions\n\n 4\n\n Open Items\n Updated 10m ago\n\n 18\n\n Queue Health\n\n 92%\n On track\n\n Approvals\n\n 7\n Waiting\n\n Exceptions\n\n 4\n Needs review\n\n No saved views\n Create a named filter set so your operators can reuse it across screens.\n\n Dismiss\n Create View\n\n<section class=\"inc-summary-overview inc-summary-overview--3-col\">\n <article class=\"inc-summary-block\">...</article>\n <article class=\"inc-summary-block\">...</article>\n <article class=\"inc-summary-block\">...</article>\n</section>\n\n<section class=\"inc-summary-overview inc-summary-overview--4-col\">\n <article class=\"inc-summary-block\">\n <div class=\"inc-summary-block__header inc-summary-block__header--with-action\">\n <span>Open Items</span>\n <span class=\"inc-summary-block__header-action\">Updated 10m ago</span>\n </div>\n <div class=\"inc-summary-block__body inc-summary-block__body--left\">\n <div class=\"inc-summary-block__value inc-summary-block__value--large\">18</div>\n </div>\n </article>\n <article class=\"inc-summary-block\">\n <div class=\"inc-summary-block__header\">Queue Health</div>\n <div class=\"inc-summary-block__body inc-summary-block__body--right\">\n <div class=\"inc-summary-block__value inc-summary-block__value--small\">92%</div>\n <span class=\"inc-summary-block__status-badge inc-summary-block__status-badge--approved\">On track</span>\n </div>\n </article>\n <article class=\"inc-summary-block\">...</article>\n <article class=\"inc-summary-block\">...</article>\n</section>\n\n<div class=\"inc-empty-state\">\n <div class=\"inc-empty-state__content\">\n <div class=\"inc-empty-state__icon\" data-inc-icon=\"empty\" aria-hidden=\"true\"></div>\n <h3 class=\"inc-heading inc-heading--h3\">No saved views</h3>\n <p class=\"inc-text inc-text--regular inc-text--muted\">Create a named filter set...</p>\n <div class=\"inc-empty-state__actions\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\">Dismiss</button>\n <button class=\"inc-btn inc-btn--primary\" type=\"button\">Create View</button>\n </div>\n </div>\n</div>\n\n Tabs\n\n Overview\n Aging\n\n Folder tab content.\n\n Second folder tab content.\n\n Needs Review\n Ready\n\n Line tab content.\n\n Second line tab content.\n\n<section class=\"inc-tabs-folder\">\n <ul class=\"inc-tabs-nav\" role=\"tablist\">\n <li><button class=\"inc-tab active\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-folder-overview\">Overview</button></li>\n <li><button class=\"inc-tab\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-folder-aging\">Aging</button></li>\n </ul>\n <div class=\"inc-tab-content\">\n <div class=\"inc-tab-pane active\" id=\"ref-folder-overview\" role=\"tabpanel\">...</div>\n <div class=\"inc-tab-pane\" id=\"ref-folder-aging\" role=\"tabpanel\">...</div>\n </div>\n</section>\n\n<section class=\"inc-tabs-line\">\n <ul class=\"inc-tabs-nav\" role=\"tablist\">\n <li><button class=\"inc-tab active\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-line-one\">Needs Review</button></li>\n <li><button class=\"inc-tab\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-line-two\">Ready</button></li>\n </ul>\n</section>\n\n Sparklines\n\n Simple numeric values\n\n Timestamped benchmark history\n\n Current value marker\n\n Reference line\n\n Benchmark\n Current\n History\n Delta\n\n HTTP/3 plaintext\n 5,510 rps\n\n +3.1%\n\n<inc-sparkline values=\"12,15,14,20,18\" width=\"120\" height=\"28\" aria-label=\"Five point numeric trend\"></inc-sparkline>\n\n<inc-sparkline\n points='[{\"x\":\"2026-06-01\",\"y\":1200},{\"x\":\"2026-06-02\",\"y\":1350}]'\n width=\"120\"\n height=\"28\"\n variant=\"area\"\n tone=\"accent\"\n curve=\"monotone\"\n aria-label=\"Timestamped benchmark history\">\n</inc-sparkline>\n\n<inc-sparkline\n values=\"5120,5400,5310,5600,5510\"\n height=\"28\"\n width=\"120\"\n tone=\"accent\"\n show-last-marker\n aria-label=\"Recent requests per second trend for Incursa HTTP/3 on HTTP plaintext\">\n</inc-sparkline>\n\n<inc-sparkline values=\"-3,-1,2,1,4\" reference-value=\"0\" show-min-max aria-label=\"Mixed positive and negative delta trend\"></inc-sparkline>\n\n Tables And Lists\n\n Project\n Period\n Amount\n Status\n\n AP-2026-00142\n March 2026\n $18,240.22\n Approved\n\n Needs Review\n March Closeout\n Projects Missing Billing Period\n\n Inbox\n Assigned to me\n\n First review pass\n Secondary approval\n Final export\n\n Lien Waiver Package\n Last updated 14 minutes ago\n\n Open\n\n Compliance Exceptions\n 2 unresolved items\n\n Review\n\n<div class=\"inc-table-responsive\">\n <table class=\"inc-table inc-table--sm inc-table--data-table\">\n <thead>...</thead>\n <tbody>\n <tr>\n <td class=\"inc-table__cell inc-table__cell--data\">AP-2026-00142</td>\n <td class=\"inc-table__cell\">March 2026</td>\n <td class=\"inc-table__cell inc-table__cell--numeric\">$18,240.22</td>\n <td class=\"inc-table__cell\"><span class=\"inc-badge inc-badge--success inc-badge--pill\">Approved</span></td>\n </tr>\n </tbody>\n </table>\n</div>\n\n<div class=\"inc-list-group\">\n <a class=\"inc-list-group__item inc-list-group__item--action active\" href=\"#\">Needs Review</a>\n <a class=\"inc-list-group__item inc-list-group__item--action\" href=\"#\">March Closeout</a>\n</div>\n\n<div class=\"inc-list-group inc-list-group--flush\">\n <a class=\"inc-list-group__item inc-list-group__item--action\" href=\"#\">Inbox</a>\n <a class=\"inc-list-group__item inc-list-group__item--action\" href=\"#\">Assigned to me</a>\n</div>\n\n<ol class=\"inc-list-group inc-list-group--numbered\">\n <li class=\"inc-list-group__item\">First review pass</li>\n <li class=\"inc-list-group__item\">Secondary approval</li>\n <li class=\"inc-list-group__item\">Final export</li>\n</ol>\n\n<div class=\"inc-vertical-list inc-vertical-list--compact inc-vertical-list--trim inc-vertical-list--inset\">\n <div class=\"inc-vertical-list__item inc-flex-between\">...</div>\n</div>\n\n Native Controls\n\n Billing summary\n 3 items\n\n Native details\n\n Example disclosure body.\n\n AP\n\n Queue Actions\n Summary-based menu\n\n Quick actions\n Export current view\n Save filter preset\n\n Import completion\n 72%\n\n Data quality\n 74%\n\n Launch Native Dialog\n Launch Native Drawer\n\n<details class=\"inc-disclosure\" open>\n <summary class=\"inc-disclosure__summary\">\n <span class=\"demo-disclosure-title\">\n <span class=\"inc-disclosure__title\">Billing summary</span>\n <span class=\"inc-badge inc-badge--info inc-badge--pill\">3 items</span>\n </span>\n <span class=\"inc-disclosure__meta\">Native details</span>\n </summary>\n <div class=\"inc-disclosure__content\">...</div>\n</details>\n\n<details class=\"inc-native-menu inc-native-menu--block\">\n <summary class=\"inc-native-menu__summary\">\n <span class=\"inc-user-menu__avatar\">AP</span>\n <span class=\"inc-native-menu__section-title\">\n <span class=\"inc-user-menu__name\">Queue Actions</span>\n <span class=\"inc-user-menu__detail\">Summary-based menu</span>\n </span>\n </summary>\n <div class=\"inc-native-menu__panel\">...</div>\n</details>\n\n<progress class=\"inc-progress inc-progress--success\" max=\"100\" value=\"72\">72%</progress>\n<meter class=\"inc-meter inc-meter--warning\" min=\"0\" max=\"100\" low=\"65\" high=\"90\" optimum=\"100\" value=\"74\">74%</meter>\n\n Floating Content\n\n Tooltip text for short hover help.\n\n Popover title\n Popover content can hold short guidance, counts, or a compact callout.\n\n<div class=\"demo-muted-panel position-relative\">\n <div class=\"inc-tooltip show bs-tooltip-auto\" role=\"tooltip\">\n <div class=\"tooltip-arrow\" aria-hidden=\"true\"></div>\n <div class=\"inc-tooltip__inner\">Tooltip text for short hover help.</div>\n </div>\n</div>\n\n<div class=\"demo-muted-panel position-relative\">\n <div class=\"inc-popover show bs-popover-auto\" role=\"tooltip\">\n <div class=\"popover-arrow\" aria-hidden=\"true\"></div>\n <div class=\"inc-popover-header\">Popover title</div>\n <div class=\"inc-popover-body\">Popover content can hold short guidance, counts, or a compact callout.</div>\n </div>\n</div>\n\n Validation And Filter Toolbars\n\n There are 2 issues to fix\n\n Contract number is required.\n Billing period must be selected.\n\n Contract number\n\n Contract number is required.\n\n Export contact\n\n Email looks valid.\n\n Search\n\n Owner\n\n AP Team\n Legal Review\n\n Status: Needs review ×\n Owner: AP Team ×\n\n Save View\n Apply\n\n<div class=\"inc-form__error-summary\">\n <h3 class=\"inc-form__error-summary-title\">There are 2 issues to fix</h3>\n <ul class=\"inc-form__error-summary-list\">\n <li>Contract number is required.</li>\n <li>Billing period must be selected.</li>\n </ul>\n</div>\n\n<div class=\"inc-form__group\">\n <label class=\"inc-form__label inc-form__label--required\" for=\"ref-contract\">Contract number</label>\n <input id=\"ref-contract\" class=\"inc-form__control is-invalid\" type=\"text\" aria-invalid=\"true\">\n <p class=\"inc-form__feedback inc-form__feedback--error\">Contract number is required.</p>\n</div>\n\n<section class=\"inc-filter-bar\">\n <div class=\"inc-filter-bar__main\">...</div>\n <div class=\"inc-filter-bar__actions\">\n <div class=\"inc-filter-bar__chips\">\n <span class=\"inc-filter-chip\">Owner: AP Team</span>\n </div>\n </div>\n</section>\n\n Spacing And Visibility Utilities\n\n inc-u-stack-sm\n Use the utility layer when you need a light spacing or visibility adjustment without pulling in Bootstrap utility classes.\n\n Secondary\n Primary\n\n This alert uses inc-u-hidden-mobile and disappears on smaller screens.\n Common helpers now include stack spacing, gap, padding, hidden/mobile-hidden/desktop-hidden, and visually hidden text.\n\n<div class=\"inc-u-stack-sm\">\n <span class=\"inc-badge inc-badge--info inc-badge--pill\">inc-u-stack-sm</span>\n <p class=\"inc-text inc-text--regular\">Light spacing without Bootstrap utilities.</p>\n <div class=\"demo-chip-row inc-u-gap-sm\">\n <button class=\"inc-btn inc-btn--secondary inc-btn--sm\" type=\"button\">Secondary</button>\n <button class=\"inc-btn inc-btn--primary inc-btn--sm\" type=\"button\">Primary</button>\n </div>\n</div>\n\n<div class=\"inc-alert inc-alert--info inc-u-hidden-mobile\">Hidden on smaller screens.</div>\n\n Table Families\n\n Review Grid\n\n Record\n State\n Amount\n\n AP-142\n Needs Review\n $18,240\n\n AP-148\n Expiring Docs\n $7,882\n\n Analytics Grid\n\n Week\n Approved\n Variance\n\n W10\n 428\n +6.2%\n\n W11\n 447\n +4.4%\n\n Spreadsheet Grid\n\n Line\n Code\n Hours\n\n 001\n FRM-042\n 12.50\n\n 002\n FRM-043\n 8.25\n\n<table class=\"inc-table inc-table--review-grid inc-table--sm\">...</table>\n<table class=\"inc-table inc-table--analytics-grid inc-table--sm\">...</table>\n<table class=\"inc-table inc-table--spreadsheet-grid inc-table--sm\">...</table>\n\n Overlay Workflows\n\n Modal and offcanvas patterns now have a dedicated showcase page with validation, drawer content, and helper-driven open/close behavior.\n\n Open Overlay Showcase\n Compare With Drawer Grid\n\n<button class=\"inc-btn inc-btn--primary\" type=\"button\" data-inc-toggle=\"modal\" data-inc-target=\"#approval-modal\">Open modal</button>\n<button class=\"inc-btn inc-btn--outline-secondary\" type=\"button\" data-inc-toggle=\"offcanvas\" data-inc-target=\"#assignment-drawer\">Open offcanvas</button>\n\n Operational States And Feedback\n\n No results matched\n Distinct from the create-first empty state.\n\n Export failed\n Use a proper failure surface, not just a muted paragraph.\n\n Finance Manager role required\n Show when an action is visible but intentionally unavailable.\n\n View saved\n Use for asynchronous success or background-status messages.\n\n<div class=\"inc-state-panel inc-state-panel--results\">...</div>\n<div class=\"inc-state-panel inc-state-panel--error\">...</div>\n\n<div class=\"inc-permission-banner\">\n <div class=\"inc-permission-banner__icon\" data-inc-icon=\"permission\" aria-hidden=\"true\"></div>\n <div>...</div>\n</div>\n\n<div class=\"inc-toast-stack\">\n <div class=\"inc-toast-card\">...</div>\n</div>\n\n Detail, Timeline, Files, And Grid Patterns\n\n Record Id\n AP-2026-00142\n\n Current request\n $18,240.22\n\n Imported from OpenPay\n\n 8:13 AM\n Nightly sync\n\n Timeline entries combine actor, time, event, and state without falling apart visually.\n\n Drop documents here\n For review workflows with waiver or attachment requirements.\n\n Browse Files\n\n No files selected yet.\n\n 3 rows selected\n\n Reject Selected\n\n<div class=\"inc-key-value-grid\">\n <dl class=\"inc-key-value inc-key-value--card\">\n <dt class=\"inc-key-value__label\">Record Id</dt>\n <dd class=\"inc-key-value__value inc-key-value__value--data\">AP-2026-00142</dd>\n </dl>\n</div>\n\n<div class=\"inc-timeline\">\n <div class=\"inc-timeline__item\">...</div>\n</div>\n\n<div class=\"inc-file-dropzone\">...</div>\n<div class=\"inc-bulk-bar\">...</div>\n\n Auto Refresh Widget\n\n Use the inline modifier inside cards or toolbars, and the base class when you want the widget pinned to the page corner.\n\n Pause\n\n Queue refresh in\n 180s\n\n Refreshing queue\n\n<div class=\"inc-auto-refresh\"\n data-inc-auto-refresh\n data-inc-refresh-seconds=\"30\"\n data-inc-refresh-label=\"Refresh in\"\n data-inc-refresh-loading-label=\"Refreshing\">\n <button class=\"inc-btn inc-btn--secondary inc-btn--micro inc-auto-refresh__toggle\"\n type=\"button\"\n data-inc-action=\"auto-refresh-toggle\"\n aria-label=\"Pause\"\n aria-pressed=\"false\">\n <span class=\"inc-auto-refresh__toggle-icon\" aria-hidden=\"true\"></span>\n <span class=\"inc-auto-refresh__toggle-text\">Pause</span>\n </button>\n <span class=\"inc-auto-refresh__countdown\">\n <span class=\"inc-auto-refresh__label\">Refresh in</span>\n <span class=\"inc-auto-refresh__value\">30s</span>\n </span>\n <span class=\"inc-auto-refresh__status\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" hidden>\n <span class=\"inc-auto-refresh__spinner\" aria-hidden=\"true\">\n <span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm inc-spinner--border--primary\"></span>\n <span class=\"inc-spinner inc-spinner--grow inc-spinner--grow--sm inc-spinner--grow--primary\"></span>\n </span>\n <span class=\"inc-auto-refresh__status-text\">Refreshing</span>\n </span>\n</div>\n\n<div class=\"inc-auto-refresh inc-auto-refresh--inline\"\n data-inc-auto-refresh\n data-inc-refresh-seconds=\"90\">\n ...\n</div>\n\n Copy snippet\n Open docs\n\n Reference page for copy/paste HTML patterns. Web Components are the default code view here, while the class catalog remains authoritative.\n\n Reference Dialog\n Native dialog example for copy/paste use.\n\n ×\n\n This is the minimal dialog shell used on the native page. Copy the outer <dialog>, the surface wrapper, and the form-based footer if you want native close behavior.\n\n Close\n Confirm\n\n Reference Drawer\n Native side sheet example for assignment and note-taking flows.\n\n ×\n\n Record\n AP-2026-00142\n\n Current owner\n AP Team\n\n Routing note\n Route to Legal Review so the W-9 can be validated before export.\n\n Cancel\n Assign\n\nCanonical markup:\n\n```html\n<div class=\"inc-theme-toggle\" data-inc-theme-switcher>\n <div class=\"inc-theme-toggle__label\">\n <p class=\"inc-theme-toggle__title\">Appearance</p>\n <p class=\"inc-theme-toggle__value\" data-inc-theme-label>System</p>\n </div>\n <div class=\"inc-button-group inc-button-group--sm\" role=\"group\" aria-label=\"Theme mode\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"light\">Light</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"dark\">Dark</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"system\">System</button>\n </div>\n <button class=\"inc-btn inc-btn--outline-secondary inc-btn--sm\" type=\"button\" data-inc-theme-toggle>Cycle</button>\n</div>\n\n<div data-inc-theme-switcher data-inc-theme-switcher-block></div>\n\n<script>\n window.IncTheme.setMode(\"dark\");\n</script>\n```",
8
8
  "sourcePaths": [
9
9
  "reference.html"
10
10
  ],
@@ -20,5 +20,5 @@
20
20
  "canonicalMarkup": {
21
21
  "default": "<div class=\"inc-theme-toggle\" data-inc-theme-switcher>\n <div class=\"inc-theme-toggle__label\">\n <p class=\"inc-theme-toggle__title\">Appearance</p>\n <p class=\"inc-theme-toggle__value\" data-inc-theme-label>System</p>\n </div>\n <div class=\"inc-button-group inc-button-group--sm\" role=\"group\" aria-label=\"Theme mode\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"light\">Light</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"dark\">Dark</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"system\">System</button>\n </div>\n <button class=\"inc-btn inc-btn--outline-secondary inc-btn--sm\" type=\"button\" data-inc-theme-toggle>Cycle</button>\n</div>\n\n<div data-inc-theme-switcher data-inc-theme-switcher-block></div>\n\n<script>\n window.IncTheme.setMode(\"dark\");\n</script>"
22
22
  },
23
- "searchText": "Rendered controls with copyable HTML\nCopy/paste catalog for the standard controls, page framing, metrics, lists, overlays, and markup patterns.\nCopy/paste catalog for the standard controls, page framing, metrics, lists, overlays, and markup patterns.\n\nIncursa\n\n Examples\n Dashboard\n Work Queue\n Record Detail\n Native Patterns\n Overlays\n States\n Forms\n Data Grid\n Web Components\n Reference\n\n SM\n\n Sam McAravey\n Administrator\n\n Signed in as Sam McAravey\n Profile\n Preferences\n Sign out\n\n Examples\n Reference\n\n Reference Catalog\n Rendered controls with copyable HTML\n This page is the practical copy/paste surface. Each section shows the rendered result first, then the HTML markup directly below it.\n\n Code View\n Web Components first, HTML + CSS on demand\n\n HTML + CSS\n\n Web Components\n\n Web Components is the default code view on this page. Sections that are still CSS-first are labeled in the viewer so the page stays honest about what exists today.\n\n Theme Switcher\n\n Appearance\n System\n\n Light\n Dark\n System\n\n Cycle\n\n The bundled helper stores the selected mode in localStorage, resolves system against prefers-color-scheme, keeps the root `data-bs-theme` attribute in sync, and can either wire your own controls or mount the packaged switcher into an empty host.\n\n<div class=\"inc-theme-toggle\" data-inc-theme-switcher>\n <div class=\"inc-theme-toggle__label\">\n <p class=\"inc-theme-toggle__title\">Appearance</p>\n <p class=\"inc-theme-toggle__value\" data-inc-theme-label>System</p>\n </div>\n <div class=\"inc-button-group inc-button-group--sm\" role=\"group\" aria-label=\"Theme mode\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"light\">Light</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"dark\">Dark</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"system\">System</button>\n </div>\n <button class=\"inc-btn inc-btn--outline-secondary inc-btn--sm\" type=\"button\" data-inc-theme-toggle>Cycle</button>\n</div>\n\n<div data-inc-theme-switcher data-inc-theme-switcher-block></div>\n\n<script>\n window.IncTheme.setMode(\"dark\");\n</script>\n\n Page Framing\n\n Examples\n Reference\n\n Breadcrumb body wrapper\n Use the canonical page wrapper when you want a breadcrumb strip and body stack without introducing another bespoke shell.\n\n Secondary action\n Primary action\n\n<div class=\"inc-page inc-breadcrumb-body\">\n <div class=\"inc-page__breadcrumbs inc-breadcrumb-body__breadcrumb\">\n <ol class=\"inc-breadcrumb\">\n <li class=\"inc-breadcrumb__item\"><a href=\"./index.html\">Examples</a></li>\n <li class=\"inc-breadcrumb__item active\"><span>Reference</span></li>\n </ol>\n </div>\n <div class=\"inc-page__body inc-breadcrumb-body__body\">\n <div class=\"inc-section-container demo-stack\">\n <section class=\"inc-page-header\">...</section>\n </div>\n </div>\n</div>\n\n Buttons\n\n Primary\n Secondary\n Outline\n Danger\n Warning\n Info\n\n Small\n Micro\n\n Left\n Right\n\n Publishing\n Refreshing\n\n Publishing\n Refreshing\n\n<button class=\"inc-btn inc-btn--primary\" type=\"button\">Primary</button>\n<button class=\"inc-btn inc-btn--secondary\" type=\"button\">Secondary</button>\n<button class=\"inc-btn inc-btn--outline-secondary\" type=\"button\">Outline</button>\n<button class=\"inc-btn inc-btn--danger\" type=\"button\">Danger</button>\n\n<button class=\"inc-btn inc-btn--primary inc-btn--sm\" type=\"button\">Small</button>\n<button class=\"inc-btn inc-btn--secondary inc-btn--micro\" type=\"button\">Micro</button>\n\n<div class=\"inc-button-group inc-button-group--sm\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\">Left</button>\n <button class=\"inc-btn inc-btn--primary\" type=\"button\">Right</button>\n</div>\n\n<button class=\"inc-btn inc-btn--primary is-loading\" type=\"button\">Publishing<span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span></button>\n<button class=\"inc-btn inc-btn--secondary is-loading\" type=\"button\">Refreshing<span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span></button>\n\n<button class=\"inc-btn inc-btn--primary\" type=\"button\" aria-busy=\"true\"><span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span><span>Publishing</span></button>\n<button class=\"inc-btn inc-btn--outline-secondary\" type=\"button\" aria-busy=\"true\"><span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span><span>Refreshing</span></button>\n\n Badges And Alerts\n\n Approved\n Pending\n Rejected\n Imported\n\n Success alert text.\n Information alert text.\n Warning alert text.\n Danger alert text.\n\n<span class=\"inc-badge inc-badge--success inc-badge--pill\">Approved</span>\n<span class=\"inc-badge inc-badge--warning inc-badge--pill\">Pending</span>\n<span class=\"inc-badge inc-badge--danger inc-badge--pill\">Rejected</span>\n<span class=\"inc-badge inc-badge--info inc-badge--pill\">Imported</span>\n\n<div class=\"inc-alert inc-alert--success\">Success alert text.</div>\n<div class=\"inc-alert inc-alert--info\">Information alert text.</div>\n<div class=\"inc-alert inc-alert--warning\">Warning alert text.</div>\n<div class=\"inc-alert inc-alert--danger\">Danger alert text.</div>\n\n Form Fields\n\n Text input\n\n Select\n\n Draft\n In Progress\n Approved\n\n Textarea\n Operator notes go here.\n\n Start date\n\n Attachment\n\n $\n\n Workflow options\n\n Include related documents\n\n Send notifications\n\n Approval route\n\n Fast approval\n\n Standard approval\n\n Search\n\n Owner\n\n AP Team\n Legal Review\n\n Apply\n\n<label class=\"inc-form__label\" for=\"ref-name\">Text input</label>\n<input id=\"ref-name\" class=\"inc-form__control\" type=\"text\">\n\n<label class=\"inc-form__label\" for=\"ref-status\">Select</label>\n<select id=\"ref-status\" class=\"inc-form__select\">\n <option>Draft</option>\n <option selected>In Progress</option>\n</select>\n\n<label class=\"inc-form__label\" for=\"ref-notes\">Textarea</label>\n<textarea id=\"ref-notes\" class=\"inc-form__control\" rows=\"3\"></textarea>\n\n<label class=\"inc-form__label\" for=\"ref-start-date\">Start date</label>\n<input id=\"ref-start-date\" class=\"inc-form__control\" type=\"date\">\n\n<label class=\"inc-form__label\" for=\"ref-attachment\">Attachment</label>\n<input id=\"ref-attachment\" class=\"inc-form__control\" type=\"file\">\n\n<div class=\"inc-input-group\">\n <span class=\"inc-input-group__text\">$</span>\n <input class=\"inc-form__control\" type=\"text\">\n</div>\n\n<fieldset class=\"inc-form__fieldset\">\n <legend class=\"inc-form__legend\">Workflow options</legend>\n <div class=\"inc-form__choices\">\n <div class=\"inc-form__check\">...</div>\n <div class=\"inc-form__check inc-form__switch\">...</div>\n </div>\n</fieldset>\n\n<fieldset class=\"inc-form__fieldset\">\n <legend class=\"inc-form__legend\">Approval route</legend>\n <div class=\"inc-form__choices\">\n <div class=\"inc-form__check\">\n <input class=\"inc-form__check-input\" type=\"radio\" id=\"ref-route-fast\" name=\"ref-route\" checked>\n <label class=\"inc-form__check-label\" for=\"ref-route-fast\">Fast approval</label>\n </div>\n <div class=\"inc-form__check\">\n <input class=\"inc-form__check-input\" type=\"radio\" id=\"ref-route-standard\" name=\"ref-route\">\n <label class=\"inc-form__check-label\" for=\"ref-route-standard\">Standard approval</label>\n </div>\n </div>\n</fieldset>\n\n Cards, Metrics, And Empty States\n\n Total Revenue\n\n $247,832\n\n Active Projects\n\n 12\n In Progress\n\n Exceptions\n\n 4\n\n Open Items\n Updated 10m ago\n\n 18\n\n Queue Health\n\n 92%\n On track\n\n Approvals\n\n 7\n Waiting\n\n Exceptions\n\n 4\n Needs review\n\n No saved views\n Create a named filter set so your operators can reuse it across screens.\n\n Dismiss\n Create View\n\n<section class=\"inc-summary-overview inc-summary-overview--3-col\">\n <article class=\"inc-summary-block\">...</article>\n <article class=\"inc-summary-block\">...</article>\n <article class=\"inc-summary-block\">...</article>\n</section>\n\n<section class=\"inc-summary-overview inc-summary-overview--4-col\">\n <article class=\"inc-summary-block\">\n <div class=\"inc-summary-block__header inc-summary-block__header--with-action\">\n <span>Open Items</span>\n <span class=\"inc-summary-block__header-action\">Updated 10m ago</span>\n </div>\n <div class=\"inc-summary-block__body inc-summary-block__body--left\">\n <div class=\"inc-summary-block__value inc-summary-block__value--large\">18</div>\n </div>\n </article>\n <article class=\"inc-summary-block\">\n <div class=\"inc-summary-block__header\">Queue Health</div>\n <div class=\"inc-summary-block__body inc-summary-block__body--right\">\n <div class=\"inc-summary-block__value inc-summary-block__value--small\">92%</div>\n <span class=\"inc-summary-block__status-badge inc-summary-block__status-badge--approved\">On track</span>\n </div>\n </article>\n <article class=\"inc-summary-block\">...</article>\n <article class=\"inc-summary-block\">...</article>\n</section>\n\n<div class=\"inc-empty-state\">\n <div class=\"inc-empty-state__content\">\n <div class=\"inc-empty-state__icon\" data-inc-icon=\"empty\" aria-hidden=\"true\"></div>\n <h3 class=\"inc-heading inc-heading--h3\">No saved views</h3>\n <p class=\"inc-text inc-text--regular inc-text--muted\">Create a named filter set...</p>\n <div class=\"inc-empty-state__actions\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\">Dismiss</button>\n <button class=\"inc-btn inc-btn--primary\" type=\"button\">Create View</button>\n </div>\n </div>\n</div>\n\n Tabs\n\n Overview\n Aging\n\n Folder tab content.\n\n Second folder tab content.\n\n Needs Review\n Ready\n\n Line tab content.\n\n Second line tab content.\n\n<section class=\"inc-tabs-folder\">\n <ul class=\"inc-tabs-nav\" role=\"tablist\">\n <li><button class=\"inc-tab active\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-folder-overview\">Overview</button></li>\n <li><button class=\"inc-tab\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-folder-aging\">Aging</button></li>\n </ul>\n <div class=\"inc-tab-content\">\n <div class=\"inc-tab-pane active\" id=\"ref-folder-overview\" role=\"tabpanel\">...</div>\n <div class=\"inc-tab-pane\" id=\"ref-folder-aging\" role=\"tabpanel\">...</div>\n </div>\n</section>\n\n<section class=\"inc-tabs-line\">\n <ul class=\"inc-tabs-nav\" role=\"tablist\">\n <li><button class=\"inc-tab active\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-line-one\">Needs Review</button></li>\n <li><button class=\"inc-tab\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-line-two\">Ready</button></li>\n </ul>\n</section>\n\n Tables And Lists\n\n Project\n Period\n Amount\n Status\n\n AP-2026-00142\n March 2026\n $18,240.22\n Approved\n\n Needs Review\n March Closeout\n Projects Missing Billing Period\n\n Inbox\n Assigned to me\n\n First review pass\n Secondary approval\n Final export\n\n Lien Waiver Package\n Last updated 14 minutes ago\n\n Open\n\n Compliance Exceptions\n 2 unresolved items\n\n Review\n\n<div class=\"inc-table-responsive\">\n <table class=\"inc-table inc-table--sm inc-table--data-table\">\n <thead>...</thead>\n <tbody>\n <tr>\n <td class=\"inc-table__cell inc-table__cell--data\">AP-2026-00142</td>\n <td class=\"inc-table__cell\">March 2026</td>\n <td class=\"inc-table__cell inc-table__cell--numeric\">$18,240.22</td>\n <td class=\"inc-table__cell\"><span class=\"inc-badge inc-badge--success inc-badge--pill\">Approved</span></td>\n </tr>\n </tbody>\n </table>\n</div>\n\n<div class=\"inc-list-group\">\n <a class=\"inc-list-group__item inc-list-group__item--action active\" href=\"#\">Needs Review</a>\n <a class=\"inc-list-group__item inc-list-group__item--action\" href=\"#\">March Closeout</a>\n</div>\n\n<div class=\"inc-list-group inc-list-group--flush\">\n <a class=\"inc-list-group__item inc-list-group__item--action\" href=\"#\">Inbox</a>\n <a class=\"inc-list-group__item inc-list-group__item--action\" href=\"#\">Assigned to me</a>\n</div>\n\n<ol class=\"inc-list-group inc-list-group--numbered\">\n <li class=\"inc-list-group__item\">First review pass</li>\n <li class=\"inc-list-group__item\">Secondary approval</li>\n <li class=\"inc-list-group__item\">Final export</li>\n</ol>\n\n<div class=\"inc-vertical-list inc-vertical-list--compact inc-vertical-list--trim inc-vertical-list--inset\">\n <div class=\"inc-vertical-list__item inc-flex-between\">...</div>\n</div>\n\n Native Controls\n\n Billing summary\n 3 items\n\n Native details\n\n Example disclosure body.\n\n AP\n\n Queue Actions\n Summary-based menu\n\n Quick actions\n Export current view\n Save filter preset\n\n Import completion\n 72%\n\n Data quality\n 74%\n\n Launch Native Dialog\n Launch Native Drawer\n\n<details class=\"inc-disclosure\" open>\n <summary class=\"inc-disclosure__summary\">\n <span class=\"demo-disclosure-title\">\n <span class=\"inc-disclosure__title\">Billing summary</span>\n <span class=\"inc-badge inc-badge--info inc-badge--pill\">3 items</span>\n </span>\n <span class=\"inc-disclosure__meta\">Native details</span>\n </summary>\n <div class=\"inc-disclosure__content\">...</div>\n</details>\n\n<details class=\"inc-native-menu inc-native-menu--block\">\n <summary class=\"inc-native-menu__summary\">\n <span class=\"inc-user-menu__avatar\">AP</span>\n <span class=\"inc-native-menu__section-title\">\n <span class=\"inc-user-menu__name\">Queue Actions</span>\n <span class=\"inc-user-menu__detail\">Summary-based menu</span>\n </span>\n </summary>\n <div class=\"inc-native-menu__panel\">...</div>\n</details>\n\n<progress class=\"inc-progress inc-progress--success\" max=\"100\" value=\"72\">72%</progress>\n<meter class=\"inc-meter inc-meter--warning\" min=\"0\" max=\"100\" low=\"65\" high=\"90\" optimum=\"100\" value=\"74\">74%</meter>\n\n Floating Content\n\n Tooltip text for short hover help.\n\n Popover title\n Popover content can hold short guidance, counts, or a compact callout.\n\n<div class=\"demo-muted-panel position-relative\">\n <div class=\"inc-tooltip show bs-tooltip-auto\" role=\"tooltip\">\n <div class=\"tooltip-arrow\" aria-hidden=\"true\"></div>\n <div class=\"inc-tooltip__inner\">Tooltip text for short hover help.</div>\n </div>\n</div>\n\n<div class=\"demo-muted-panel position-relative\">\n <div class=\"inc-popover show bs-popover-auto\" role=\"tooltip\">\n <div class=\"popover-arrow\" aria-hidden=\"true\"></div>\n <div class=\"inc-popover-header\">Popover title</div>\n <div class=\"inc-popover-body\">Popover content can hold short guidance, counts, or a compact callout.</div>\n </div>\n</div>\n\n Validation And Filter Toolbars\n\n There are 2 issues to fix\n\n Contract number is required.\n Billing period must be selected.\n\n Contract number\n\n Contract number is required.\n\n Export contact\n\n Email looks valid.\n\n Search\n\n Owner\n\n AP Team\n Legal Review\n\n Status: Needs review ×\n Owner: AP Team ×\n\n Save View\n Apply\n\n<div class=\"inc-form__error-summary\">\n <h3 class=\"inc-form__error-summary-title\">There are 2 issues to fix</h3>\n <ul class=\"inc-form__error-summary-list\">\n <li>Contract number is required.</li>\n <li>Billing period must be selected.</li>\n </ul>\n</div>\n\n<div class=\"inc-form__group\">\n <label class=\"inc-form__label inc-form__label--required\" for=\"ref-contract\">Contract number</label>\n <input id=\"ref-contract\" class=\"inc-form__control is-invalid\" type=\"text\" aria-invalid=\"true\">\n <p class=\"inc-form__feedback inc-form__feedback--error\">Contract number is required.</p>\n</div>\n\n<section class=\"inc-filter-bar\">\n <div class=\"inc-filter-bar__main\">...</div>\n <div class=\"inc-filter-bar__actions\">\n <div class=\"inc-filter-bar__chips\">\n <span class=\"inc-filter-chip\">Owner: AP Team</span>\n </div>\n </div>\n</section>\n\n Spacing And Visibility Utilities\n\n inc-u-stack-sm\n Use the utility layer when you need a light spacing or visibility adjustment without pulling in Bootstrap utility classes.\n\n Secondary\n Primary\n\n This alert uses inc-u-hidden-mobile and disappears on smaller screens.\n Common helpers now include stack spacing, gap, padding, hidden/mobile-hidden/desktop-hidden, and visually hidden text.\n\n<div class=\"inc-u-stack-sm\">\n <span class=\"inc-badge inc-badge--info inc-badge--pill\">inc-u-stack-sm</span>\n <p class=\"inc-text inc-text--regular\">Light spacing without Bootstrap utilities.</p>\n <div class=\"demo-chip-row inc-u-gap-sm\">\n <button class=\"inc-btn inc-btn--secondary inc-btn--sm\" type=\"button\">Secondary</button>\n <button class=\"inc-btn inc-btn--primary inc-btn--sm\" type=\"button\">Primary</button>\n </div>\n</div>\n\n<div class=\"inc-alert inc-alert--info inc-u-hidden-mobile\">Hidden on smaller screens.</div>\n\n Table Families\n\n Review Grid\n\n Record\n State\n Amount\n\n AP-142\n Needs Review\n $18,240\n\n AP-148\n Expiring Docs\n $7,882\n\n Analytics Grid\n\n Week\n Approved\n Variance\n\n W10\n 428\n +6.2%\n\n W11\n 447\n +4.4%\n\n Spreadsheet Grid\n\n Line\n Code\n Hours\n\n 001\n FRM-042\n 12.50\n\n 002\n FRM-043\n 8.25\n\n<table class=\"inc-table inc-table--review-grid inc-table--sm\">...</table>\n<table class=\"inc-table inc-table--analytics-grid inc-table--sm\">...</table>\n<table class=\"inc-table inc-table--spreadsheet-grid inc-table--sm\">...</table>\n\n Overlay Workflows\n\n Modal and offcanvas patterns now have a dedicated showcase page with validation, drawer content, and helper-driven open/close behavior.\n\n Open Overlay Showcase\n Compare With Drawer Grid\n\n<button class=\"inc-btn inc-btn--primary\" type=\"button\" data-inc-toggle=\"modal\" data-inc-target=\"#approval-modal\">Open modal</button>\n<button class=\"inc-btn inc-btn--outline-secondary\" type=\"button\" data-inc-toggle=\"offcanvas\" data-inc-target=\"#assignment-drawer\">Open offcanvas</button>\n\n Operational States And Feedback\n\n No results matched\n Distinct from the create-first empty state.\n\n Export failed\n Use a proper failure surface, not just a muted paragraph.\n\n Finance Manager role required\n Show when an action is visible but intentionally unavailable.\n\n View saved\n Use for asynchronous success or background-status messages.\n\n<div class=\"inc-state-panel inc-state-panel--results\">...</div>\n<div class=\"inc-state-panel inc-state-panel--error\">...</div>\n\n<div class=\"inc-permission-banner\">\n <div class=\"inc-permission-banner__icon\" data-inc-icon=\"permission\" aria-hidden=\"true\"></div>\n <div>...</div>\n</div>\n\n<div class=\"inc-toast-stack\">\n <div class=\"inc-toast-card\">...</div>\n</div>\n\n Detail, Timeline, Files, And Grid Patterns\n\n Record Id\n AP-2026-00142\n\n Current request\n $18,240.22\n\n Imported from OpenPay\n\n 8:13 AM\n Nightly sync\n\n Timeline entries combine actor, time, event, and state without falling apart visually.\n\n Drop documents here\n For review workflows with waiver or attachment requirements.\n\n Browse Files\n\n No files selected yet.\n\n 3 rows selected\n\n Reject Selected\n\n<div class=\"inc-key-value-grid\">\n <dl class=\"inc-key-value inc-key-value--card\">\n <dt class=\"inc-key-value__label\">Record Id</dt>\n <dd class=\"inc-key-value__value inc-key-value__value--data\">AP-2026-00142</dd>\n </dl>\n</div>\n\n<div class=\"inc-timeline\">\n <div class=\"inc-timeline__item\">...</div>\n</div>\n\n<div class=\"inc-file-dropzone\">...</div>\n<div class=\"inc-bulk-bar\">...</div>\n\n Auto Refresh Widget\n\n Use the inline modifier inside cards or toolbars, and the base class when you want the widget pinned to the page corner.\n\n Pause\n\n Queue refresh in\n 180s\n\n Refreshing queue\n\n<div class=\"inc-auto-refresh\"\n data-inc-auto-refresh\n data-inc-refresh-seconds=\"30\"\n data-inc-refresh-label=\"Refresh in\"\n data-inc-refresh-loading-label=\"Refreshing\">\n <button class=\"inc-btn inc-btn--secondary inc-btn--micro inc-auto-refresh__toggle\"\n type=\"button\"\n data-inc-action=\"auto-refresh-toggle\"\n aria-label=\"Pause\"\n aria-pressed=\"false\">\n <span class=\"inc-auto-refresh__toggle-icon\" aria-hidden=\"true\"></span>\n <span class=\"inc-auto-refresh__toggle-text\">Pause</span>\n </button>\n <span class=\"inc-auto-refresh__countdown\">\n <span class=\"inc-auto-refresh__label\">Refresh in</span>\n <span class=\"inc-auto-refresh__value\">30s</span>\n </span>\n <span class=\"inc-auto-refresh__status\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" hidden>\n <span class=\"inc-auto-refresh__spinner\" aria-hidden=\"true\">\n <span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm inc-spinner--border--primary\"></span>\n <span class=\"inc-spinner inc-spinner--grow inc-spinner--grow--sm inc-spinner--grow--primary\"></span>\n </span>\n <span class=\"inc-auto-refresh__status-text\">Refreshing</span>\n </span>\n</div>\n\n<div class=\"inc-auto-refresh inc-auto-refresh--inline\"\n data-inc-auto-refresh\n data-inc-refresh-seconds=\"90\">\n ...\n</div>\n\n Copy snippet\n Open docs\n\n Reference page for copy/paste HTML patterns. Web Components are the default code view here, while the class catalog remains authoritative.\n\n Reference Dialog\n Native dialog example for copy/paste use.\n\n ×\n\n This is the minimal dialog shell used on the native page. Copy the outer <dialog>, the surface wrapper, and the form-based footer if you want native close behavior.\n\n Close\n Confirm\n\n Reference Drawer\n Native side sheet example for assignment and note-taking flows.\n\n ×\n\n Record\n AP-2026-00142\n\n Current owner\n AP Team\n\n Routing note\n Route to Legal Review so the W-9 can be validated before export.\n\n Cancel\n Assign\n\nCanonical markup:\n\n```html\n<div class=\"inc-theme-toggle\" data-inc-theme-switcher>\n <div class=\"inc-theme-toggle__label\">\n <p class=\"inc-theme-toggle__title\">Appearance</p>\n <p class=\"inc-theme-toggle__value\" data-inc-theme-label>System</p>\n </div>\n <div class=\"inc-button-group inc-button-group--sm\" role=\"group\" aria-label=\"Theme mode\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"light\">Light</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"dark\">Dark</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"system\">System</button>\n </div>\n <button class=\"inc-btn inc-btn--outline-secondary inc-btn--sm\" type=\"button\" data-inc-theme-toggle>Cycle</button>\n</div>\n\n<div data-inc-theme-switcher data-inc-theme-switcher-block></div>\n\n<script>\n window.IncTheme.setMode(\"dark\");\n</script>\n```\n<div class=\"inc-theme-toggle\" data-inc-theme-switcher>\n <div class=\"inc-theme-toggle__label\">\n <p class=\"inc-theme-toggle__title\">Appearance</p>\n <p class=\"inc-theme-toggle__value\" data-inc-theme-label>System</p>\n </div>\n <div class=\"inc-button-group inc-button-group--sm\" role=\"group\" aria-label=\"Theme mode\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"light\">Light</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"dark\">Dark</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"system\">System</button>\n </div>\n <button class=\"inc-btn inc-btn--outline-secondary inc-btn--sm\" type=\"button\" data-inc-theme-toggle>Cycle</button>\n</div>\n\n<div data-inc-theme-switcher data-inc-theme-switcher-block></div>\n\n<script>\n window.IncTheme.setMode(\"dark\");\n</script>\nreference catalog\nreference page\nreference.html"
23
+ "searchText": "Rendered controls with copyable HTML\nCopy/paste catalog for the standard controls, page framing, metrics, lists, overlays, and markup patterns.\nCopy/paste catalog for the standard controls, page framing, metrics, lists, overlays, and markup patterns.\n\nIncursa\n\n Examples\n Dashboard\n Work Queue\n Record Detail\n Native Patterns\n Overlays\n States\n Forms\n Data Grid\n Web Components\n Reference\n\n SM\n\n Sam McAravey\n Administrator\n\n Signed in as Sam McAravey\n Profile\n Preferences\n Sign out\n\n Examples\n Reference\n\n Reference Catalog\n Rendered controls with copyable HTML\n This page is the practical copy/paste surface. Each section shows the rendered result first, then the HTML markup directly below it.\n\n Code View\n Web Components first, HTML + CSS on demand\n\n HTML + CSS\n\n Web Components\n\n Web Components is the default code view on this page. Sections that are still CSS-first are labeled in the viewer so the page stays honest about what exists today.\n\n Theme Switcher\n\n Appearance\n System\n\n Light\n Dark\n System\n\n Cycle\n\n The bundled helper stores the selected mode in localStorage, resolves system against prefers-color-scheme, keeps the root `data-bs-theme` attribute in sync, and can either wire your own controls or mount the packaged switcher into an empty host.\n\n<div class=\"inc-theme-toggle\" data-inc-theme-switcher>\n <div class=\"inc-theme-toggle__label\">\n <p class=\"inc-theme-toggle__title\">Appearance</p>\n <p class=\"inc-theme-toggle__value\" data-inc-theme-label>System</p>\n </div>\n <div class=\"inc-button-group inc-button-group--sm\" role=\"group\" aria-label=\"Theme mode\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"light\">Light</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"dark\">Dark</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"system\">System</button>\n </div>\n <button class=\"inc-btn inc-btn--outline-secondary inc-btn--sm\" type=\"button\" data-inc-theme-toggle>Cycle</button>\n</div>\n\n<div data-inc-theme-switcher data-inc-theme-switcher-block></div>\n\n<script>\n window.IncTheme.setMode(\"dark\");\n</script>\n\n Page Framing\n\n Examples\n Reference\n\n Breadcrumb body wrapper\n Use the canonical page wrapper when you want a breadcrumb strip and body stack without introducing another bespoke shell.\n\n Secondary action\n Primary action\n\n<div class=\"inc-page inc-breadcrumb-body\">\n <div class=\"inc-page__breadcrumbs inc-breadcrumb-body__breadcrumb\">\n <ol class=\"inc-breadcrumb\">\n <li class=\"inc-breadcrumb__item\"><a href=\"./index.html\">Examples</a></li>\n <li class=\"inc-breadcrumb__item active\"><span>Reference</span></li>\n </ol>\n </div>\n <div class=\"inc-page__body inc-breadcrumb-body__body\">\n <div class=\"inc-section-container demo-stack\">\n <section class=\"inc-page-header\">...</section>\n </div>\n </div>\n</div>\n\n Buttons\n\n Primary\n Secondary\n Outline\n Danger\n Warning\n Info\n\n Small\n Micro\n\n Left\n Right\n\n Publishing\n Refreshing\n\n Publishing\n Refreshing\n\n<button class=\"inc-btn inc-btn--primary\" type=\"button\">Primary</button>\n<button class=\"inc-btn inc-btn--secondary\" type=\"button\">Secondary</button>\n<button class=\"inc-btn inc-btn--outline-secondary\" type=\"button\">Outline</button>\n<button class=\"inc-btn inc-btn--danger\" type=\"button\">Danger</button>\n\n<button class=\"inc-btn inc-btn--primary inc-btn--sm\" type=\"button\">Small</button>\n<button class=\"inc-btn inc-btn--secondary inc-btn--micro\" type=\"button\">Micro</button>\n\n<div class=\"inc-button-group inc-button-group--sm\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\">Left</button>\n <button class=\"inc-btn inc-btn--primary\" type=\"button\">Right</button>\n</div>\n\n<button class=\"inc-btn inc-btn--primary is-loading\" type=\"button\">Publishing<span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span></button>\n<button class=\"inc-btn inc-btn--secondary is-loading\" type=\"button\">Refreshing<span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span></button>\n\n<button class=\"inc-btn inc-btn--primary\" type=\"button\" aria-busy=\"true\"><span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span><span>Publishing</span></button>\n<button class=\"inc-btn inc-btn--outline-secondary\" type=\"button\" aria-busy=\"true\"><span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm\" aria-hidden=\"true\"></span><span>Refreshing</span></button>\n\n Badges And Alerts\n\n Approved\n Pending\n Rejected\n Imported\n\n Success alert text.\n Information alert text.\n Warning alert text.\n Danger alert text.\n\n<span class=\"inc-badge inc-badge--success inc-badge--pill\">Approved</span>\n<span class=\"inc-badge inc-badge--warning inc-badge--pill\">Pending</span>\n<span class=\"inc-badge inc-badge--danger inc-badge--pill\">Rejected</span>\n<span class=\"inc-badge inc-badge--info inc-badge--pill\">Imported</span>\n\n<div class=\"inc-alert inc-alert--success\">Success alert text.</div>\n<div class=\"inc-alert inc-alert--info\">Information alert text.</div>\n<div class=\"inc-alert inc-alert--warning\">Warning alert text.</div>\n<div class=\"inc-alert inc-alert--danger\">Danger alert text.</div>\n\n Form Fields\n\n Text input\n\n Select\n\n Draft\n In Progress\n Approved\n\n Textarea\n Operator notes go here.\n\n Start date\n\n Attachment\n\n $\n\n Workflow options\n\n Include related documents\n\n Send notifications\n\n Approval route\n\n Fast approval\n\n Standard approval\n\n Search\n\n Owner\n\n AP Team\n Legal Review\n\n Apply\n\n<label class=\"inc-form__label\" for=\"ref-name\">Text input</label>\n<input id=\"ref-name\" class=\"inc-form__control\" type=\"text\">\n\n<label class=\"inc-form__label\" for=\"ref-status\">Select</label>\n<select id=\"ref-status\" class=\"inc-form__select\">\n <option>Draft</option>\n <option selected>In Progress</option>\n</select>\n\n<label class=\"inc-form__label\" for=\"ref-notes\">Textarea</label>\n<textarea id=\"ref-notes\" class=\"inc-form__control\" rows=\"3\"></textarea>\n\n<label class=\"inc-form__label\" for=\"ref-start-date\">Start date</label>\n<input id=\"ref-start-date\" class=\"inc-form__control\" type=\"date\">\n\n<label class=\"inc-form__label\" for=\"ref-attachment\">Attachment</label>\n<input id=\"ref-attachment\" class=\"inc-form__control\" type=\"file\">\n\n<div class=\"inc-input-group\">\n <span class=\"inc-input-group__text\">$</span>\n <input class=\"inc-form__control\" type=\"text\">\n</div>\n\n<fieldset class=\"inc-form__fieldset\">\n <legend class=\"inc-form__legend\">Workflow options</legend>\n <div class=\"inc-form__choices\">\n <div class=\"inc-form__check\">...</div>\n <div class=\"inc-form__check inc-form__switch\">...</div>\n </div>\n</fieldset>\n\n<fieldset class=\"inc-form__fieldset\">\n <legend class=\"inc-form__legend\">Approval route</legend>\n <div class=\"inc-form__choices\">\n <div class=\"inc-form__check\">\n <input class=\"inc-form__check-input\" type=\"radio\" id=\"ref-route-fast\" name=\"ref-route\" checked>\n <label class=\"inc-form__check-label\" for=\"ref-route-fast\">Fast approval</label>\n </div>\n <div class=\"inc-form__check\">\n <input class=\"inc-form__check-input\" type=\"radio\" id=\"ref-route-standard\" name=\"ref-route\">\n <label class=\"inc-form__check-label\" for=\"ref-route-standard\">Standard approval</label>\n </div>\n </div>\n</fieldset>\n\n Cards, Metrics, And Empty States\n\n Total Revenue\n\n $247,832\n\n Active Projects\n\n 12\n In Progress\n\n Exceptions\n\n 4\n\n Open Items\n Updated 10m ago\n\n 18\n\n Queue Health\n\n 92%\n On track\n\n Approvals\n\n 7\n Waiting\n\n Exceptions\n\n 4\n Needs review\n\n No saved views\n Create a named filter set so your operators can reuse it across screens.\n\n Dismiss\n Create View\n\n<section class=\"inc-summary-overview inc-summary-overview--3-col\">\n <article class=\"inc-summary-block\">...</article>\n <article class=\"inc-summary-block\">...</article>\n <article class=\"inc-summary-block\">...</article>\n</section>\n\n<section class=\"inc-summary-overview inc-summary-overview--4-col\">\n <article class=\"inc-summary-block\">\n <div class=\"inc-summary-block__header inc-summary-block__header--with-action\">\n <span>Open Items</span>\n <span class=\"inc-summary-block__header-action\">Updated 10m ago</span>\n </div>\n <div class=\"inc-summary-block__body inc-summary-block__body--left\">\n <div class=\"inc-summary-block__value inc-summary-block__value--large\">18</div>\n </div>\n </article>\n <article class=\"inc-summary-block\">\n <div class=\"inc-summary-block__header\">Queue Health</div>\n <div class=\"inc-summary-block__body inc-summary-block__body--right\">\n <div class=\"inc-summary-block__value inc-summary-block__value--small\">92%</div>\n <span class=\"inc-summary-block__status-badge inc-summary-block__status-badge--approved\">On track</span>\n </div>\n </article>\n <article class=\"inc-summary-block\">...</article>\n <article class=\"inc-summary-block\">...</article>\n</section>\n\n<div class=\"inc-empty-state\">\n <div class=\"inc-empty-state__content\">\n <div class=\"inc-empty-state__icon\" data-inc-icon=\"empty\" aria-hidden=\"true\"></div>\n <h3 class=\"inc-heading inc-heading--h3\">No saved views</h3>\n <p class=\"inc-text inc-text--regular inc-text--muted\">Create a named filter set...</p>\n <div class=\"inc-empty-state__actions\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\">Dismiss</button>\n <button class=\"inc-btn inc-btn--primary\" type=\"button\">Create View</button>\n </div>\n </div>\n</div>\n\n Tabs\n\n Overview\n Aging\n\n Folder tab content.\n\n Second folder tab content.\n\n Needs Review\n Ready\n\n Line tab content.\n\n Second line tab content.\n\n<section class=\"inc-tabs-folder\">\n <ul class=\"inc-tabs-nav\" role=\"tablist\">\n <li><button class=\"inc-tab active\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-folder-overview\">Overview</button></li>\n <li><button class=\"inc-tab\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-folder-aging\">Aging</button></li>\n </ul>\n <div class=\"inc-tab-content\">\n <div class=\"inc-tab-pane active\" id=\"ref-folder-overview\" role=\"tabpanel\">...</div>\n <div class=\"inc-tab-pane\" id=\"ref-folder-aging\" role=\"tabpanel\">...</div>\n </div>\n</section>\n\n<section class=\"inc-tabs-line\">\n <ul class=\"inc-tabs-nav\" role=\"tablist\">\n <li><button class=\"inc-tab active\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-line-one\">Needs Review</button></li>\n <li><button class=\"inc-tab\" type=\"button\" data-inc-toggle=\"tab\" data-inc-target=\"#ref-line-two\">Ready</button></li>\n </ul>\n</section>\n\n Sparklines\n\n Simple numeric values\n\n Timestamped benchmark history\n\n Current value marker\n\n Reference line\n\n Benchmark\n Current\n History\n Delta\n\n HTTP/3 plaintext\n 5,510 rps\n\n +3.1%\n\n<inc-sparkline values=\"12,15,14,20,18\" width=\"120\" height=\"28\" aria-label=\"Five point numeric trend\"></inc-sparkline>\n\n<inc-sparkline\n points='[{\"x\":\"2026-06-01\",\"y\":1200},{\"x\":\"2026-06-02\",\"y\":1350}]'\n width=\"120\"\n height=\"28\"\n variant=\"area\"\n tone=\"accent\"\n curve=\"monotone\"\n aria-label=\"Timestamped benchmark history\">\n</inc-sparkline>\n\n<inc-sparkline\n values=\"5120,5400,5310,5600,5510\"\n height=\"28\"\n width=\"120\"\n tone=\"accent\"\n show-last-marker\n aria-label=\"Recent requests per second trend for Incursa HTTP/3 on HTTP plaintext\">\n</inc-sparkline>\n\n<inc-sparkline values=\"-3,-1,2,1,4\" reference-value=\"0\" show-min-max aria-label=\"Mixed positive and negative delta trend\"></inc-sparkline>\n\n Tables And Lists\n\n Project\n Period\n Amount\n Status\n\n AP-2026-00142\n March 2026\n $18,240.22\n Approved\n\n Needs Review\n March Closeout\n Projects Missing Billing Period\n\n Inbox\n Assigned to me\n\n First review pass\n Secondary approval\n Final export\n\n Lien Waiver Package\n Last updated 14 minutes ago\n\n Open\n\n Compliance Exceptions\n 2 unresolved items\n\n Review\n\n<div class=\"inc-table-responsive\">\n <table class=\"inc-table inc-table--sm inc-table--data-table\">\n <thead>...</thead>\n <tbody>\n <tr>\n <td class=\"inc-table__cell inc-table__cell--data\">AP-2026-00142</td>\n <td class=\"inc-table__cell\">March 2026</td>\n <td class=\"inc-table__cell inc-table__cell--numeric\">$18,240.22</td>\n <td class=\"inc-table__cell\"><span class=\"inc-badge inc-badge--success inc-badge--pill\">Approved</span></td>\n </tr>\n </tbody>\n </table>\n</div>\n\n<div class=\"inc-list-group\">\n <a class=\"inc-list-group__item inc-list-group__item--action active\" href=\"#\">Needs Review</a>\n <a class=\"inc-list-group__item inc-list-group__item--action\" href=\"#\">March Closeout</a>\n</div>\n\n<div class=\"inc-list-group inc-list-group--flush\">\n <a class=\"inc-list-group__item inc-list-group__item--action\" href=\"#\">Inbox</a>\n <a class=\"inc-list-group__item inc-list-group__item--action\" href=\"#\">Assigned to me</a>\n</div>\n\n<ol class=\"inc-list-group inc-list-group--numbered\">\n <li class=\"inc-list-group__item\">First review pass</li>\n <li class=\"inc-list-group__item\">Secondary approval</li>\n <li class=\"inc-list-group__item\">Final export</li>\n</ol>\n\n<div class=\"inc-vertical-list inc-vertical-list--compact inc-vertical-list--trim inc-vertical-list--inset\">\n <div class=\"inc-vertical-list__item inc-flex-between\">...</div>\n</div>\n\n Native Controls\n\n Billing summary\n 3 items\n\n Native details\n\n Example disclosure body.\n\n AP\n\n Queue Actions\n Summary-based menu\n\n Quick actions\n Export current view\n Save filter preset\n\n Import completion\n 72%\n\n Data quality\n 74%\n\n Launch Native Dialog\n Launch Native Drawer\n\n<details class=\"inc-disclosure\" open>\n <summary class=\"inc-disclosure__summary\">\n <span class=\"demo-disclosure-title\">\n <span class=\"inc-disclosure__title\">Billing summary</span>\n <span class=\"inc-badge inc-badge--info inc-badge--pill\">3 items</span>\n </span>\n <span class=\"inc-disclosure__meta\">Native details</span>\n </summary>\n <div class=\"inc-disclosure__content\">...</div>\n</details>\n\n<details class=\"inc-native-menu inc-native-menu--block\">\n <summary class=\"inc-native-menu__summary\">\n <span class=\"inc-user-menu__avatar\">AP</span>\n <span class=\"inc-native-menu__section-title\">\n <span class=\"inc-user-menu__name\">Queue Actions</span>\n <span class=\"inc-user-menu__detail\">Summary-based menu</span>\n </span>\n </summary>\n <div class=\"inc-native-menu__panel\">...</div>\n</details>\n\n<progress class=\"inc-progress inc-progress--success\" max=\"100\" value=\"72\">72%</progress>\n<meter class=\"inc-meter inc-meter--warning\" min=\"0\" max=\"100\" low=\"65\" high=\"90\" optimum=\"100\" value=\"74\">74%</meter>\n\n Floating Content\n\n Tooltip text for short hover help.\n\n Popover title\n Popover content can hold short guidance, counts, or a compact callout.\n\n<div class=\"demo-muted-panel position-relative\">\n <div class=\"inc-tooltip show bs-tooltip-auto\" role=\"tooltip\">\n <div class=\"tooltip-arrow\" aria-hidden=\"true\"></div>\n <div class=\"inc-tooltip__inner\">Tooltip text for short hover help.</div>\n </div>\n</div>\n\n<div class=\"demo-muted-panel position-relative\">\n <div class=\"inc-popover show bs-popover-auto\" role=\"tooltip\">\n <div class=\"popover-arrow\" aria-hidden=\"true\"></div>\n <div class=\"inc-popover-header\">Popover title</div>\n <div class=\"inc-popover-body\">Popover content can hold short guidance, counts, or a compact callout.</div>\n </div>\n</div>\n\n Validation And Filter Toolbars\n\n There are 2 issues to fix\n\n Contract number is required.\n Billing period must be selected.\n\n Contract number\n\n Contract number is required.\n\n Export contact\n\n Email looks valid.\n\n Search\n\n Owner\n\n AP Team\n Legal Review\n\n Status: Needs review ×\n Owner: AP Team ×\n\n Save View\n Apply\n\n<div class=\"inc-form__error-summary\">\n <h3 class=\"inc-form__error-summary-title\">There are 2 issues to fix</h3>\n <ul class=\"inc-form__error-summary-list\">\n <li>Contract number is required.</li>\n <li>Billing period must be selected.</li>\n </ul>\n</div>\n\n<div class=\"inc-form__group\">\n <label class=\"inc-form__label inc-form__label--required\" for=\"ref-contract\">Contract number</label>\n <input id=\"ref-contract\" class=\"inc-form__control is-invalid\" type=\"text\" aria-invalid=\"true\">\n <p class=\"inc-form__feedback inc-form__feedback--error\">Contract number is required.</p>\n</div>\n\n<section class=\"inc-filter-bar\">\n <div class=\"inc-filter-bar__main\">...</div>\n <div class=\"inc-filter-bar__actions\">\n <div class=\"inc-filter-bar__chips\">\n <span class=\"inc-filter-chip\">Owner: AP Team</span>\n </div>\n </div>\n</section>\n\n Spacing And Visibility Utilities\n\n inc-u-stack-sm\n Use the utility layer when you need a light spacing or visibility adjustment without pulling in Bootstrap utility classes.\n\n Secondary\n Primary\n\n This alert uses inc-u-hidden-mobile and disappears on smaller screens.\n Common helpers now include stack spacing, gap, padding, hidden/mobile-hidden/desktop-hidden, and visually hidden text.\n\n<div class=\"inc-u-stack-sm\">\n <span class=\"inc-badge inc-badge--info inc-badge--pill\">inc-u-stack-sm</span>\n <p class=\"inc-text inc-text--regular\">Light spacing without Bootstrap utilities.</p>\n <div class=\"demo-chip-row inc-u-gap-sm\">\n <button class=\"inc-btn inc-btn--secondary inc-btn--sm\" type=\"button\">Secondary</button>\n <button class=\"inc-btn inc-btn--primary inc-btn--sm\" type=\"button\">Primary</button>\n </div>\n</div>\n\n<div class=\"inc-alert inc-alert--info inc-u-hidden-mobile\">Hidden on smaller screens.</div>\n\n Table Families\n\n Review Grid\n\n Record\n State\n Amount\n\n AP-142\n Needs Review\n $18,240\n\n AP-148\n Expiring Docs\n $7,882\n\n Analytics Grid\n\n Week\n Approved\n Variance\n\n W10\n 428\n +6.2%\n\n W11\n 447\n +4.4%\n\n Spreadsheet Grid\n\n Line\n Code\n Hours\n\n 001\n FRM-042\n 12.50\n\n 002\n FRM-043\n 8.25\n\n<table class=\"inc-table inc-table--review-grid inc-table--sm\">...</table>\n<table class=\"inc-table inc-table--analytics-grid inc-table--sm\">...</table>\n<table class=\"inc-table inc-table--spreadsheet-grid inc-table--sm\">...</table>\n\n Overlay Workflows\n\n Modal and offcanvas patterns now have a dedicated showcase page with validation, drawer content, and helper-driven open/close behavior.\n\n Open Overlay Showcase\n Compare With Drawer Grid\n\n<button class=\"inc-btn inc-btn--primary\" type=\"button\" data-inc-toggle=\"modal\" data-inc-target=\"#approval-modal\">Open modal</button>\n<button class=\"inc-btn inc-btn--outline-secondary\" type=\"button\" data-inc-toggle=\"offcanvas\" data-inc-target=\"#assignment-drawer\">Open offcanvas</button>\n\n Operational States And Feedback\n\n No results matched\n Distinct from the create-first empty state.\n\n Export failed\n Use a proper failure surface, not just a muted paragraph.\n\n Finance Manager role required\n Show when an action is visible but intentionally unavailable.\n\n View saved\n Use for asynchronous success or background-status messages.\n\n<div class=\"inc-state-panel inc-state-panel--results\">...</div>\n<div class=\"inc-state-panel inc-state-panel--error\">...</div>\n\n<div class=\"inc-permission-banner\">\n <div class=\"inc-permission-banner__icon\" data-inc-icon=\"permission\" aria-hidden=\"true\"></div>\n <div>...</div>\n</div>\n\n<div class=\"inc-toast-stack\">\n <div class=\"inc-toast-card\">...</div>\n</div>\n\n Detail, Timeline, Files, And Grid Patterns\n\n Record Id\n AP-2026-00142\n\n Current request\n $18,240.22\n\n Imported from OpenPay\n\n 8:13 AM\n Nightly sync\n\n Timeline entries combine actor, time, event, and state without falling apart visually.\n\n Drop documents here\n For review workflows with waiver or attachment requirements.\n\n Browse Files\n\n No files selected yet.\n\n 3 rows selected\n\n Reject Selected\n\n<div class=\"inc-key-value-grid\">\n <dl class=\"inc-key-value inc-key-value--card\">\n <dt class=\"inc-key-value__label\">Record Id</dt>\n <dd class=\"inc-key-value__value inc-key-value__value--data\">AP-2026-00142</dd>\n </dl>\n</div>\n\n<div class=\"inc-timeline\">\n <div class=\"inc-timeline__item\">...</div>\n</div>\n\n<div class=\"inc-file-dropzone\">...</div>\n<div class=\"inc-bulk-bar\">...</div>\n\n Auto Refresh Widget\n\n Use the inline modifier inside cards or toolbars, and the base class when you want the widget pinned to the page corner.\n\n Pause\n\n Queue refresh in\n 180s\n\n Refreshing queue\n\n<div class=\"inc-auto-refresh\"\n data-inc-auto-refresh\n data-inc-refresh-seconds=\"30\"\n data-inc-refresh-label=\"Refresh in\"\n data-inc-refresh-loading-label=\"Refreshing\">\n <button class=\"inc-btn inc-btn--secondary inc-btn--micro inc-auto-refresh__toggle\"\n type=\"button\"\n data-inc-action=\"auto-refresh-toggle\"\n aria-label=\"Pause\"\n aria-pressed=\"false\">\n <span class=\"inc-auto-refresh__toggle-icon\" aria-hidden=\"true\"></span>\n <span class=\"inc-auto-refresh__toggle-text\">Pause</span>\n </button>\n <span class=\"inc-auto-refresh__countdown\">\n <span class=\"inc-auto-refresh__label\">Refresh in</span>\n <span class=\"inc-auto-refresh__value\">30s</span>\n </span>\n <span class=\"inc-auto-refresh__status\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" hidden>\n <span class=\"inc-auto-refresh__spinner\" aria-hidden=\"true\">\n <span class=\"inc-spinner inc-spinner--border inc-spinner--border--sm inc-spinner--border--primary\"></span>\n <span class=\"inc-spinner inc-spinner--grow inc-spinner--grow--sm inc-spinner--grow--primary\"></span>\n </span>\n <span class=\"inc-auto-refresh__status-text\">Refreshing</span>\n </span>\n</div>\n\n<div class=\"inc-auto-refresh inc-auto-refresh--inline\"\n data-inc-auto-refresh\n data-inc-refresh-seconds=\"90\">\n ...\n</div>\n\n Copy snippet\n Open docs\n\n Reference page for copy/paste HTML patterns. Web Components are the default code view here, while the class catalog remains authoritative.\n\n Reference Dialog\n Native dialog example for copy/paste use.\n\n ×\n\n This is the minimal dialog shell used on the native page. Copy the outer <dialog>, the surface wrapper, and the form-based footer if you want native close behavior.\n\n Close\n Confirm\n\n Reference Drawer\n Native side sheet example for assignment and note-taking flows.\n\n ×\n\n Record\n AP-2026-00142\n\n Current owner\n AP Team\n\n Routing note\n Route to Legal Review so the W-9 can be validated before export.\n\n Cancel\n Assign\n\nCanonical markup:\n\n```html\n<div class=\"inc-theme-toggle\" data-inc-theme-switcher>\n <div class=\"inc-theme-toggle__label\">\n <p class=\"inc-theme-toggle__title\">Appearance</p>\n <p class=\"inc-theme-toggle__value\" data-inc-theme-label>System</p>\n </div>\n <div class=\"inc-button-group inc-button-group--sm\" role=\"group\" aria-label=\"Theme mode\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"light\">Light</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"dark\">Dark</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"system\">System</button>\n </div>\n <button class=\"inc-btn inc-btn--outline-secondary inc-btn--sm\" type=\"button\" data-inc-theme-toggle>Cycle</button>\n</div>\n\n<div data-inc-theme-switcher data-inc-theme-switcher-block></div>\n\n<script>\n window.IncTheme.setMode(\"dark\");\n</script>\n```\n<div class=\"inc-theme-toggle\" data-inc-theme-switcher>\n <div class=\"inc-theme-toggle__label\">\n <p class=\"inc-theme-toggle__title\">Appearance</p>\n <p class=\"inc-theme-toggle__value\" data-inc-theme-label>System</p>\n </div>\n <div class=\"inc-button-group inc-button-group--sm\" role=\"group\" aria-label=\"Theme mode\">\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"light\">Light</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"dark\">Dark</button>\n <button class=\"inc-btn inc-btn--secondary\" type=\"button\" data-inc-theme-mode=\"system\">System</button>\n </div>\n <button class=\"inc-btn inc-btn--outline-secondary inc-btn--sm\" type=\"button\" data-inc-theme-toggle>Cycle</button>\n</div>\n\n<div data-inc-theme-switcher data-inc-theme-switcher-block></div>\n\n<script>\n window.IncTheme.setMode(\"dark\");\n</script>\nreference catalog\nreference page\nreference.html"
24
24
  }
@@ -4,7 +4,7 @@
4
4
  "kind": "pattern",
5
5
  "searchKind": "pattern",
6
6
  "summary": "Browser-native components that stay inside the same CSS kit.",
7
- "body": "Browser-native components that stay inside the same CSS kit.\n\nIncursa\n\n Examples\n Dashboard\n Work Queue\n Record Detail\n Native Patterns\n Overlays\n States\n Forms\n Data Grid\n Web Components\n Reference\n\n SM\n\n Sam McAravey\n Administrator\n\n Signed in as Sam McAravey\n Profile\n Preferences\n Sign out\n\n Menu\n\n Examples\n Web Components\n\n Optional Layer\n Browser-native components that stay inside the same CSS kit.\n Use the class-based UI kit when you only need the language. Use the Web Component layer when you want declarative HTML, attributes, slots, DOM events, and the same design vocabulary from plain browser markup.\n\n Read the package docs\n Read the maintainer notes\n\n Load the entrypoints\n\n The package export is `@incursa/ui-kit/web-components`. Pair it with `@incursa/ui-kit/web-components/style.css` for the default look, then import the runtime once to register the shipped elements.\n <link rel=\"stylesheet\" href=\"/node_modules/@incursa/ui-kit/web-components/style.css\">\n<script type=\"module\">\n import \"@incursa/ui-kit/web-components\";\n</script>\n\n The v1 layer covers layouts, navbar/tabs/user-menu, field/input-group/choice-group/readonly-field/validation-summary, state/live-region/auto-refresh/theme-switcher, button/button-group/button-toolbar/close-button, alert/empty-state/list-group/key-value hosts, badge/spinner atoms, and disclosure/dialog/drawer.\n Tables and the remaining data presentation surfaces, filters, bulk workflows, files, utilities, and most other presentation-only atoms stay CSS-first for now.\n\n Plain HTML equivalent\n Explicit class wiring\n This is the CSS-first version of the same screen shape. It works, but the structure is louder because every wrapper is spelled out by hand.\n <section class=\"inc-card\">\n <div class=\"inc-card__header\">\n <h2 class=\"inc-card__title\">Queue summary</h2>\n </div>\n <div class=\"inc-card__body\">\n <table class=\"inc-table inc-table--sm inc-table--data-table\">\n <thead>...</thead>\n <tbody>...</tbody>\n </table>\n </div>\n</section>\n\n Web Components equivalent\n Shorter markup, same result\n The Web Component layer lets the browser own the semantics while the slots keep the layout contract obvious and reusable.\n <inc-card elevated>\n <div slot=\"header\" class=\"inc-card__header\">\n <h2 class=\"inc-card__title\">Queue summary</h2>\n </div>\n <div slot=\"body\">\n <table class=\"inc-table inc-table--sm inc-table--data-table\">\n <thead>...</thead>\n <tbody>...</tbody>\n </table>\n </div>\n</inc-card>\n\n Shell, navigation, and metrics\n\n Queue\n 124\n Pending review\n\n Risks\n 7\n Needs attention\n\n Saved\n $18.2k\n This week\n\n Needs Review\n Ready To Approve\n Recently Exported\n Review queue content.\n Ready-to-approve content.\n Recently exported content.\n\n Atomic controls with stable defaults\n\n Badge hosts standardize tone and pill styling without making you memorize the class suffix chain.\n\n Draft\n Approved\n Pending\n\n Spinner hosts standardize loading variants and accessible labels.\n\n Buttons, alerts, and empty states\n\n Button hosts wrap native controls and standardize tone, size, and loading defaults.\n\n Approve\n Save Draft\n Saving\n\n Publishing\n\n Refreshing\n\n Light\n Dark\n System\n\n Refresh\n Export\n\n Alerts and empty-state shells keep the repeated runtime scaffolding declarative.\n Success alert text.\n Information alert text.\n Warning alert text.\n\n No saved views\n Create a named filter set so your operators can reuse it across screens.\n\n Dismiss\n Create View\n\n List groups and key values\n\n List-group hosts standardize repeated action-row markup without changing list semantics.\n\n Needs review\n March closeout\n Projects missing billing period\n\n First review pass\n Secondary approval\n Final export\n\n Key-value hosts standardize the repeated description-list pair pattern.\n\n Tables, colors, and low-level presentation stay CSS-first\n\n The Web Component layer does not replace the table styling language. It reuses the same class-based table system where that is still the right contract.\n\n Project\n Period\n Amount\n Status\n\n AP-2026-00142\n March 2026\n $18,240.22\n Approved\n\n AP-2026-00144\n March 2026\n $4,992.00\n Pending\n\n The color story and compact action buttons still match the CSS-first kit exactly.\n\n Primary\n Action color\n var(--bs-primary)\n\n Warning\n Attention state\n var(--bs-warning)\n\n Danger\n High-risk state\n var(--bs-danger)\n\n Surface\n Neutral panel\n var(--inc-surface-secondary)\n\n Secondary\n Primary\n Outline\n\n Forms and feedback\n\n Project name\n\n Visible to operators.\n Project name is required.\n\n $\n\n USD\n\n Approval route\n\n Fast approval\n\n Standard approval\n\n Project name is required.\n Approval owner missing.\n\n Synced 8:13 AM\n\n Ready for status announcements.\n\n Overlays and disclosures\n\n Open dialog\n Open drawer\n\n Disclosure content stays native-details based in the WC layer.\n\n Copy CSS reference\n Read the architecture\n\n Optional WC layer, same package, same design vocabulary. Open demo.html beside this page to compare the condensed custom-element markup with the CSS-first baseline.\n\n Approve exception\n\n Approval rationale is required.\n\n Approval rationale\n\n Capture an audit-safe explanation.\n\n Cancel\n Approve exception\n\n Assign review owner\n\n Owner\n\n AP Team\n Legal Review\n Compliance\n\n Choose the person responsible.\n\n Cancel\n Assign owner\n\nCanonical markup:\n\n```html\n<link rel=\"stylesheet\" href=\"/node_modules/@incursa/ui-kit/web-components/style.css\">\n<script type=\"module\">\n import \"@incursa/ui-kit/web-components\";\n</script>\n```",
7
+ "body": "Browser-native components that stay inside the same CSS kit.\n\nIncursa\n\n Examples\n Dashboard\n Work Queue\n Record Detail\n Native Patterns\n Overlays\n States\n Forms\n Data Grid\n Web Components\n Reference\n\n SM\n\n Sam McAravey\n Administrator\n\n Signed in as Sam McAravey\n Profile\n Preferences\n Sign out\n\n Menu\n\n Examples\n Web Components\n\n Optional Layer\n Browser-native components that stay inside the same CSS kit.\n Use the class-based UI kit when you only need the language. Use the Web Component layer when you want declarative HTML, attributes, slots, DOM events, and the same design vocabulary from plain browser markup.\n\n Read the package docs\n Read the maintainer notes\n\n Load the entrypoints\n\n The package export is `@incursa/ui-kit/web-components`. Pair it with `@incursa/ui-kit/web-components/style.css` for the default look, then import the runtime once to register the shipped elements.\n <link rel=\"stylesheet\" href=\"/node_modules/@incursa/ui-kit/web-components/style.css\">\n<script type=\"module\">\n import \"@incursa/ui-kit/web-components\";\n</script>\n\n The v1 layer covers layouts, navbar/tabs/user-menu, field/input-group/choice-group/readonly-field/validation-summary, state/live-region/auto-refresh/theme-switcher, button/button-group/button-toolbar/close-button, alert/empty-state/list-group/key-value hosts, badge/spinner atoms, sparkline trends, and disclosure/dialog/drawer.\n Tables, filters, bulk workflows, files, utilities, and most other presentation-only atoms stay CSS-first for now. Sparklines are promoted because dense metric tables need a reusable accessible trend primitive.\n\n Plain HTML equivalent\n Explicit class wiring\n This is the CSS-first version of the same screen shape. It works, but the structure is louder because every wrapper is spelled out by hand.\n <section class=\"inc-card\">\n <div class=\"inc-card__header\">\n <h2 class=\"inc-card__title\">Queue summary</h2>\n </div>\n <div class=\"inc-card__body\">\n <table class=\"inc-table inc-table--sm inc-table--data-table\">\n <thead>...</thead>\n <tbody>...</tbody>\n </table>\n </div>\n</section>\n\n Web Components equivalent\n Shorter markup, same result\n The Web Component layer lets the browser own the semantics while the slots keep the layout contract obvious and reusable.\n <inc-card elevated>\n <div slot=\"header\" class=\"inc-card__header\">\n <h2 class=\"inc-card__title\">Queue summary</h2>\n </div>\n <div slot=\"body\">\n <table class=\"inc-table inc-table--sm inc-table--data-table\">\n <thead>...</thead>\n <tbody>...</tbody>\n </table>\n </div>\n</inc-card>\n\n Shell, navigation, and metrics\n\n Queue\n 124\n Pending review\n\n Risks\n 7\n Needs attention\n\n Saved\n $18.2k\n This week\n\n Needs Review\n Ready To Approve\n Recently Exported\n Review queue content.\n Ready-to-approve content.\n Recently exported content.\n\n Atomic controls with stable defaults\n\n Badge hosts standardize tone and pill styling without making you memorize the class suffix chain.\n\n Draft\n Approved\n Pending\n\n Spinner hosts standardize loading variants and accessible labels.\n\n Buttons, alerts, and empty states\n\n Button hosts wrap native controls and standardize tone, size, and loading defaults.\n\n Approve\n Save Draft\n Saving\n\n Publishing\n\n Refreshing\n\n Light\n Dark\n System\n\n Refresh\n Export\n\n Alerts and empty-state shells keep the repeated runtime scaffolding declarative.\n Success alert text.\n Information alert text.\n Warning alert text.\n\n No saved views\n Create a named filter set so your operators can reuse it across screens.\n\n Dismiss\n Create View\n\n List groups and key values\n\n List-group hosts standardize repeated action-row markup without changing list semantics.\n\n Needs review\n March closeout\n Projects missing billing period\n\n First review pass\n Secondary approval\n Final export\n\n Key-value hosts standardize the repeated description-list pair pattern.\n\n Sparkline trend evidence\n\n Static pages can pass simple numeric values. Timestamped benchmark history can use the `points` JSON attribute or the `points` property.\n\n Markers and reference lines remain decorative support. The surrounding cell should still show the current value and delta.\n\n Benchmark\n Current\n History\n Delta\n\n HTTP/3 plaintext\n 5,510 rps\n\n +3.1%\n\n QPACK decode\n 1.42 ms\n\n Best\n\n Tables, colors, and low-level presentation stay CSS-first\n\n The Web Component layer does not replace the table styling language. It reuses the same class-based table system where that is still the right contract.\n\n Project\n Period\n Amount\n Status\n\n AP-2026-00142\n March 2026\n $18,240.22\n Approved\n\n AP-2026-00144\n March 2026\n $4,992.00\n Pending\n\n The color story and compact action buttons still match the CSS-first kit exactly.\n\n Primary\n Action color\n var(--bs-primary)\n\n Warning\n Attention state\n var(--bs-warning)\n\n Danger\n High-risk state\n var(--bs-danger)\n\n Surface\n Neutral panel\n var(--inc-surface-secondary)\n\n Secondary\n Primary\n Outline\n\n Forms and feedback\n\n Project name\n\n Visible to operators.\n Project name is required.\n\n $\n\n USD\n\n Approval route\n\n Fast approval\n\n Standard approval\n\n Project name is required.\n Approval owner missing.\n\n Synced 8:13 AM\n\n Ready for status announcements.\n\n Overlays and disclosures\n\n Open dialog\n Open drawer\n\n Disclosure content stays native-details based in the WC layer.\n\n Copy CSS reference\n Read the architecture\n\n Optional WC layer, same package, same design vocabulary. Open demo.html beside this page to compare the condensed custom-element markup with the CSS-first baseline.\n\n Approve exception\n\n Approval rationale is required.\n\n Approval rationale\n\n Capture an audit-safe explanation.\n\n Cancel\n Approve exception\n\n Assign review owner\n\n Owner\n\n AP Team\n Legal Review\n Compliance\n\n Choose the person responsible.\n\n Cancel\n Assign owner\n\nCanonical markup:\n\n```html\n<link rel=\"stylesheet\" href=\"/node_modules/@incursa/ui-kit/web-components/style.css\">\n<script type=\"module\">\n import \"@incursa/ui-kit/web-components\";\n</script>\n```",
8
8
  "sourcePaths": [
9
9
  "web-components.html"
10
10
  ],
@@ -20,5 +20,5 @@
20
20
  "canonicalMarkup": {
21
21
  "default": "<link rel=\"stylesheet\" href=\"/node_modules/@incursa/ui-kit/web-components/style.css\">\n<script type=\"module\">\n import \"@incursa/ui-kit/web-components\";\n</script>"
22
22
  },
23
- "searchText": "Browser-native components that stay inside the same CSS kit.\nBrowser-native components that stay inside the same CSS kit.\nBrowser-native components that stay inside the same CSS kit.\n\nIncursa\n\n Examples\n Dashboard\n Work Queue\n Record Detail\n Native Patterns\n Overlays\n States\n Forms\n Data Grid\n Web Components\n Reference\n\n SM\n\n Sam McAravey\n Administrator\n\n Signed in as Sam McAravey\n Profile\n Preferences\n Sign out\n\n Menu\n\n Examples\n Web Components\n\n Optional Layer\n Browser-native components that stay inside the same CSS kit.\n Use the class-based UI kit when you only need the language. Use the Web Component layer when you want declarative HTML, attributes, slots, DOM events, and the same design vocabulary from plain browser markup.\n\n Read the package docs\n Read the maintainer notes\n\n Load the entrypoints\n\n The package export is `@incursa/ui-kit/web-components`. Pair it with `@incursa/ui-kit/web-components/style.css` for the default look, then import the runtime once to register the shipped elements.\n <link rel=\"stylesheet\" href=\"/node_modules/@incursa/ui-kit/web-components/style.css\">\n<script type=\"module\">\n import \"@incursa/ui-kit/web-components\";\n</script>\n\n The v1 layer covers layouts, navbar/tabs/user-menu, field/input-group/choice-group/readonly-field/validation-summary, state/live-region/auto-refresh/theme-switcher, button/button-group/button-toolbar/close-button, alert/empty-state/list-group/key-value hosts, badge/spinner atoms, and disclosure/dialog/drawer.\n Tables and the remaining data presentation surfaces, filters, bulk workflows, files, utilities, and most other presentation-only atoms stay CSS-first for now.\n\n Plain HTML equivalent\n Explicit class wiring\n This is the CSS-first version of the same screen shape. It works, but the structure is louder because every wrapper is spelled out by hand.\n <section class=\"inc-card\">\n <div class=\"inc-card__header\">\n <h2 class=\"inc-card__title\">Queue summary</h2>\n </div>\n <div class=\"inc-card__body\">\n <table class=\"inc-table inc-table--sm inc-table--data-table\">\n <thead>...</thead>\n <tbody>...</tbody>\n </table>\n </div>\n</section>\n\n Web Components equivalent\n Shorter markup, same result\n The Web Component layer lets the browser own the semantics while the slots keep the layout contract obvious and reusable.\n <inc-card elevated>\n <div slot=\"header\" class=\"inc-card__header\">\n <h2 class=\"inc-card__title\">Queue summary</h2>\n </div>\n <div slot=\"body\">\n <table class=\"inc-table inc-table--sm inc-table--data-table\">\n <thead>...</thead>\n <tbody>...</tbody>\n </table>\n </div>\n</inc-card>\n\n Shell, navigation, and metrics\n\n Queue\n 124\n Pending review\n\n Risks\n 7\n Needs attention\n\n Saved\n $18.2k\n This week\n\n Needs Review\n Ready To Approve\n Recently Exported\n Review queue content.\n Ready-to-approve content.\n Recently exported content.\n\n Atomic controls with stable defaults\n\n Badge hosts standardize tone and pill styling without making you memorize the class suffix chain.\n\n Draft\n Approved\n Pending\n\n Spinner hosts standardize loading variants and accessible labels.\n\n Buttons, alerts, and empty states\n\n Button hosts wrap native controls and standardize tone, size, and loading defaults.\n\n Approve\n Save Draft\n Saving\n\n Publishing\n\n Refreshing\n\n Light\n Dark\n System\n\n Refresh\n Export\n\n Alerts and empty-state shells keep the repeated runtime scaffolding declarative.\n Success alert text.\n Information alert text.\n Warning alert text.\n\n No saved views\n Create a named filter set so your operators can reuse it across screens.\n\n Dismiss\n Create View\n\n List groups and key values\n\n List-group hosts standardize repeated action-row markup without changing list semantics.\n\n Needs review\n March closeout\n Projects missing billing period\n\n First review pass\n Secondary approval\n Final export\n\n Key-value hosts standardize the repeated description-list pair pattern.\n\n Tables, colors, and low-level presentation stay CSS-first\n\n The Web Component layer does not replace the table styling language. It reuses the same class-based table system where that is still the right contract.\n\n Project\n Period\n Amount\n Status\n\n AP-2026-00142\n March 2026\n $18,240.22\n Approved\n\n AP-2026-00144\n March 2026\n $4,992.00\n Pending\n\n The color story and compact action buttons still match the CSS-first kit exactly.\n\n Primary\n Action color\n var(--bs-primary)\n\n Warning\n Attention state\n var(--bs-warning)\n\n Danger\n High-risk state\n var(--bs-danger)\n\n Surface\n Neutral panel\n var(--inc-surface-secondary)\n\n Secondary\n Primary\n Outline\n\n Forms and feedback\n\n Project name\n\n Visible to operators.\n Project name is required.\n\n $\n\n USD\n\n Approval route\n\n Fast approval\n\n Standard approval\n\n Project name is required.\n Approval owner missing.\n\n Synced 8:13 AM\n\n Ready for status announcements.\n\n Overlays and disclosures\n\n Open dialog\n Open drawer\n\n Disclosure content stays native-details based in the WC layer.\n\n Copy CSS reference\n Read the architecture\n\n Optional WC layer, same package, same design vocabulary. Open demo.html beside this page to compare the condensed custom-element markup with the CSS-first baseline.\n\n Approve exception\n\n Approval rationale is required.\n\n Approval rationale\n\n Capture an audit-safe explanation.\n\n Cancel\n Approve exception\n\n Assign review owner\n\n Owner\n\n AP Team\n Legal Review\n Compliance\n\n Choose the person responsible.\n\n Cancel\n Assign owner\n\nCanonical markup:\n\n```html\n<link rel=\"stylesheet\" href=\"/node_modules/@incursa/ui-kit/web-components/style.css\">\n<script type=\"module\">\n import \"@incursa/ui-kit/web-components\";\n</script>\n```\n<link rel=\"stylesheet\" href=\"/node_modules/@incursa/ui-kit/web-components/style.css\">\n<script type=\"module\">\n import \"@incursa/ui-kit/web-components\";\n</script>\nwc\ncomponents landing page\nweb-components.html"
23
+ "searchText": "Browser-native components that stay inside the same CSS kit.\nBrowser-native components that stay inside the same CSS kit.\nBrowser-native components that stay inside the same CSS kit.\n\nIncursa\n\n Examples\n Dashboard\n Work Queue\n Record Detail\n Native Patterns\n Overlays\n States\n Forms\n Data Grid\n Web Components\n Reference\n\n SM\n\n Sam McAravey\n Administrator\n\n Signed in as Sam McAravey\n Profile\n Preferences\n Sign out\n\n Menu\n\n Examples\n Web Components\n\n Optional Layer\n Browser-native components that stay inside the same CSS kit.\n Use the class-based UI kit when you only need the language. Use the Web Component layer when you want declarative HTML, attributes, slots, DOM events, and the same design vocabulary from plain browser markup.\n\n Read the package docs\n Read the maintainer notes\n\n Load the entrypoints\n\n The package export is `@incursa/ui-kit/web-components`. Pair it with `@incursa/ui-kit/web-components/style.css` for the default look, then import the runtime once to register the shipped elements.\n <link rel=\"stylesheet\" href=\"/node_modules/@incursa/ui-kit/web-components/style.css\">\n<script type=\"module\">\n import \"@incursa/ui-kit/web-components\";\n</script>\n\n The v1 layer covers layouts, navbar/tabs/user-menu, field/input-group/choice-group/readonly-field/validation-summary, state/live-region/auto-refresh/theme-switcher, button/button-group/button-toolbar/close-button, alert/empty-state/list-group/key-value hosts, badge/spinner atoms, sparkline trends, and disclosure/dialog/drawer.\n Tables, filters, bulk workflows, files, utilities, and most other presentation-only atoms stay CSS-first for now. Sparklines are promoted because dense metric tables need a reusable accessible trend primitive.\n\n Plain HTML equivalent\n Explicit class wiring\n This is the CSS-first version of the same screen shape. It works, but the structure is louder because every wrapper is spelled out by hand.\n <section class=\"inc-card\">\n <div class=\"inc-card__header\">\n <h2 class=\"inc-card__title\">Queue summary</h2>\n </div>\n <div class=\"inc-card__body\">\n <table class=\"inc-table inc-table--sm inc-table--data-table\">\n <thead>...</thead>\n <tbody>...</tbody>\n </table>\n </div>\n</section>\n\n Web Components equivalent\n Shorter markup, same result\n The Web Component layer lets the browser own the semantics while the slots keep the layout contract obvious and reusable.\n <inc-card elevated>\n <div slot=\"header\" class=\"inc-card__header\">\n <h2 class=\"inc-card__title\">Queue summary</h2>\n </div>\n <div slot=\"body\">\n <table class=\"inc-table inc-table--sm inc-table--data-table\">\n <thead>...</thead>\n <tbody>...</tbody>\n </table>\n </div>\n</inc-card>\n\n Shell, navigation, and metrics\n\n Queue\n 124\n Pending review\n\n Risks\n 7\n Needs attention\n\n Saved\n $18.2k\n This week\n\n Needs Review\n Ready To Approve\n Recently Exported\n Review queue content.\n Ready-to-approve content.\n Recently exported content.\n\n Atomic controls with stable defaults\n\n Badge hosts standardize tone and pill styling without making you memorize the class suffix chain.\n\n Draft\n Approved\n Pending\n\n Spinner hosts standardize loading variants and accessible labels.\n\n Buttons, alerts, and empty states\n\n Button hosts wrap native controls and standardize tone, size, and loading defaults.\n\n Approve\n Save Draft\n Saving\n\n Publishing\n\n Refreshing\n\n Light\n Dark\n System\n\n Refresh\n Export\n\n Alerts and empty-state shells keep the repeated runtime scaffolding declarative.\n Success alert text.\n Information alert text.\n Warning alert text.\n\n No saved views\n Create a named filter set so your operators can reuse it across screens.\n\n Dismiss\n Create View\n\n List groups and key values\n\n List-group hosts standardize repeated action-row markup without changing list semantics.\n\n Needs review\n March closeout\n Projects missing billing period\n\n First review pass\n Secondary approval\n Final export\n\n Key-value hosts standardize the repeated description-list pair pattern.\n\n Sparkline trend evidence\n\n Static pages can pass simple numeric values. Timestamped benchmark history can use the `points` JSON attribute or the `points` property.\n\n Markers and reference lines remain decorative support. The surrounding cell should still show the current value and delta.\n\n Benchmark\n Current\n History\n Delta\n\n HTTP/3 plaintext\n 5,510 rps\n\n +3.1%\n\n QPACK decode\n 1.42 ms\n\n Best\n\n Tables, colors, and low-level presentation stay CSS-first\n\n The Web Component layer does not replace the table styling language. It reuses the same class-based table system where that is still the right contract.\n\n Project\n Period\n Amount\n Status\n\n AP-2026-00142\n March 2026\n $18,240.22\n Approved\n\n AP-2026-00144\n March 2026\n $4,992.00\n Pending\n\n The color story and compact action buttons still match the CSS-first kit exactly.\n\n Primary\n Action color\n var(--bs-primary)\n\n Warning\n Attention state\n var(--bs-warning)\n\n Danger\n High-risk state\n var(--bs-danger)\n\n Surface\n Neutral panel\n var(--inc-surface-secondary)\n\n Secondary\n Primary\n Outline\n\n Forms and feedback\n\n Project name\n\n Visible to operators.\n Project name is required.\n\n $\n\n USD\n\n Approval route\n\n Fast approval\n\n Standard approval\n\n Project name is required.\n Approval owner missing.\n\n Synced 8:13 AM\n\n Ready for status announcements.\n\n Overlays and disclosures\n\n Open dialog\n Open drawer\n\n Disclosure content stays native-details based in the WC layer.\n\n Copy CSS reference\n Read the architecture\n\n Optional WC layer, same package, same design vocabulary. Open demo.html beside this page to compare the condensed custom-element markup with the CSS-first baseline.\n\n Approve exception\n\n Approval rationale is required.\n\n Approval rationale\n\n Capture an audit-safe explanation.\n\n Cancel\n Approve exception\n\n Assign review owner\n\n Owner\n\n AP Team\n Legal Review\n Compliance\n\n Choose the person responsible.\n\n Cancel\n Assign owner\n\nCanonical markup:\n\n```html\n<link rel=\"stylesheet\" href=\"/node_modules/@incursa/ui-kit/web-components/style.css\">\n<script type=\"module\">\n import \"@incursa/ui-kit/web-components\";\n</script>\n```\n<link rel=\"stylesheet\" href=\"/node_modules/@incursa/ui-kit/web-components/style.css\">\n<script type=\"module\">\n import \"@incursa/ui-kit/web-components\";\n</script>\nwc\ncomponents landing page\nweb-components.html"
24
24
  }