@incursa/ui-kit 1.5.0 → 1.7.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.
- package/LLMS.txt +4 -4
- package/README.md +46 -6
- package/dist/inc-design-language.css +273 -56
- package/dist/inc-design-language.css.map +1 -1
- package/dist/inc-design-language.js +326 -1
- package/dist/inc-design-language.min.css +1 -1
- package/dist/inc-design-language.min.css.map +1 -1
- package/dist/mcp/ai/agent-instructions.json +21 -0
- package/dist/mcp/ai/llms-txt.json +21 -0
- package/dist/mcp/components/buttons.json +29 -0
- package/dist/mcp/components/cards.json +29 -0
- package/dist/mcp/components/filter-bars.json +28 -0
- package/dist/mcp/components/form-choices.json +29 -0
- package/dist/mcp/components/forms.json +29 -0
- package/dist/mcp/components/interaction.json +28 -0
- package/dist/mcp/components/layout.json +28 -0
- package/dist/mcp/components/metrics.json +28 -0
- package/dist/mcp/components/states.json +28 -0
- package/dist/mcp/components/status.json +28 -0
- package/dist/mcp/components/tables.json +32 -0
- package/dist/mcp/components/utilities.json +28 -0
- package/dist/mcp/examples/data-grid-advanced.json +22 -0
- package/dist/mcp/examples/demo.json +24 -0
- package/dist/mcp/examples/forms-and-validation.json +21 -0
- package/dist/mcp/examples/native-patterns.json +21 -0
- package/dist/mcp/examples/overlay-workflows.json +22 -0
- package/dist/mcp/examples/record-detail.json +21 -0
- package/dist/mcp/examples/reference.json +23 -0
- package/dist/mcp/examples/states.json +21 -0
- package/dist/mcp/examples/web-components.json +24 -0
- package/dist/mcp/examples/work-queue.json +21 -0
- package/dist/mcp/guides/allowed-web-component-families.json +19 -0
- package/dist/mcp/guides/choose-css-vs-scss-vs-js-vs-web-components.json +20 -0
- package/dist/mcp/guides/customization-order.json +20 -0
- package/dist/mcp/guides/decision-tree.json +28 -0
- package/dist/mcp/guides/guardrails.json +20 -0
- package/dist/mcp/guides/install.json +31 -0
- package/dist/mcp/guides/latest.json +25 -0
- package/dist/mcp/guides/overview.json +26 -0
- package/dist/mcp/guides/package-metadata.json +25 -0
- package/dist/mcp/guides/update.json +26 -0
- package/dist/mcp/guides/when-to-use-css-first.json +20 -0
- package/dist/mcp/install.json +36 -0
- package/dist/mcp/patterns/data-grid-advanced.json +22 -0
- package/dist/mcp/patterns/demo.json +24 -0
- package/dist/mcp/patterns/forms-and-validation.json +21 -0
- package/dist/mcp/patterns/native-patterns.json +21 -0
- package/dist/mcp/patterns/overlay-workflows.json +22 -0
- package/dist/mcp/patterns/record-detail.json +21 -0
- package/dist/mcp/patterns/reference.json +24 -0
- package/dist/mcp/patterns/states.json +21 -0
- package/dist/mcp/patterns/web-components.json +24 -0
- package/dist/mcp/patterns/work-queue.json +21 -0
- package/dist/mcp/resources.json +2100 -0
- package/dist/mcp/search-index.json +827 -0
- package/dist/mcp/specs/control-conventions.json +21 -0
- package/dist/mcp/specs/public-surface.json +21 -0
- package/dist/mcp/specs/requirements-index.json +21 -0
- package/dist/mcp/specs/verification-index.json +21 -0
- package/dist/mcp/update.json +24 -0
- package/dist/mcp/worker.mjs +60079 -0
- package/dist/mcp/worker.mjs.map +7 -0
- package/dist/web-components/README.md +10 -4
- package/dist/web-components/RUNTIME-NOTES.md +7 -2
- package/dist/web-components/components/actions.js +633 -0
- package/dist/web-components/components/collections.js +272 -0
- package/dist/web-components/components/dom-helpers.js +46 -0
- package/dist/web-components/components/feedback.js +181 -3
- package/dist/web-components/index.js +4425 -813
- package/package.json +19 -8
- package/src/inc-design-language.js +326 -1
- package/src/inc-design-language.scss +300 -56
- package/src/mcp/worker.ts +858 -0
- package/src/web-components/README.md +10 -4
- package/src/web-components/RUNTIME-NOTES.md +7 -2
- package/src/web-components/components/actions.js +633 -0
- package/src/web-components/components/collections.js +272 -0
- package/src/web-components/components/dom-helpers.js +46 -0
- package/src/web-components/components/feedback.js +181 -3
- package/src/web-components/index.js +53 -847
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"uri": "ui-kit://example/native-patterns",
|
|
3
|
+
"title": "Patterns built on browser elements",
|
|
4
|
+
"kind": "example",
|
|
5
|
+
"searchKind": "example",
|
|
6
|
+
"summary": "Patterns built on browser elements with minimal helper wiring.",
|
|
7
|
+
"body": "Patterns built on browser elements with minimal helper wiring.\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 Native details menu\n Profile\n Preferences\n Sign out\n\n Examples\n Native Patterns\n\n Native First\n Patterns built on browser elements\n This page shows a tasteful native path: <details> for disclosures and lightweight menus, <dialog> for modal surfaces, and only a minimal showModal() hook where the browser element still needs an opener.\n\n Open Native Dialog\n\n When Native Fits\n\n Use native controls when the interaction is simple, local to the page, and maps well to browser semantics. That usually gives you better baseline accessibility and less JS to maintain.\n\n <details> for section stacks, inspector trays, and lightweight menus\n <dialog> for modal review, confirmation, and quick-create flows\n Helper-driven patterns only when the component contract needs more Bootstrap-like state management\n\n Tradeoff\n\n The disclosure and menu examples below are fully native. The dialog itself is native too, but opening it still typically wants one small showModal() call unless you rely on newer command attributes or a framework.\n\n This page intentionally does not load the helper script. The menu is <details> and the dialog opener is a few lines of vanilla JS only for the modal launch. If you want browser-native custom elements instead of helper-managed DOM, use the optional Web Components showcase.\n\n Native Disclosure Stack\n\n Billing summary\n 3 items\n\n Native details\n\n Billing period: March 2026\n Percent complete: 64%\n Retention held: 10%\n\n Required documents\n No helper\n\n Conditional waiver received\n Insurance certificate current\n W-9 verification pending\n\n Reviewer notes\n Good for local state\n\n This is the cleanest replacement for a lightweight accordion when you do not need coordinated multi-panel state or more custom animation logic.\n\n Native Menu\n\n AP\n\n Queue Actions\n Summary-based menu\n\n Quick actions\n Export current view\n Save filter preset\n Assign to operator\n\n This works well for compact menus where a <summary> trigger is acceptable and you do not need richer keyboard choreography than the browser already provides.\n\n Native Dialog\n\n The dialog below uses the browser backdrop, focus handling, and close semantics. The only JS here is the call to showModal() on the launcher button.\n If you use <form method=\"dialog\"> for the footer controls, closing stays fully native too. The same primitive also works for side sheets when you anchor the dialog to the viewport edge.\n\n Launch Review Dialog\n Launch Review Drawer\n\n Native details and dialog patterns styled with the same design language. The Web Components layer follows the same vocabulary when you need it.\n\n Review Native Dialog\n This surface is <dialog> with package styling, not the helper modal.\n\n ×\n\n Use this path when you want the browser to own modal semantics. The page supplies only a tiny opener and lets the dialog itself handle focus scope, backdrop, and closing via method=\"dialog\" buttons.\n\n The same surface styling can be reused for quick-create, approval confirmation, or record-preview dialogs.\n\n Cancel\n Approve\n\n Review Drawer\n This uses the same native dialog element, but styled as a right-side sheet.\n\n ×\n\n Record\n AP-2026-00142\n\n Status\n Needs Review\n\n Assignment note\n Assign to Legal Review so the W-9 and certificate of insurance can be verified.\n\n Cancel\n Assign owner",
|
|
8
|
+
"sourcePaths": [
|
|
9
|
+
"native-patterns.html"
|
|
10
|
+
],
|
|
11
|
+
"mimeType": "text/markdown; charset=utf-8",
|
|
12
|
+
"aliases": [
|
|
13
|
+
"native controls",
|
|
14
|
+
"browser elements"
|
|
15
|
+
],
|
|
16
|
+
"relatedUris": [],
|
|
17
|
+
"group": "examples",
|
|
18
|
+
"priority": 55,
|
|
19
|
+
"includeInSearch": true,
|
|
20
|
+
"searchText": "Patterns built on browser elements\nPatterns built on browser elements with minimal helper wiring.\nPatterns built on browser elements with minimal helper wiring.\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 Native details menu\n Profile\n Preferences\n Sign out\n\n Examples\n Native Patterns\n\n Native First\n Patterns built on browser elements\n This page shows a tasteful native path: <details> for disclosures and lightweight menus, <dialog> for modal surfaces, and only a minimal showModal() hook where the browser element still needs an opener.\n\n Open Native Dialog\n\n When Native Fits\n\n Use native controls when the interaction is simple, local to the page, and maps well to browser semantics. That usually gives you better baseline accessibility and less JS to maintain.\n\n <details> for section stacks, inspector trays, and lightweight menus\n <dialog> for modal review, confirmation, and quick-create flows\n Helper-driven patterns only when the component contract needs more Bootstrap-like state management\n\n Tradeoff\n\n The disclosure and menu examples below are fully native. The dialog itself is native too, but opening it still typically wants one small showModal() call unless you rely on newer command attributes or a framework.\n\n This page intentionally does not load the helper script. The menu is <details> and the dialog opener is a few lines of vanilla JS only for the modal launch. If you want browser-native custom elements instead of helper-managed DOM, use the optional Web Components showcase.\n\n Native Disclosure Stack\n\n Billing summary\n 3 items\n\n Native details\n\n Billing period: March 2026\n Percent complete: 64%\n Retention held: 10%\n\n Required documents\n No helper\n\n Conditional waiver received\n Insurance certificate current\n W-9 verification pending\n\n Reviewer notes\n Good for local state\n\n This is the cleanest replacement for a lightweight accordion when you do not need coordinated multi-panel state or more custom animation logic.\n\n Native Menu\n\n AP\n\n Queue Actions\n Summary-based menu\n\n Quick actions\n Export current view\n Save filter preset\n Assign to operator\n\n This works well for compact menus where a <summary> trigger is acceptable and you do not need richer keyboard choreography than the browser already provides.\n\n Native Dialog\n\n The dialog below uses the browser backdrop, focus handling, and close semantics. The only JS here is the call to showModal() on the launcher button.\n If you use <form method=\"dialog\"> for the footer controls, closing stays fully native too. The same primitive also works for side sheets when you anchor the dialog to the viewport edge.\n\n Launch Review Dialog\n Launch Review Drawer\n\n Native details and dialog patterns styled with the same design language. The Web Components layer follows the same vocabulary when you need it.\n\n Review Native Dialog\n This surface is <dialog> with package styling, not the helper modal.\n\n ×\n\n Use this path when you want the browser to own modal semantics. The page supplies only a tiny opener and lets the dialog itself handle focus scope, backdrop, and closing via method=\"dialog\" buttons.\n\n The same surface styling can be reused for quick-create, approval confirmation, or record-preview dialogs.\n\n Cancel\n Approve\n\n Review Drawer\n This uses the same native dialog element, but styled as a right-side sheet.\n\n ×\n\n Record\n AP-2026-00142\n\n Status\n Needs Review\n\n Assignment note\n Assign to Legal Review so the W-9 and certificate of insurance can be verified.\n\n Cancel\n Assign owner\nnative controls\nbrowser elements\nnative-patterns.html"
|
|
21
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"uri": "ui-kit://example/overlay-workflows",
|
|
3
|
+
"title": "Modal and offcanvas examples for operator review flows",
|
|
4
|
+
"kind": "example",
|
|
5
|
+
"searchKind": "example",
|
|
6
|
+
"summary": "Modal and offcanvas examples for operator review flows.",
|
|
7
|
+
"body": "Modal and offcanvas examples for operator review flows.\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 Overlay Workflows\n\n Overlay Workflows\n Modal and offcanvas examples for operator review flows\n These overlays reuse the same validation, status, and detail primitives as the other workflow pages so they feel like part of the product instead of a separate component library.\n\n Open approval modal\n Open assignment drawer\n\n When to use a modal\n\n Use a modal when the user must acknowledge risk, confirm intent, or fix a small amount of blocking information before continuing.\n The approval modal below includes a blocking validation summary and an explicit escalation note.\n\n Short task\n High consequence\n\n When to use offcanvas\n\n Use an offcanvas panel when the operator needs to keep surrounding context in view while editing, assigning, or previewing supporting detail.\n\n i\n\n Keep the grid visible\n Assignment, quick edit, and note-taking generally fit the offcanvas path better than a modal.\n\n Context retained\n Multi-step work\n\n Launchable examples\n Both buttons below are wired through the package helper in dist/inc-design-language.js.\n\n Approve exception\n Assign owner\n\n Record\n AP-2026-00142\n\n Current owner\n AP Team\n\n Blocking issue\n Missing W-9\n\n Requested amount\n $18,240.22\n\n Overlay patterns for approvals, assignments, and secondary review work.\n\n Approve exception\n Confirm the exception owner and capture the approval rationale before export continues.\n\n ×\n\n There are 2 issues to resolve first\n\n Approval rationale must be entered.\n An escalation owner must be selected.\n\n !\n\n Finance Manager sign-off required\n Use the modal when the user is about to take a high-consequence action that should pause the surrounding workflow.\n\n Escalation owner\n\n Select an owner\n Finance Manager\n Controller\n\n Select who will own the exception after approval.\n\n Export batch\n\n Approval rationale\n\n A short explanation is required for audit history.\n\n Cancel\n Approve Exception\n\n Assign review owner\n Offcanvas keeps the surrounding queue visible while the operator routes work.\n\n ×\n\n Record\n AP-2026-00142\n\n Current owner\n AP Team\n\n State\n Needs Review\n\n Requested amount\n $18,240.22\n\n Search owner\n\n Queue\n\n AP Team\n Legal Review\n Compliance\n\n Priority: Exception ×\n SLA: 24 hours ×\n\n Routing note\n Assign to Legal Review so they can validate the incoming W-9 and insurance certificate before export.\n\n i\n\n Why offcanvas works here\n This task needs context, but it should not block the whole screen the way an approval modal does.\n\n Cancel\n Save Draft\n Assign Owner",
|
|
8
|
+
"sourcePaths": [
|
|
9
|
+
"overlay-workflows.html"
|
|
10
|
+
],
|
|
11
|
+
"mimeType": "text/markdown; charset=utf-8",
|
|
12
|
+
"aliases": [
|
|
13
|
+
"overlays",
|
|
14
|
+
"overlay workflows",
|
|
15
|
+
"modals"
|
|
16
|
+
],
|
|
17
|
+
"relatedUris": [],
|
|
18
|
+
"group": "examples",
|
|
19
|
+
"priority": 55,
|
|
20
|
+
"includeInSearch": true,
|
|
21
|
+
"searchText": "Modal and offcanvas examples for operator review flows\nModal and offcanvas examples for operator review flows.\nModal and offcanvas examples for operator review flows.\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 Overlay Workflows\n\n Overlay Workflows\n Modal and offcanvas examples for operator review flows\n These overlays reuse the same validation, status, and detail primitives as the other workflow pages so they feel like part of the product instead of a separate component library.\n\n Open approval modal\n Open assignment drawer\n\n When to use a modal\n\n Use a modal when the user must acknowledge risk, confirm intent, or fix a small amount of blocking information before continuing.\n The approval modal below includes a blocking validation summary and an explicit escalation note.\n\n Short task\n High consequence\n\n When to use offcanvas\n\n Use an offcanvas panel when the operator needs to keep surrounding context in view while editing, assigning, or previewing supporting detail.\n\n i\n\n Keep the grid visible\n Assignment, quick edit, and note-taking generally fit the offcanvas path better than a modal.\n\n Context retained\n Multi-step work\n\n Launchable examples\n Both buttons below are wired through the package helper in dist/inc-design-language.js.\n\n Approve exception\n Assign owner\n\n Record\n AP-2026-00142\n\n Current owner\n AP Team\n\n Blocking issue\n Missing W-9\n\n Requested amount\n $18,240.22\n\n Overlay patterns for approvals, assignments, and secondary review work.\n\n Approve exception\n Confirm the exception owner and capture the approval rationale before export continues.\n\n ×\n\n There are 2 issues to resolve first\n\n Approval rationale must be entered.\n An escalation owner must be selected.\n\n !\n\n Finance Manager sign-off required\n Use the modal when the user is about to take a high-consequence action that should pause the surrounding workflow.\n\n Escalation owner\n\n Select an owner\n Finance Manager\n Controller\n\n Select who will own the exception after approval.\n\n Export batch\n\n Approval rationale\n\n A short explanation is required for audit history.\n\n Cancel\n Approve Exception\n\n Assign review owner\n Offcanvas keeps the surrounding queue visible while the operator routes work.\n\n ×\n\n Record\n AP-2026-00142\n\n Current owner\n AP Team\n\n State\n Needs Review\n\n Requested amount\n $18,240.22\n\n Search owner\n\n Queue\n\n AP Team\n Legal Review\n Compliance\n\n Priority: Exception ×\n SLA: 24 hours ×\n\n Routing note\n Assign to Legal Review so they can validate the incoming W-9 and insurance certificate before export.\n\n i\n\n Why offcanvas works here\n This task needs context, but it should not block the whole screen the way an approval modal does.\n\n Cancel\n Save Draft\n Assign Owner\noverlays\noverlay workflows\nmodals\noverlay-workflows.html"
|
|
22
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"uri": "ui-kit://example/record-detail",
|
|
3
|
+
"title": "Project pay app record",
|
|
4
|
+
"kind": "example",
|
|
5
|
+
"searchKind": "example",
|
|
6
|
+
"summary": "Three-column detail example with action rail and section stack.",
|
|
7
|
+
"body": "Three-column detail example with action rail and section stack.\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 Record Detail\n\n Detail Pattern\n Project pay app record\n Three-column detail screens, right-rail actions, secondary menus, accordion sections, and a nested two-column content area.\n\n Sections\n\n Project Record\n\n Overview\n\n Billing details\n\n Waivers\n\n Notes\n\n Related Items\n\n North Campus contract\n Vendor profile\n Prior month pay app\n\n AP-2026-00142\n North Campus Expansion / OpenPay Electric / March 2026\n\n Needs Review\n Imported\n\n This detail pattern is intended for entity or case review screens where the center column does the heavy lifting and the right rail stays action-oriented.\n\n Amounts\n\n Current request\n $18,240.22\n\n Previous billed\n $112,994.03\n\n Remaining contract\n $48,202.55\n\n Review Notes\n\n Use the nested two-column layout when a detail page needs a compact numeric summary beside a broader narrative or notes area. This keeps dense metadata visible without collapsing everything into one long card.\n For downstream products, this same pattern can hold case details, audit reasoning, configuration context, or document annotations.\n\n Section Stack\n\n Billing summary\n\n Billing period: March 2026\n Percent complete: 64%\n Retention held: 10%\n\n Required documents\n\n Conditional waiver received\n Insurance certificate current\n W-9 verification pending\n\n Actions\n\n Approve Record\n Request Changes\n Send To Legal\n\n Status\n\n Needs Review\n Imported 8:13 AM\n Vendor matched\n\n Activity Feed\n\n Imported from OpenPay\n 8:13 AM by nightly sync\n\n Routing rule matched\n Assigned to AP Team for first-pass review\n\n Waiver check flagged\n W-9 verification still missing from vendor profile\n\n Detail example for three-column layout, side rails, and accordion sections.",
|
|
8
|
+
"sourcePaths": [
|
|
9
|
+
"record-detail.html"
|
|
10
|
+
],
|
|
11
|
+
"mimeType": "text/markdown; charset=utf-8",
|
|
12
|
+
"aliases": [
|
|
13
|
+
"detail",
|
|
14
|
+
"record detail"
|
|
15
|
+
],
|
|
16
|
+
"relatedUris": [],
|
|
17
|
+
"group": "examples",
|
|
18
|
+
"priority": 55,
|
|
19
|
+
"includeInSearch": true,
|
|
20
|
+
"searchText": "Project pay app record\nThree-column detail example with action rail and section stack.\nThree-column detail example with action rail and section stack.\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 Record Detail\n\n Detail Pattern\n Project pay app record\n Three-column detail screens, right-rail actions, secondary menus, accordion sections, and a nested two-column content area.\n\n Sections\n\n Project Record\n\n Overview\n\n Billing details\n\n Waivers\n\n Notes\n\n Related Items\n\n North Campus contract\n Vendor profile\n Prior month pay app\n\n AP-2026-00142\n North Campus Expansion / OpenPay Electric / March 2026\n\n Needs Review\n Imported\n\n This detail pattern is intended for entity or case review screens where the center column does the heavy lifting and the right rail stays action-oriented.\n\n Amounts\n\n Current request\n $18,240.22\n\n Previous billed\n $112,994.03\n\n Remaining contract\n $48,202.55\n\n Review Notes\n\n Use the nested two-column layout when a detail page needs a compact numeric summary beside a broader narrative or notes area. This keeps dense metadata visible without collapsing everything into one long card.\n For downstream products, this same pattern can hold case details, audit reasoning, configuration context, or document annotations.\n\n Section Stack\n\n Billing summary\n\n Billing period: March 2026\n Percent complete: 64%\n Retention held: 10%\n\n Required documents\n\n Conditional waiver received\n Insurance certificate current\n W-9 verification pending\n\n Actions\n\n Approve Record\n Request Changes\n Send To Legal\n\n Status\n\n Needs Review\n Imported 8:13 AM\n Vendor matched\n\n Activity Feed\n\n Imported from OpenPay\n 8:13 AM by nightly sync\n\n Routing rule matched\n Assigned to AP Team for first-pass review\n\n Waiver check flagged\n W-9 verification still missing from vendor profile\n\n Detail example for three-column layout, side rails, and accordion sections.\ndetail\nrecord detail\nrecord-detail.html"
|
|
21
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"uri": "ui-kit://example/reference",
|
|
3
|
+
"title": "Rendered controls with copyable HTML",
|
|
4
|
+
"kind": "example",
|
|
5
|
+
"searchKind": "example",
|
|
6
|
+
"summary": "Example catalog with copy/paste HTML snippets.",
|
|
7
|
+
"body": "Example catalog with copy/paste HTML snippets.\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 +\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\">+</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 ?\n\n No results matched\n Distinct from the create-first empty state.\n\n !\n\n Export failed\n Use a proper failure surface, not just a muted paragraph.\n\n #\n\n Finance Manager role required\n Show when an action is visible but intentionally unavailable.\n\n i\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\">#</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\nExample 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
|
+
"sourcePaths": [
|
|
9
|
+
"reference.html"
|
|
10
|
+
],
|
|
11
|
+
"mimeType": "text/markdown; charset=utf-8",
|
|
12
|
+
"aliases": [
|
|
13
|
+
"reference example"
|
|
14
|
+
],
|
|
15
|
+
"relatedUris": [],
|
|
16
|
+
"group": "examples",
|
|
17
|
+
"priority": 55,
|
|
18
|
+
"includeInSearch": true,
|
|
19
|
+
"canonicalMarkup": {
|
|
20
|
+
"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>"
|
|
21
|
+
},
|
|
22
|
+
"searchText": "Rendered controls with copyable HTML\nExample catalog with copy/paste HTML snippets.\nExample catalog with copy/paste HTML snippets.\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 +\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\">+</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 ?\n\n No results matched\n Distinct from the create-first empty state.\n\n !\n\n Export failed\n Use a proper failure surface, not just a muted paragraph.\n\n #\n\n Finance Manager role required\n Show when an action is visible but intentionally unavailable.\n\n i\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\">#</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\nExample 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 example\nreference.html"
|
|
23
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"uri": "ui-kit://example/states",
|
|
3
|
+
"title": "The non-happy-path surfaces B2B apps actually need",
|
|
4
|
+
"kind": "example",
|
|
5
|
+
"searchKind": "example",
|
|
6
|
+
"summary": "The non-happy-path surfaces B2B apps actually need.",
|
|
7
|
+
"body": "The non-happy-path surfaces B2B apps actually need.\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 States\n\n Operational States\n The non-happy-path surfaces B2B apps actually need\n Empty vs no-results, loading, error, permission, activity history, files, and system notifications all in one place.\n\n +\n\n No saved views\n This is the create-first empty state. Use it when a user has not configured anything yet.\n\n Dismiss\n Create View\n\n ?\n\n No records matched these filters\n This is intentionally quieter than the empty state. The system has data, but this particular query did not find any.\n\n Clear Filters\n Save Search\n\n ...\n\n Refreshing the review queue\n Use a clear loading state for longer-running data refreshes instead of leaving a blank card.\n\n !\n\n Export failed\n Use this when the workflow broke and the user needs an obvious next step, not a generic alert buried inside the page.\n\n The ERP endpoint returned a validation error for 4 selected records.\n\n Download Error Log\n Retry Export\n\n Permission and Locked States\n\n #\n\n Finance Manager role required\n This action is available only to users who can approve exports above $50,000.\n\n L\n\n Record is locked for nightly sync\n Use the locked state for records that are temporarily unavailable because another process owns them.\n\n View Read-Only\n\n Toasts and Side Feedback\n\n An inline auto-refresh widget works well on queue and review pages where fresh data matters but the control should stay out of the main action area.\n\n Pause\n\n Queue refresh in\n 300s\n\n Refreshing queue\n\n i\n\n View saved\n The shared queue filter is now available to the AP Team.\n\n !\n\n Background import still running\n Use ephemeral notifications for asynchronous work that succeeded, failed, or is still in motion.\n\n Activity Timeline\n\n Imported from OpenPay\n System\n\n 8:13 AM\n Nightly sync\n Sam McAravey\n\n The payload normalized successfully and routed to the Needs Review queue.\n\n Waiver verification still pending\n Review\n\n 8:19 AM\n Compliance rule\n\n This timeline variant works better than a plain list once actor, timestamp, and status all matter together.\n\n Assigned to AP Team\n Queue\n\n 8:22 AM\n Routing rule\n\n Use this for audit-heavy pages where the sequence of events matters as much as the final state.\n\n Files and Documents\n\n Drop waivers or billing support here\n Use this for document-centric flows where operators collect several files before submission.\n\n Browse Files\n\n conditional-waiver-march.pdf\n PDF • 1.8 MB • uploaded 8:28 AM\n\n Verified\n\n Preview\n Download\n\n insurance-certificate.pdf\n PDF • 420 KB • expires in 14 days\n\n Expiring\n\n Preview\n Replace\n\n Operational states, audit trails, notifications, and file workflows.",
|
|
8
|
+
"sourcePaths": [
|
|
9
|
+
"states.html"
|
|
10
|
+
],
|
|
11
|
+
"mimeType": "text/markdown; charset=utf-8",
|
|
12
|
+
"aliases": [
|
|
13
|
+
"state examples",
|
|
14
|
+
"feedback examples"
|
|
15
|
+
],
|
|
16
|
+
"relatedUris": [],
|
|
17
|
+
"group": "examples",
|
|
18
|
+
"priority": 55,
|
|
19
|
+
"includeInSearch": true,
|
|
20
|
+
"searchText": "The non-happy-path surfaces B2B apps actually need\nThe non-happy-path surfaces B2B apps actually need.\nThe non-happy-path surfaces B2B apps actually need.\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 States\n\n Operational States\n The non-happy-path surfaces B2B apps actually need\n Empty vs no-results, loading, error, permission, activity history, files, and system notifications all in one place.\n\n +\n\n No saved views\n This is the create-first empty state. Use it when a user has not configured anything yet.\n\n Dismiss\n Create View\n\n ?\n\n No records matched these filters\n This is intentionally quieter than the empty state. The system has data, but this particular query did not find any.\n\n Clear Filters\n Save Search\n\n ...\n\n Refreshing the review queue\n Use a clear loading state for longer-running data refreshes instead of leaving a blank card.\n\n !\n\n Export failed\n Use this when the workflow broke and the user needs an obvious next step, not a generic alert buried inside the page.\n\n The ERP endpoint returned a validation error for 4 selected records.\n\n Download Error Log\n Retry Export\n\n Permission and Locked States\n\n #\n\n Finance Manager role required\n This action is available only to users who can approve exports above $50,000.\n\n L\n\n Record is locked for nightly sync\n Use the locked state for records that are temporarily unavailable because another process owns them.\n\n View Read-Only\n\n Toasts and Side Feedback\n\n An inline auto-refresh widget works well on queue and review pages where fresh data matters but the control should stay out of the main action area.\n\n Pause\n\n Queue refresh in\n 300s\n\n Refreshing queue\n\n i\n\n View saved\n The shared queue filter is now available to the AP Team.\n\n !\n\n Background import still running\n Use ephemeral notifications for asynchronous work that succeeded, failed, or is still in motion.\n\n Activity Timeline\n\n Imported from OpenPay\n System\n\n 8:13 AM\n Nightly sync\n Sam McAravey\n\n The payload normalized successfully and routed to the Needs Review queue.\n\n Waiver verification still pending\n Review\n\n 8:19 AM\n Compliance rule\n\n This timeline variant works better than a plain list once actor, timestamp, and status all matter together.\n\n Assigned to AP Team\n Queue\n\n 8:22 AM\n Routing rule\n\n Use this for audit-heavy pages where the sequence of events matters as much as the final state.\n\n Files and Documents\n\n Drop waivers or billing support here\n Use this for document-centric flows where operators collect several files before submission.\n\n Browse Files\n\n conditional-waiver-march.pdf\n PDF • 1.8 MB • uploaded 8:28 AM\n\n Verified\n\n Preview\n Download\n\n insurance-certificate.pdf\n PDF • 420 KB • expires in 14 days\n\n Expiring\n\n Preview\n Replace\n\n Operational states, audit trails, notifications, and file workflows.\nstate examples\nfeedback examples\nstates.html"
|
|
21
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"uri": "ui-kit://example/web-components",
|
|
3
|
+
"title": "Browser-native components that stay inside the same CSS kit.",
|
|
4
|
+
"kind": "example",
|
|
5
|
+
"searchKind": "example",
|
|
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 +\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\nExample 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
|
+
"sourcePaths": [
|
|
9
|
+
"web-components.html"
|
|
10
|
+
],
|
|
11
|
+
"mimeType": "text/markdown; charset=utf-8",
|
|
12
|
+
"aliases": [
|
|
13
|
+
"wc",
|
|
14
|
+
"components landing page"
|
|
15
|
+
],
|
|
16
|
+
"relatedUris": [],
|
|
17
|
+
"group": "examples",
|
|
18
|
+
"priority": 55,
|
|
19
|
+
"includeInSearch": true,
|
|
20
|
+
"canonicalMarkup": {
|
|
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
|
+
},
|
|
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 +\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\nExample 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
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"uri": "ui-kit://example/work-queue",
|
|
3
|
+
"title": "Operator work queue",
|
|
4
|
+
"kind": "example",
|
|
5
|
+
"searchKind": "example",
|
|
6
|
+
"summary": "Operator work queue with sidebar navigation and table-heavy composition.",
|
|
7
|
+
"body": "Operator work queue with sidebar navigation and table-heavy composition.\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 Work Queue\n\n Queue Menu\n\n Operations\n\n Open pay apps\n 32\n\n Exceptions\n 4\n\n Vendor imports\n 9\n\n Management\n\n Approvals\n 7\n\n Audit trail\n\n Saved Views\n\n Needs review\n Ready to export\n Sync failures\n\n Queue Pattern\n Operator work queue\n Sidebar navigation, line tabs, alerts, filter toolbars, and a dense table with pagination.\n\n 12 imported pay apps were normalized overnight. Two need operator review before approval routing.\n\n Four queued items are missing billing periods and will not export until corrected.\n\n Needs Review\n Ready To Approve\n Recently Exported\n\n Queue Filters\n The toolbar uses the new field wrapper so labels stay attached to controls as the row wraps.\n\n Search\n\n Status\n\n All statuses\n Needs review\n Approved\n Rejected\n\n Period\n\n All periods\n March 2026\n April 2026\n\n Minimum\n\n $\n\n Save View\n Apply Filters\n\n Open Pay Apps\n Dense queue layout with explicit status, right-aligned numerics, and small actions.\n\n Project\n Vendor\n Period\n Amount\n Status\n Owner\n Actions\n\n AP-2026-00142\n OpenPay Electric\n March 2026\n $18,240.22\n Needs Review\n AP Team\n Open\n\n AP-2026-00144\n ACME Siteworks\n March 2026\n $11,908.12\n Ready\n A. Johnson\n Open\n\n AP-2026-00147\n SitePro Mechanical\n March 2026\n $7,244.00\n Blocked\n Legal Review\n Open\n\n AP-2026-00152\n North Range Concrete\n April 2026\n $5,665.80\n Needs Review\n AP Team\n Open\n\n AP-2026-00158\n Highline Framing\n April 2026\n $21,180.00\n Ready\n A. Johnson\n Open\n\n Showing 1-5 of 32 items\n\n Previous\n 1\n 2\n 3\n Next\n\n This pane shows how the same page shell can switch to a lighter approval-ready view without changing the surrounding layout.\n\n Recently exported items can live in a quieter pane with the same toolbar, table, and pagination primitives reused as needed.\n\n Queue example for sidebar navigation, tables, and filter density.",
|
|
8
|
+
"sourcePaths": [
|
|
9
|
+
"work-queue.html"
|
|
10
|
+
],
|
|
11
|
+
"mimeType": "text/markdown; charset=utf-8",
|
|
12
|
+
"aliases": [
|
|
13
|
+
"queue",
|
|
14
|
+
"operator queue"
|
|
15
|
+
],
|
|
16
|
+
"relatedUris": [],
|
|
17
|
+
"group": "examples",
|
|
18
|
+
"priority": 55,
|
|
19
|
+
"includeInSearch": true,
|
|
20
|
+
"searchText": "Operator work queue\nOperator work queue with sidebar navigation and table-heavy composition.\nOperator work queue with sidebar navigation and table-heavy composition.\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 Work Queue\n\n Queue Menu\n\n Operations\n\n Open pay apps\n 32\n\n Exceptions\n 4\n\n Vendor imports\n 9\n\n Management\n\n Approvals\n 7\n\n Audit trail\n\n Saved Views\n\n Needs review\n Ready to export\n Sync failures\n\n Queue Pattern\n Operator work queue\n Sidebar navigation, line tabs, alerts, filter toolbars, and a dense table with pagination.\n\n 12 imported pay apps were normalized overnight. Two need operator review before approval routing.\n\n Four queued items are missing billing periods and will not export until corrected.\n\n Needs Review\n Ready To Approve\n Recently Exported\n\n Queue Filters\n The toolbar uses the new field wrapper so labels stay attached to controls as the row wraps.\n\n Search\n\n Status\n\n All statuses\n Needs review\n Approved\n Rejected\n\n Period\n\n All periods\n March 2026\n April 2026\n\n Minimum\n\n $\n\n Save View\n Apply Filters\n\n Open Pay Apps\n Dense queue layout with explicit status, right-aligned numerics, and small actions.\n\n Project\n Vendor\n Period\n Amount\n Status\n Owner\n Actions\n\n AP-2026-00142\n OpenPay Electric\n March 2026\n $18,240.22\n Needs Review\n AP Team\n Open\n\n AP-2026-00144\n ACME Siteworks\n March 2026\n $11,908.12\n Ready\n A. Johnson\n Open\n\n AP-2026-00147\n SitePro Mechanical\n March 2026\n $7,244.00\n Blocked\n Legal Review\n Open\n\n AP-2026-00152\n North Range Concrete\n April 2026\n $5,665.80\n Needs Review\n AP Team\n Open\n\n AP-2026-00158\n Highline Framing\n April 2026\n $21,180.00\n Ready\n A. Johnson\n Open\n\n Showing 1-5 of 32 items\n\n Previous\n 1\n 2\n 3\n Next\n\n This pane shows how the same page shell can switch to a lighter approval-ready view without changing the surrounding layout.\n\n Recently exported items can live in a quieter pane with the same toolbar, table, and pagination primitives reused as needed.\n\n Queue example for sidebar navigation, tables, and filter density.\nqueue\noperator queue\nwork-queue.html"
|
|
21
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"uri": "ui-kit://guides/allowed-web-component-families",
|
|
3
|
+
"title": "Allowed web component families",
|
|
4
|
+
"kind": "guide",
|
|
5
|
+
"searchKind": "guide",
|
|
6
|
+
"summary": "The approved v1 browser-native families and the surfaces that stay CSS-first.",
|
|
7
|
+
"body": "Approved v1 browser-native families from the repo guidance:\n- layouts and shells\n- navbar, tabs, and user menu\n- field, input group, choice group, readonly field, and validation summary\n- state panel, live region, auto-refresh, and theme switcher\n- disclosure, dialog, and drawer\nUse the CSS classes by default. Use Web Components when you want the same design language from plain HTML, JavaScript, and slots rather than hand-wired class markup. Use native HTML primitives first when `<button>`, `<input>`, `<details>`, or `<dialog>` already satisfy the interaction and accessibility contract.\n\nLoad the optional layered entrypoints from the same package:\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\nThe module auto-defines the shipped elements on load. If you prefer explicit registration control, import the same entrypoint in your module graph and call the exported registration helper from your own bootstrap code.\n\nThe v1 Web Component scope covers:\n\n- layouts and shells: [`inc-app-shell`](reference.html), [`inc-page`](reference.html), [`inc-page-header`](reference.html), [`inc-section`](reference.html), [`inc-card`](reference.html), [`inc-summary-overview`](reference.html), [`inc-summary-block`](reference.html), [`inc-footer-bar`](reference.html)\n- navigation: [`inc-navbar`](reference.html), [`inc-tabs`](reference.html), [`inc-user-menu`](reference.html)\n- forms and inputs: [`inc-field`](reference.html), [`inc-input-group`](reference.html), [`inc-choice-group`](reference.html), [`inc-readonly-field`](reference.html), [`inc-validation-summary`](reference.html)\n- feedback and status: [`inc-state-panel`](reference.html), [`inc-live-region`](reference.html), [`inc-auto-refresh`](reference.html), [`inc-theme-switcher`](reference.html), [`inc-badge`](reference.html), [`inc-spinner`](reference.html)\n- actions and detail shells: [`inc-button`](reference.html), [`inc-button-group`](reference.html), [`inc-button-toolbar`](reference.html), [`inc-close-button`](reference.html), [`inc-alert`](reference.html), [`inc-empty-state`](reference.html), [`inc-list-group`](reference.html), [`inc-key-value-grid`](reference.html), [`inc-key-value`](reference.html)\n- overlays and disclosures: [`inc-disclosure`](reference.html), [`inc-dialog`](reference.html), [`inc-drawer`](reference.html)\n\nThe intentionally deferred surfaces stay CSS-first in v1, including tables and the remaining data presentation surfaces, filter and bulk toolbars, file workflows, permission banners, toasts, utility helpers, and the remaining compatibility overlay shells.\n\nFor maintainers, treat the Web Component layer as an additive wrapper over the same design language: one package, one token system, one naming vocabulary, and the same helper behavior where it already exists.\n\nLicensed under Apache 2.0.",
|
|
8
|
+
"sourcePaths": [
|
|
9
|
+
"README.md",
|
|
10
|
+
"LLMS.txt"
|
|
11
|
+
],
|
|
12
|
+
"mimeType": "text/markdown; charset=utf-8",
|
|
13
|
+
"aliases": [],
|
|
14
|
+
"relatedUris": [],
|
|
15
|
+
"group": "guides",
|
|
16
|
+
"priority": 80,
|
|
17
|
+
"includeInSearch": true,
|
|
18
|
+
"searchText": "Allowed web component families\nThe approved v1 browser-native families and the surfaces that stay CSS-first.\nApproved v1 browser-native families from the repo guidance:\n- layouts and shells\n- navbar, tabs, and user menu\n- field, input group, choice group, readonly field, and validation summary\n- state panel, live region, auto-refresh, and theme switcher\n- disclosure, dialog, and drawer\nUse the CSS classes by default. Use Web Components when you want the same design language from plain HTML, JavaScript, and slots rather than hand-wired class markup. Use native HTML primitives first when `<button>`, `<input>`, `<details>`, or `<dialog>` already satisfy the interaction and accessibility contract.\n\nLoad the optional layered entrypoints from the same package:\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\nThe module auto-defines the shipped elements on load. If you prefer explicit registration control, import the same entrypoint in your module graph and call the exported registration helper from your own bootstrap code.\n\nThe v1 Web Component scope covers:\n\n- layouts and shells: [`inc-app-shell`](reference.html), [`inc-page`](reference.html), [`inc-page-header`](reference.html), [`inc-section`](reference.html), [`inc-card`](reference.html), [`inc-summary-overview`](reference.html), [`inc-summary-block`](reference.html), [`inc-footer-bar`](reference.html)\n- navigation: [`inc-navbar`](reference.html), [`inc-tabs`](reference.html), [`inc-user-menu`](reference.html)\n- forms and inputs: [`inc-field`](reference.html), [`inc-input-group`](reference.html), [`inc-choice-group`](reference.html), [`inc-readonly-field`](reference.html), [`inc-validation-summary`](reference.html)\n- feedback and status: [`inc-state-panel`](reference.html), [`inc-live-region`](reference.html), [`inc-auto-refresh`](reference.html), [`inc-theme-switcher`](reference.html), [`inc-badge`](reference.html), [`inc-spinner`](reference.html)\n- actions and detail shells: [`inc-button`](reference.html), [`inc-button-group`](reference.html), [`inc-button-toolbar`](reference.html), [`inc-close-button`](reference.html), [`inc-alert`](reference.html), [`inc-empty-state`](reference.html), [`inc-list-group`](reference.html), [`inc-key-value-grid`](reference.html), [`inc-key-value`](reference.html)\n- overlays and disclosures: [`inc-disclosure`](reference.html), [`inc-dialog`](reference.html), [`inc-drawer`](reference.html)\n\nThe intentionally deferred surfaces stay CSS-first in v1, including tables and the remaining data presentation surfaces, filter and bulk toolbars, file workflows, permission banners, toasts, utility helpers, and the remaining compatibility overlay shells.\n\nFor maintainers, treat the Web Component layer as an additive wrapper over the same design language: one package, one token system, one naming vocabulary, and the same helper behavior where it already exists.\n\nLicensed under Apache 2.0.\nREADME.md\nLLMS.txt"
|
|
19
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"uri": "ui-kit://guides/choose-css-vs-scss-vs-js-vs-web-components",
|
|
3
|
+
"title": "Choose CSS vs SCSS vs JS vs web components",
|
|
4
|
+
"kind": "guide",
|
|
5
|
+
"searchKind": "guide",
|
|
6
|
+
"summary": "Decision tree for the package entrypoints and helper surfaces.",
|
|
7
|
+
"body": "Decision tree:\n- Existing HTML and mostly visual work: use the compiled CSS.\n- Token, density, or Bootstrap-default tuning: use the SCSS source entrypoint.\n- Stateful primitives like menus, tabs, collapses, auto-refresh, or dialog launch hooks: use the JS helper.\n- Approved v1 browser-native families: use the same-package web-components entrypoint.\n- Start with the highest-level public surface that already fits the job.\n- Prefer [`web-components.html`](web-components.html) and the same-package [`./web-components`](./web-components) entrypoint when you are building new UI from plain HTML/JS and the capability exists in the approved v1 component set.\n- Prefer [`dist/inc-design-language.css`](dist/inc-design-language.css) with raw HTML plus [`inc-*`](reference.html) classes when the markup already exists, the family is CSS-only, or you only need styling.\n- Use native `<button>`, `<input>`, `<details>`, and `<dialog>` before adding helper wiring or custom elements.\n- Drop into `src/*` or token files only when the public surface cannot express the needed layout or behavior.",
|
|
8
|
+
"sourcePaths": [
|
|
9
|
+
"README.md",
|
|
10
|
+
"LLMS.txt",
|
|
11
|
+
"AI-AGENT-INSTRUCTIONS.md"
|
|
12
|
+
],
|
|
13
|
+
"mimeType": "text/markdown; charset=utf-8",
|
|
14
|
+
"aliases": [],
|
|
15
|
+
"relatedUris": [],
|
|
16
|
+
"group": "guides",
|
|
17
|
+
"priority": 80,
|
|
18
|
+
"includeInSearch": true,
|
|
19
|
+
"searchText": "Choose CSS vs SCSS vs JS vs web components\nDecision tree for the package entrypoints and helper surfaces.\nDecision tree:\n- Existing HTML and mostly visual work: use the compiled CSS.\n- Token, density, or Bootstrap-default tuning: use the SCSS source entrypoint.\n- Stateful primitives like menus, tabs, collapses, auto-refresh, or dialog launch hooks: use the JS helper.\n- Approved v1 browser-native families: use the same-package web-components entrypoint.\n- Start with the highest-level public surface that already fits the job.\n- Prefer [`web-components.html`](web-components.html) and the same-package [`./web-components`](./web-components) entrypoint when you are building new UI from plain HTML/JS and the capability exists in the approved v1 component set.\n- Prefer [`dist/inc-design-language.css`](dist/inc-design-language.css) with raw HTML plus [`inc-*`](reference.html) classes when the markup already exists, the family is CSS-only, or you only need styling.\n- Use native `<button>`, `<input>`, `<details>`, and `<dialog>` before adding helper wiring or custom elements.\n- Drop into `src/*` or token files only when the public surface cannot express the needed layout or behavior.\nREADME.md\nLLMS.txt\nAI-AGENT-INSTRUCTIONS.md"
|
|
20
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"uri": "ui-kit://guides/customization-order",
|
|
3
|
+
"title": "Customization order",
|
|
4
|
+
"kind": "guide",
|
|
5
|
+
"searchKind": "guide",
|
|
6
|
+
"summary": "The supported order for theme, token, rebuild, and component-rule changes.",
|
|
7
|
+
"body": "Customization order:\n1. Change fonts and colors in src/_inc-theme.scss.\n2. Use src/_inc-tokens.scss only for deeper token or Bootstrap-level tuning.\n3. Rebuild the CSS.\n4. Only add new component rules after checking whether an existing inc-* block already fits.\n1. Change fonts and colors in [`src/_inc-theme.scss`](src/_inc-theme.scss).\n2. Use [`src/_inc-tokens.scss`](src/_inc-tokens.scss) only for deeper token or Bootstrap-level tuning.\n3. Rebuild the CSS.\n4. Only add new component rules after checking whether an existing [`inc-*`](reference.html) block already fits.",
|
|
8
|
+
"sourcePaths": [
|
|
9
|
+
"AI-AGENT-INSTRUCTIONS.md",
|
|
10
|
+
"LLMS.txt",
|
|
11
|
+
"README.md"
|
|
12
|
+
],
|
|
13
|
+
"mimeType": "text/markdown; charset=utf-8",
|
|
14
|
+
"aliases": [],
|
|
15
|
+
"relatedUris": [],
|
|
16
|
+
"group": "guides",
|
|
17
|
+
"priority": 80,
|
|
18
|
+
"includeInSearch": true,
|
|
19
|
+
"searchText": "Customization order\nThe supported order for theme, token, rebuild, and component-rule changes.\nCustomization order:\n1. Change fonts and colors in src/_inc-theme.scss.\n2. Use src/_inc-tokens.scss only for deeper token or Bootstrap-level tuning.\n3. Rebuild the CSS.\n4. Only add new component rules after checking whether an existing inc-* block already fits.\n1. Change fonts and colors in [`src/_inc-theme.scss`](src/_inc-theme.scss).\n2. Use [`src/_inc-tokens.scss`](src/_inc-tokens.scss) only for deeper token or Bootstrap-level tuning.\n3. Rebuild the CSS.\n4. Only add new component rules after checking whether an existing [`inc-*`](reference.html) block already fits.\nAI-AGENT-INSTRUCTIONS.md\nLLMS.txt\nREADME.md"
|
|
20
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"uri": "ui-kit://install/decision-tree",
|
|
3
|
+
"title": "Install decision tree",
|
|
4
|
+
"kind": "guide",
|
|
5
|
+
"searchKind": "install",
|
|
6
|
+
"summary": "Choose compiled CSS, SCSS, JS helper, or web-components based on the consumer scenario.",
|
|
7
|
+
"body": "Decision tree:\n- Existing HTML and mostly visual work: use the compiled CSS surface.\n- Token, density, or Bootstrap-default tuning: use the SCSS source entrypoint.\n- Stateful primitives like menus, tabs, collapses, auto-refresh, or dialog launch hooks: use the JS helper.\n- Approved v1 browser-native families: use the same-package web-components entrypoint.\n\nRelated entrypoints:\n- Compiled CSS: `dist/inc-design-language.css`\n- JS helper: `dist/inc-design-language.js`\n- Web components: `@incursa/ui-kit/web-components`\n- SCSS source: `src/inc-design-language.scss`",
|
|
8
|
+
"sourcePaths": [
|
|
9
|
+
"README.md",
|
|
10
|
+
"LLMS.txt",
|
|
11
|
+
"AI-AGENT-INSTRUCTIONS.md"
|
|
12
|
+
],
|
|
13
|
+
"mimeType": "text/markdown; charset=utf-8",
|
|
14
|
+
"aliases": [
|
|
15
|
+
"install decision tree",
|
|
16
|
+
"decision tree",
|
|
17
|
+
"surface selection"
|
|
18
|
+
],
|
|
19
|
+
"relatedUris": [
|
|
20
|
+
"ui-kit://install",
|
|
21
|
+
"ui-kit://fast-path",
|
|
22
|
+
"ui-kit://guides/choose-css-vs-scss-vs-js-vs-web-components"
|
|
23
|
+
],
|
|
24
|
+
"group": "guides",
|
|
25
|
+
"priority": 109,
|
|
26
|
+
"includeInSearch": true,
|
|
27
|
+
"searchText": "Install decision tree\nChoose compiled CSS, SCSS, JS helper, or web-components based on the consumer scenario.\nDecision tree:\n- Existing HTML and mostly visual work: use the compiled CSS surface.\n- Token, density, or Bootstrap-default tuning: use the SCSS source entrypoint.\n- Stateful primitives like menus, tabs, collapses, auto-refresh, or dialog launch hooks: use the JS helper.\n- Approved v1 browser-native families: use the same-package web-components entrypoint.\n\nRelated entrypoints:\n- Compiled CSS: `dist/inc-design-language.css`\n- JS helper: `dist/inc-design-language.js`\n- Web components: `@incursa/ui-kit/web-components`\n- SCSS source: `src/inc-design-language.scss`\ninstall decision tree\ndecision tree\nsurface selection\nREADME.md\nLLMS.txt\nAI-AGENT-INSTRUCTIONS.md"
|
|
28
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"uri": "ui-kit://guides/guardrails",
|
|
3
|
+
"title": "Guardrails",
|
|
4
|
+
"kind": "guide",
|
|
5
|
+
"searchKind": "guide",
|
|
6
|
+
"summary": "Repository guardrails for naming, accessibility, and component scope.",
|
|
7
|
+
"body": "- Keep the typography stack split:\n sans for UI text, mono for data.\n- Preserve explicit alignment classes for numeric table data.\n- Avoid adding product-specific shell/background styles to this package.\n- Keep new components generic enough to drop into another admin/data app.\n- If you add a new block, prefer names like [`inc-filter-bar`](reference.html), [`inc-stat-card`](reference.html), or [`inc-data-toolbar`](reference.html) over feature-specific names.\n- Keep border radius consistent across panels, tabs, tables, and cards unless there is a deliberate reason to differentiate them.\n- Prefer native browser behavior first for disclosures and dialogs when it fits the product; use the helper only when the Bootstrap-like component contract needs custom state handling.\n- Keep the CSS-first class API canonical and treat the Web Component layer as additive, not a replacement.",
|
|
8
|
+
"sourcePaths": [
|
|
9
|
+
"AI-AGENT-INSTRUCTIONS.md",
|
|
10
|
+
"LLMS.txt",
|
|
11
|
+
"README.md"
|
|
12
|
+
],
|
|
13
|
+
"mimeType": "text/markdown; charset=utf-8",
|
|
14
|
+
"aliases": [],
|
|
15
|
+
"relatedUris": [],
|
|
16
|
+
"group": "guides",
|
|
17
|
+
"priority": 80,
|
|
18
|
+
"includeInSearch": true,
|
|
19
|
+
"searchText": "Guardrails\nRepository guardrails for naming, accessibility, and component scope.\n- Keep the typography stack split:\n sans for UI text, mono for data.\n- Preserve explicit alignment classes for numeric table data.\n- Avoid adding product-specific shell/background styles to this package.\n- Keep new components generic enough to drop into another admin/data app.\n- If you add a new block, prefer names like [`inc-filter-bar`](reference.html), [`inc-stat-card`](reference.html), or [`inc-data-toolbar`](reference.html) over feature-specific names.\n- Keep border radius consistent across panels, tabs, tables, and cards unless there is a deliberate reason to differentiate them.\n- Prefer native browser behavior first for disclosures and dialogs when it fits the product; use the helper only when the Bootstrap-like component contract needs custom state handling.\n- Keep the CSS-first class API canonical and treat the Web Component layer as additive, not a replacement.\nAI-AGENT-INSTRUCTIONS.md\nLLMS.txt\nREADME.md"
|
|
20
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"uri": "ui-kit://install",
|
|
3
|
+
"title": "Install",
|
|
4
|
+
"kind": "guide",
|
|
5
|
+
"searchKind": "install",
|
|
6
|
+
"summary": "Install guidance for compiled CSS, SCSS, JS helper, and web-components entrypoints.",
|
|
7
|
+
"body": "Install @incursa/ui-kit with npm, pnpm, or yarn.\n\nnpm: npm install @incursa/ui-kit\npnpm: pnpm add @incursa/ui-kit\nyarn: yarn add @incursa/ui-kit\n\nInstall decision tree:\n- Existing HTML and mostly visual work: use the compiled CSS surface.\n- Token, density, or Bootstrap-default tuning: use the SCSS source entrypoint.\n- Stateful primitives like menus, tabs, collapses, auto-refresh, or dialog launch hooks: use the JS helper.\n- Approved v1 browser-native families: use the same-package web-components entrypoint.\n\nCSS-only import: import \"@incursa/ui-kit/dist/inc-design-language.css\";\nJS helper import: import \"@incursa/ui-kit/dist/inc-design-language.js\";\nWeb components import:\nimport \"@incursa/ui-kit/web-components/style.css\";\nimport \"@incursa/ui-kit/web-components\";\nSCSS import: @import \"@incursa/ui-kit/src/inc-design-language\";\n\n- The compiled CSS already includes the Bootstrap layer it was built on.\n- The SCSS source path requires Bootstrap Sass at build time because it imports bootstrap/scss/bootstrap.\n- The same-package web-components entrypoint is additive and keeps the CSS-first surface intact.\n- Use the JS helper only for stateful primitives such as menus, tabs, collapsible sections, auto-refresh widgets, and dialog launch hooks.",
|
|
8
|
+
"sourcePaths": [
|
|
9
|
+
"README.md",
|
|
10
|
+
"LLMS.txt",
|
|
11
|
+
"AI-AGENT-INSTRUCTIONS.md",
|
|
12
|
+
"package.json"
|
|
13
|
+
],
|
|
14
|
+
"mimeType": "text/markdown; charset=utf-8",
|
|
15
|
+
"aliases": [
|
|
16
|
+
"install",
|
|
17
|
+
"installation",
|
|
18
|
+
"setup"
|
|
19
|
+
],
|
|
20
|
+
"relatedUris": [
|
|
21
|
+
"ui-kit://overview",
|
|
22
|
+
"ui-kit://fast-path",
|
|
23
|
+
"ui-kit://install/decision-tree",
|
|
24
|
+
"ui-kit://guides/choose-css-vs-scss-vs-js-vs-web-components",
|
|
25
|
+
"ui-kit://guides/when-to-use-css-first"
|
|
26
|
+
],
|
|
27
|
+
"group": "guides",
|
|
28
|
+
"priority": 110,
|
|
29
|
+
"includeInSearch": true,
|
|
30
|
+
"searchText": "Install\nInstall guidance for compiled CSS, SCSS, JS helper, and web-components entrypoints.\nInstall @incursa/ui-kit with npm, pnpm, or yarn.\n\nnpm: npm install @incursa/ui-kit\npnpm: pnpm add @incursa/ui-kit\nyarn: yarn add @incursa/ui-kit\n\nInstall decision tree:\n- Existing HTML and mostly visual work: use the compiled CSS surface.\n- Token, density, or Bootstrap-default tuning: use the SCSS source entrypoint.\n- Stateful primitives like menus, tabs, collapses, auto-refresh, or dialog launch hooks: use the JS helper.\n- Approved v1 browser-native families: use the same-package web-components entrypoint.\n\nCSS-only import: import \"@incursa/ui-kit/dist/inc-design-language.css\";\nJS helper import: import \"@incursa/ui-kit/dist/inc-design-language.js\";\nWeb components import:\nimport \"@incursa/ui-kit/web-components/style.css\";\nimport \"@incursa/ui-kit/web-components\";\nSCSS import: @import \"@incursa/ui-kit/src/inc-design-language\";\n\n- The compiled CSS already includes the Bootstrap layer it was built on.\n- The SCSS source path requires Bootstrap Sass at build time because it imports bootstrap/scss/bootstrap.\n- The same-package web-components entrypoint is additive and keeps the CSS-first surface intact.\n- Use the JS helper only for stateful primitives such as menus, tabs, collapsible sections, auto-refresh widgets, and dialog launch hooks.\ninstall\ninstallation\nsetup\nREADME.md\nLLMS.txt\nAI-AGENT-INSTRUCTIONS.md\npackage.json"
|
|
31
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"uri": "ui-kit://release-notes/latest",
|
|
3
|
+
"title": "Latest release notes",
|
|
4
|
+
"kind": "guide",
|
|
5
|
+
"searchKind": "guide",
|
|
6
|
+
"summary": "The latest recorded changelog entry.",
|
|
7
|
+
"body": "- Made the file workflow examples functional with shared browse, drag-drop, and removable file-row behavior.\n- Added dismissible and timeout-driven alert behavior, fixed close-button rendering, and tightened the auto-refresh controls and loading-button examples.\n- Improved dark-mode contrast across filter chips, review-grid row states, and related showcase surfaces, with expanded browser coverage and refreshed generated assets.",
|
|
8
|
+
"sourcePaths": [
|
|
9
|
+
"CHANGELOG.md"
|
|
10
|
+
],
|
|
11
|
+
"mimeType": "text/markdown; charset=utf-8",
|
|
12
|
+
"aliases": [
|
|
13
|
+
"release notes",
|
|
14
|
+
"changelog",
|
|
15
|
+
"latest release"
|
|
16
|
+
],
|
|
17
|
+
"relatedUris": [
|
|
18
|
+
"ui-kit://update",
|
|
19
|
+
"ui-kit://package-metadata"
|
|
20
|
+
],
|
|
21
|
+
"group": "guides",
|
|
22
|
+
"priority": 95,
|
|
23
|
+
"includeInSearch": true,
|
|
24
|
+
"searchText": "Latest release notes\nThe latest recorded changelog entry.\n- Made the file workflow examples functional with shared browse, drag-drop, and removable file-row behavior.\n- Added dismissible and timeout-driven alert behavior, fixed close-button rendering, and tightened the auto-refresh controls and loading-button examples.\n- Improved dark-mode contrast across filter chips, review-grid row states, and related showcase surfaces, with expanded browser coverage and refreshed generated assets.\nrelease notes\nchangelog\nlatest release\nCHANGELOG.md"
|
|
25
|
+
}
|