@adia-ai/a2ui-corpus 0.6.22 → 0.6.23
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/CHANGELOG.md +9 -0
- package/catalog-a2ui_0_9.json +6 -1
- package/chunk-embeddings.json +1 -1
- package/chunks/_index.json +157 -10
- package/chunks/accordion-settings.json +1 -1
- package/chunks/agent-activity-feed.json +1 -1
- package/chunks/agent-canvas-shell.json +1 -1
- package/chunks/agent-command-palette-search.json +1 -1
- package/chunks/agent-reasoning-collapsed.json +1 -1
- package/chunks/agent-tool-call-result.json +1 -1
- package/chunks/agent-trace-timeline.json +1 -1
- package/chunks/ai-streaming-response.json +1 -1
- package/chunks/alert-banner.json +1 -1
- package/chunks/auth-account-deleted-actions.json +1 -1
- package/chunks/auth-account-deleted.json +1 -1
- package/chunks/auth-card-content.json +1 -1
- package/chunks/auth-card-header.json +1 -1
- package/chunks/auth-email-entry.json +1 -1
- package/chunks/auth-email-verify-confirm.json +1 -1
- package/chunks/auth-email-verify.json +1 -1
- package/chunks/auth-forbidden-actions.json +1 -1
- package/chunks/auth-forbidden.json +1 -1
- package/chunks/auth-invite-actions.json +1 -1
- package/chunks/auth-invite-team-card.json +1 -1
- package/chunks/auth-link-expired-form.json +1 -1
- package/chunks/auth-link-expired.json +1 -1
- package/chunks/auth-locked-account.json +1 -1
- package/chunks/auth-locked-recovery-options.json +1 -1
- package/chunks/auth-mfa-enrollment-submit.json +1 -1
- package/chunks/auth-mfa-enrollment.json +1 -1
- package/chunks/auth-mfa-fallback-actions.json +1 -1
- package/chunks/auth-mfa-recovery.json +1 -1
- package/chunks/auth-new-password-form.json +1 -1
- package/chunks/auth-new-password.json +1 -1
- package/chunks/auth-oauth-fallback-actions.json +1 -1
- package/chunks/auth-oauth-interstitial.json +1 -1
- package/chunks/auth-password-challenge.json +1 -1
- package/chunks/auth-password-reset-form.json +1 -1
- package/chunks/auth-password-reset.json +1 -1
- package/chunks/auth-profile-form.json +1 -1
- package/chunks/auth-profile-setup.json +1 -1
- package/chunks/auth-reset-sent.json +1 -1
- package/chunks/auth-session-expired-actions.json +1 -1
- package/chunks/auth-session-expired.json +1 -1
- package/chunks/auth-signin-card-email.json +1 -1
- package/chunks/auth-signin-card-magic-link.json +1 -1
- package/chunks/auth-signin-card-mfa.json +1 -1
- package/chunks/auth-signin-card-otp.json +1 -1
- package/chunks/auth-signin-card-password.json +1 -1
- package/chunks/auth-signin-card-recovery.json +1 -1
- package/chunks/auth-signout-actions.json +1 -1
- package/chunks/auth-signout.json +1 -1
- package/chunks/auth-signup-email-entry.json +1 -1
- package/chunks/auth-signup-entry.json +1 -1
- package/chunks/auth-signup-social-auths.json +1 -1
- package/chunks/auth-signup-verify.json +1 -1
- package/chunks/auth-social-auths.json +1 -1
- package/chunks/auth-sso-providers.json +1 -1
- package/chunks/auth-sso-required.json +1 -1
- package/chunks/auth-team-invite.json +1 -1
- package/chunks/avatar-group-overflow.json +1 -1
- package/chunks/breadcrumb-nav.json +1 -1
- package/chunks/calendar-month-view.json +1 -1
- package/chunks/card-header-with-description.json +1 -1
- package/chunks/chart-with-filter-pills.json +1 -1
- package/chunks/chat-page-shell.json +1 -1
- package/chunks/chat-streaming-surface.json +1 -1
- package/chunks/color-picker-swatches.json +1 -1
- package/chunks/command-palette.json +1 -1
- package/chunks/commerce-pricing-tiers.json +1 -1
- package/chunks/comparison-table.json +1 -1
- package/chunks/conversion-funnel-6step.json +1 -1
- package/chunks/dashboard-acquisition-panel.json +17 -39
- package/chunks/dashboard-admin-page.json +2 -2
- package/chunks/dashboard-audience-kpis.json +153 -3
- package/chunks/dashboard-audience-panel.json +4 -8
- package/chunks/dashboard-behavior-panel.json +1 -1
- package/chunks/dashboard-chart-recent.json +7 -5
- package/chunks/dashboard-cohort-retention.json +1 -1
- package/chunks/dashboard-conversion-panel.json +1 -1
- package/chunks/dashboard-country-list.json +1 -1
- package/chunks/dashboard-filter-bar.json +1 -1
- package/chunks/dashboard-funnel.json +1 -1
- package/chunks/dashboard-kpi-grid.json +7 -9
- package/chunks/dashboard-notifications-feed.json +2 -2
- package/chunks/dashboard-notifications-panel.json +3 -2
- package/chunks/dashboard-overview-panel.json +12 -15
- package/chunks/dashboard-page-header.json +1 -1
- package/chunks/dashboard-pages-table.json +1 -1
- package/chunks/dashboard-quick-actions.json +1 -1
- package/chunks/dashboard-reports-panel.json +3 -2
- package/chunks/dashboard-reports-table.json +2 -2
- package/chunks/dashboard-spark-cards.json +7 -5
- package/chunks/dashboard-storage-card.json +1 -1
- package/chunks/dashboard-tabs.json +1 -1
- package/chunks/dashboard-team-actions-storage.json +7 -5
- package/chunks/dashboard-team-list.json +1 -1
- package/chunks/dashboard-traffic-channels.json +136 -3
- package/chunks/dashboard-transactions-table.json +4 -3
- package/chunks/date-time-picker-form.json +1 -1
- package/chunks/destructive-confirm-modal.json +1 -1
- package/chunks/divider-text-label.json +1 -1
- package/chunks/doc-editor-shell.json +1 -1
- package/chunks/drawer-2fa-key.json +2 -2
- package/chunks/drawer-2fa-sms.json +2 -2
- package/chunks/drawer-2fa-totp.json +2 -2
- package/chunks/drawer-cancel-sub.json +2 -2
- package/chunks/drawer-change-plan.json +2 -2
- package/chunks/drawer-custom-roles.json +2 -2
- package/chunks/drawer-data-start.json +2 -2
- package/chunks/drawer-delete-account.json +2 -2
- package/chunks/drawer-delete-workspace.json +2 -2
- package/chunks/drawer-discord.json +2 -2
- package/chunks/drawer-figma.json +2 -2
- package/chunks/drawer-first-dashboard.json +2 -2
- package/chunks/drawer-gcal.json +2 -2
- package/chunks/drawer-github.json +2 -2
- package/chunks/drawer-invite.json +2 -2
- package/chunks/drawer-payment-method.json +4 -3
- package/chunks/drawer-report.json +2 -2
- package/chunks/drawer-revoke-session.json +2 -2
- package/chunks/drawer-role.json +2 -2
- package/chunks/drawer-slack.json +2 -2
- package/chunks/drawer-smtp.json +2 -2
- package/chunks/drawer-source.json +2 -2
- package/chunks/drawer-transaction.json +2 -2
- package/chunks/editor-code-pane.json +1 -1
- package/chunks/editor-page-shell.json +1 -1
- package/chunks/editor-preview-pane.json +1 -1
- package/chunks/empty-state-danger.json +57 -0
- package/chunks/empty-state-minimal.json +44 -0
- package/chunks/empty-state-warning.json +52 -0
- package/chunks/empty-state.json +1 -1
- package/chunks/error-404-actions.json +1 -1
- package/chunks/error-404.json +1 -1
- package/chunks/error-500-actions.json +1 -1
- package/chunks/error-500.json +1 -1
- package/chunks/error-maintenance-actions.json +1 -1
- package/chunks/error-maintenance.json +1 -1
- package/chunks/error-page-shell.json +1 -1
- package/chunks/faq-accordion.json +1 -1
- package/chunks/file-upload-dnd.json +1 -1
- package/chunks/footer-multi-column.json +1 -1
- package/chunks/footer-primary-only.json +1 -1
- package/chunks/form-page-shell.json +1 -1
- package/chunks/gallery-page-shell.json +1 -1
- package/chunks/hero-section-split.json +1 -1
- package/chunks/icon-text-row.json +1 -1
- package/chunks/image-carousel.json +1 -1
- package/chunks/image-tile.json +1 -1
- package/chunks/image-upload-preview.json +1 -1
- package/chunks/inventory-list-stock.json +1 -1
- package/chunks/kanban-board-3col.json +2 -10
- package/chunks/kanban-page-shell.json +1 -1
- package/chunks/kbd-shortcuts.json +1 -1
- package/chunks/labeled-textarea.json +1 -1
- package/chunks/leaderboard-table.json +1 -1
- package/chunks/linked-record-row.json +1 -1
- package/chunks/marketing-hero-cta.json +1 -1
- package/chunks/marketing-page-shell.json +1 -1
- package/chunks/masonry-gallery.json +1 -1
- package/chunks/member-edit-drawer.json +1 -1
- package/chunks/metadata-description-list.json +1 -1
- package/chunks/multi-step-wizard.json +1 -1
- package/chunks/notification-toast-row.json +1 -1
- package/chunks/onb-completion.json +1 -1
- package/chunks/onb-extension-install.json +1 -1
- package/chunks/onb-hero-welcome.json +1 -1
- package/chunks/onb-import-picker.json +1 -1
- package/chunks/onb-mobile-handoff.json +1 -1
- package/chunks/onb-notification-prefs.json +1 -1
- package/chunks/onb-persona-picker.json +1 -1
- package/chunks/onb-provider-tiles.json +1 -1
- package/chunks/onb-settings-review.json +1 -1
- package/chunks/onb-step-footer.json +1 -1
- package/chunks/onb-step-header.json +1 -1
- package/chunks/onb-step-progress.json +1 -1
- package/chunks/onb-step-shell.json +1 -1
- package/chunks/onb-story-pane.json +1 -1
- package/chunks/onb-tutorial-steps.json +1 -1
- package/chunks/pagination-controls.json +1 -1
- package/chunks/playground-a2ui.json +1 -1
- package/chunks/playground-app-shell.json +2 -2
- package/chunks/playground-chat.json +2 -2
- package/chunks/playground-construct-canvas.json +1 -1
- package/chunks/playground-gen-ui.json +1 -1
- package/chunks/playground-render-preview.json +1 -1
- package/chunks/playground-streams-bridge.json +1 -1
- package/chunks/playground-table-toolbar.json +1 -1
- package/chunks/popover-with-content.json +1 -1
- package/chunks/progress-tracker-milestones.json +1 -1
- package/chunks/real-time-metrics-dashboard.json +3 -2
- package/chunks/reg-address-form.json +1 -1
- package/chunks/reg-billing-card.json +1 -1
- package/chunks/reg-brand-scrape.json +1 -1
- package/chunks/reg-departments-toggle.json +1 -1
- package/chunks/reg-extended-profile.json +1 -1
- package/chunks/reg-final-done.json +2 -2
- package/chunks/reg-helpdesk-grid.json +1 -1
- package/chunks/reg-import-picker.json +1 -1
- package/chunks/reg-integrations-grid.json +1 -1
- package/chunks/reg-invite-form.json +1 -1
- package/chunks/reg-legal-entity.json +1 -1
- package/chunks/reg-org-chart-review.json +1 -1
- package/chunks/reg-profile-identity.json +1 -1
- package/chunks/reg-step-footer.json +1 -1
- package/chunks/reg-step-header.json +1 -1
- package/chunks/reg-step-progress.json +1 -1
- package/chunks/reg-step-shell.json +1 -1
- package/chunks/reg-story-pane.json +1 -1
- package/chunks/reg-success-summary.json +1 -1
- package/chunks/reg-team-size.json +1 -1
- package/chunks/reg-usecase-picker.json +1 -1
- package/chunks/reg-workspace-name.json +1 -1
- package/chunks/responsive-kpi-grid.json +166 -0
- package/chunks/search-with-filters.json +1 -1
- package/chunks/section-with-stack.json +1 -1
- package/chunks/settings-admin-page.json +5 -8
- package/chunks/settings-appearance.json +1 -1
- package/chunks/settings-billing-plan.json +2 -2
- package/chunks/settings-general-form.json +1 -1
- package/chunks/settings-integrations.json +8 -8
- package/chunks/settings-members-invite.json +1 -1
- package/chunks/settings-notifications.json +1 -1
- package/chunks/settings-page-shell.json +1 -1
- package/chunks/settings-profile-security.json +1 -1
- package/chunks/sidebar-collapsible-nav.json +1 -1
- package/chunks/slider-range-controls.json +1 -1
- package/chunks/tabs-with-panels.json +1 -1
- package/chunks/testimonial-grid.json +1 -1
- package/chunks/text-card.json +3 -5
- package/chunks/timeline-events.json +1 -1
- package/chunks/toolbar-icons.json +1 -1
- package/chunks/toolbar-tooltips.json +1 -1
- package/chunks/user-identity-row.json +1 -1
- package/chunks/user-profile-card.json +1 -1
- package/chunks/users-table-badge.json +1 -1
- package/chunks/video-player-controls.json +1 -1
- package/package.json +1 -1
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"layout": "panel"
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
|
-
"captured_at": "2026-05-
|
|
37
|
+
"captured_at": "2026-05-22T20:26:33.817Z",
|
|
38
38
|
"template": [
|
|
39
39
|
{
|
|
40
40
|
"id": "text",
|
|
@@ -51,7 +51,8 @@
|
|
|
51
51
|
{
|
|
52
52
|
"id": "text-3",
|
|
53
53
|
"component": "Text",
|
|
54
|
-
"variant": "body"
|
|
54
|
+
"variant": "body",
|
|
55
|
+
"size": "sm"
|
|
55
56
|
},
|
|
56
57
|
{
|
|
57
58
|
"id": "header",
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"slots": [],
|
|
7
7
|
"nested": [],
|
|
8
8
|
"attrs": {},
|
|
9
|
-
"html": "<grid-ui>\n <card-ui>\n <header>\n <span slot=\"heading\">\n <h3>Reports</h3>\n </span>\n <span slot=\"description\">\n <text-ui slot=\"description\" color=\"subtle\">Scheduled reports by category</text-ui>\n </span>\n <span slot=\"action\">\n <segmented-ui id=\"dash-reports-subtabs\" value=\"revenue\">\n <segment-ui value=\"revenue\" text=\"Revenue\"></segment-ui>\n <segment-ui value=\"customers\" text=\"Customers\"></segment-ui>\n <segment-ui value=\"sales\" text=\"Sales\"></segment-ui>\n <segment-ui value=\"errors\" text=\"Errors\"></segment-ui>\n </segmented-ui>\n <button-ui text=\"+ New report\" variant=\"primary\"></button-ui>\n </span>\n </header>\n <section bleed>\n <table-ui id=\"dash-reports-table\" sortable striped raw></table-ui>\n </section>\n </card-ui>\n </grid-ui>",
|
|
9
|
+
"html": "<grid-ui>\n <card-ui>\n <header>\n <span slot=\"heading\">\n <h3>Reports</h3>\n </span>\n <span slot=\"description\">\n <text-ui slot=\"description\" color=\"subtle\">Scheduled reports by category</text-ui>\n </span>\n <span slot=\"action\" size=\"sm\">\n <segmented-ui id=\"dash-reports-subtabs\" value=\"revenue\" size=\"sm\">\n <segment-ui value=\"revenue\" text=\"Revenue\"></segment-ui>\n <segment-ui value=\"customers\" text=\"Customers\"></segment-ui>\n <segment-ui value=\"sales\" text=\"Sales\"></segment-ui>\n <segment-ui value=\"errors\" text=\"Errors\"></segment-ui>\n </segmented-ui>\n <button-ui text=\"+ New report\" variant=\"primary\" size=\"sm\"></button-ui>\n </span>\n </header>\n <section bleed>\n <table-ui id=\"dash-reports-table\" sortable striped raw></table-ui>\n </section>\n </card-ui>\n </grid-ui>",
|
|
10
10
|
"source": "apps/saas/app/admin-dashboard/admin-dashboard.contents.html",
|
|
11
|
-
"captured_at": "2026-05-
|
|
11
|
+
"captured_at": "2026-05-22T20:26:33.817Z"
|
|
12
12
|
}
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
"slots": [],
|
|
7
7
|
"nested": [],
|
|
8
8
|
"attrs": {
|
|
9
|
-
"columns": "4",
|
|
9
|
+
"columns": "2 4@md",
|
|
10
10
|
"gap": "4"
|
|
11
11
|
},
|
|
12
|
-
"html": "<grid-ui columns=\"4\" gap=\"4\">\n <card-ui>\n <header>\n <h3>Page Views</h3>\n <text-ui slot=\"description\" variant=\"title\">84,232</text-ui>\n </header>\n <section bleed>\n <chart-ui id=\"dash-spark-views\" type=\"sparkline\" x=\"d\" y=\"v\"></chart-ui>\n </section>\n </card-ui>\n <card-ui>\n <header>\n <h3>Bounce Rate</h3>\n <text-ui slot=\"description\" variant=\"title\">24.3%</text-ui>\n </header>\n <section bleed>\n <chart-ui id=\"dash-spark-bounce\" type=\"sparkline\" x=\"d\" y=\"v\" color=\"warning\"></chart-ui>\n </section>\n </card-ui>\n <card-ui>\n <header>\n <h3>Session Duration</h3>\n <text-ui slot=\"description\" variant=\"title\">4m 32s</text-ui>\n </header>\n <section bleed>\n <chart-ui id=\"dash-spark-duration\" type=\"sparkline\" x=\"d\" y=\"v\" color=\"success\"></chart-ui>\n </section>\n </card-ui>\n <card-ui>\n <header>\n <h3>Conversion</h3>\n <text-ui slot=\"description\" variant=\"title\">3.2%</text-ui>\n </header>\n <section bleed>\n <chart-ui id=\"dash-spark-conv\" type=\"sparkline\" x=\"d\" y=\"v\" color=\"info\"></chart-ui>\n </section>\n </card-ui>\n </grid-ui>",
|
|
12
|
+
"html": "<grid-ui columns=\"2 4@md\" gap=\"4\">\n <card-ui>\n <header>\n <h3>Page Views</h3>\n <text-ui slot=\"description\" variant=\"title\">84,232</text-ui>\n </header>\n <section bleed>\n <chart-ui id=\"dash-spark-views\" type=\"sparkline\" x=\"d\" y=\"v\"></chart-ui>\n </section>\n </card-ui>\n <card-ui>\n <header>\n <h3>Bounce Rate</h3>\n <text-ui slot=\"description\" variant=\"title\">24.3%</text-ui>\n </header>\n <section bleed>\n <chart-ui id=\"dash-spark-bounce\" type=\"sparkline\" x=\"d\" y=\"v\" color=\"warning\"></chart-ui>\n </section>\n </card-ui>\n <card-ui>\n <header>\n <h3>Session Duration</h3>\n <text-ui slot=\"description\" variant=\"title\">4m 32s</text-ui>\n </header>\n <section bleed>\n <chart-ui id=\"dash-spark-duration\" type=\"sparkline\" x=\"d\" y=\"v\" color=\"success\"></chart-ui>\n </section>\n </card-ui>\n <card-ui>\n <header>\n <h3>Conversion</h3>\n <text-ui slot=\"description\" variant=\"title\">3.2%</text-ui>\n </header>\n <section bleed>\n <chart-ui id=\"dash-spark-conv\" type=\"sparkline\" x=\"d\" y=\"v\" color=\"info\"></chart-ui>\n </section>\n </card-ui>\n </grid-ui>",
|
|
13
13
|
"source": "apps/saas/app/admin-dashboard/admin-dashboard.contents.html",
|
|
14
14
|
"metadata": {
|
|
15
15
|
"domain": "data",
|
|
@@ -24,10 +24,12 @@
|
|
|
24
24
|
"metrics",
|
|
25
25
|
"dashboard",
|
|
26
26
|
"trends",
|
|
27
|
-
"indicators"
|
|
27
|
+
"indicators",
|
|
28
|
+
"responsive",
|
|
29
|
+
"breakpoint"
|
|
28
30
|
]
|
|
29
31
|
},
|
|
30
|
-
"captured_at": "2026-05-
|
|
32
|
+
"captured_at": "2026-05-22T20:26:33.817Z",
|
|
31
33
|
"template": [
|
|
32
34
|
{
|
|
33
35
|
"id": "text",
|
|
@@ -235,7 +237,7 @@
|
|
|
235
237
|
{
|
|
236
238
|
"id": "root",
|
|
237
239
|
"component": "Grid",
|
|
238
|
-
"columns": "4",
|
|
240
|
+
"columns": "2 4@md",
|
|
239
241
|
"gap": "4",
|
|
240
242
|
"children": [
|
|
241
243
|
"card",
|
|
@@ -8,5 +8,5 @@
|
|
|
8
8
|
"attrs": {},
|
|
9
9
|
"html": "<card-ui>\n <header>\n <h3>Storage</h3>\n <text-ui slot=\"description\" color=\"subtle\">75% of 100 GB used</text-ui>\n </header>\n <section>\n <col-ui gap=\"2\">\n <progress-row-ui label=\"75 GB used\" value=\"75\" meta=\"100 GB total\"></progress-row-ui>\n <progress-row-ui label=\"Documents\" value=\"42\" meta=\"32 GB\"></progress-row-ui>\n <progress-row-ui label=\"Media\" value=\"37\" meta=\"28 GB\"></progress-row-ui>\n <progress-row-ui label=\"Backups\" value=\"20\" meta=\"15 GB\"></progress-row-ui>\n </col-ui>\n </section>\n <footer>\n <button-ui text=\"Upgrade Plan\" variant=\"primary\" stretch></button-ui>\n </footer>\n </card-ui>",
|
|
10
10
|
"source": "apps/saas/app/admin-dashboard/admin-dashboard.contents.html",
|
|
11
|
-
"captured_at": "2026-05-
|
|
11
|
+
"captured_at": "2026-05-22T20:26:33.817Z"
|
|
12
12
|
}
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
"dashboard-storage-card"
|
|
11
11
|
],
|
|
12
12
|
"attrs": {
|
|
13
|
-
"columns": "3",
|
|
13
|
+
"columns": "1 3@md",
|
|
14
14
|
"gap": "4"
|
|
15
15
|
},
|
|
16
|
-
"html": "<grid-ui columns=\"3\" gap=\"4\">\n <card-ui><!-- nested: dashboard-team-list --></card-ui>\n\n <card-ui><!-- nested: dashboard-quick-actions --></card-ui>\n\n <card-ui><!-- nested: dashboard-storage-card --></card-ui>\n </grid-ui>",
|
|
16
|
+
"html": "<grid-ui columns=\"1 3@md\" gap=\"4\">\n <card-ui><!-- nested: dashboard-team-list --></card-ui>\n\n <card-ui><!-- nested: dashboard-quick-actions --></card-ui>\n\n <card-ui><!-- nested: dashboard-storage-card --></card-ui>\n </grid-ui>",
|
|
17
17
|
"source": "apps/saas/app/admin-dashboard/admin-dashboard.contents.html",
|
|
18
18
|
"metadata": {
|
|
19
19
|
"domain": "dashboard",
|
|
@@ -26,7 +26,9 @@
|
|
|
26
26
|
"storage",
|
|
27
27
|
"usage",
|
|
28
28
|
"limits",
|
|
29
|
-
"sidebar"
|
|
29
|
+
"sidebar",
|
|
30
|
+
"responsive",
|
|
31
|
+
"breakpoint"
|
|
30
32
|
],
|
|
31
33
|
"related": [
|
|
32
34
|
"dashboard-team-list",
|
|
@@ -38,7 +40,7 @@
|
|
|
38
40
|
"layout": "row"
|
|
39
41
|
}
|
|
40
42
|
},
|
|
41
|
-
"captured_at": "2026-05-
|
|
43
|
+
"captured_at": "2026-05-22T20:26:33.817Z",
|
|
42
44
|
"template": [
|
|
43
45
|
{
|
|
44
46
|
"id": "text",
|
|
@@ -577,7 +579,7 @@
|
|
|
577
579
|
{
|
|
578
580
|
"id": "root",
|
|
579
581
|
"component": "Grid",
|
|
580
|
-
"columns": "3",
|
|
582
|
+
"columns": "1 3@md",
|
|
581
583
|
"gap": "4",
|
|
582
584
|
"children": [
|
|
583
585
|
"card",
|
|
@@ -8,5 +8,5 @@
|
|
|
8
8
|
"attrs": {},
|
|
9
9
|
"html": "<card-ui>\n <header>\n <h3>Team Members</h3>\n <text-ui slot=\"description\" color=\"subtle\">Your active collaborators</text-ui>\n </header>\n <section>\n <list-ui divider>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" size=\"sm\" grow>\n <avatar-ui text=\"Alex Chen\"></avatar-ui>\n <col-ui gap=\"0\" grow>\n <row-ui gap=\"0\" align=\"center\" justify=\"space-between\" grow>\n <text-ui strong>Alex Chen</text-ui>\n <badge-ui text=\"Online\" variant=\"success\"></badge-ui>\n </row-ui>\n <text-ui color=\"subtle\">Engineering Lead</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" size=\"sm\" grow>\n <avatar-ui text=\"Sarah Miller\"></avatar-ui>\n <col-ui gap=\"0\" grow>\n <row-ui gap=\"0\" align=\"center\" justify=\"space-between\" grow>\n <text-ui strong>Sarah Miller</text-ui>\n <badge-ui text=\"Online\" variant=\"success\"></badge-ui>\n </row-ui>\n <text-ui color=\"subtle\">Product Designer</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" size=\"sm\" grow>\n <avatar-ui text=\"James Park\"></avatar-ui>\n <col-ui gap=\"0\" grow>\n <row-ui gap=\"0\" align=\"center\" justify=\"space-between\" grow>\n <text-ui strong>James Park</text-ui>\n <badge-ui text=\"Away\" variant=\"warning\"></badge-ui>\n </row-ui>\n <text-ui color=\"subtle\">Backend Engineer</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" size=\"sm\" grow>\n <avatar-ui text=\"Maria Lopez\"></avatar-ui>\n <col-ui gap=\"0\" grow>\n <row-ui gap=\"0\" align=\"center\" justify=\"space-between\" grow>\n <text-ui strong>Maria Lopez</text-ui>\n <badge-ui text=\"Offline\" variant=\"muted\"></badge-ui>\n </row-ui>\n <text-ui color=\"subtle\">Data Analyst</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n </list-ui>\n </section>\n </card-ui>",
|
|
10
10
|
"source": "apps/saas/app/admin-dashboard/admin-dashboard.contents.html",
|
|
11
|
-
"captured_at": "2026-05-
|
|
11
|
+
"captured_at": "2026-05-22T20:26:33.817Z"
|
|
12
12
|
}
|
|
@@ -6,10 +6,143 @@
|
|
|
6
6
|
"slots": [],
|
|
7
7
|
"nested": [],
|
|
8
8
|
"attrs": {
|
|
9
|
-
"columns": "3",
|
|
9
|
+
"columns": "1 3@md",
|
|
10
10
|
"gap": "4"
|
|
11
11
|
},
|
|
12
|
-
"html": "<grid-ui columns=\"3\" gap=\"4\">\n <card-ui span=\"2\">\n <header>\n <h3>Traffic</h3>\n <text-ui slot=\"description\" color=\"subtle\">Sessions per day</text-ui>\n <
|
|
12
|
+
"html": "<grid-ui columns=\"1 3@md\" gap=\"4\">\n <card-ui span=\"2\">\n <header>\n <h3>Traffic</h3>\n <text-ui slot=\"description\" color=\"subtle\">Sessions per day</text-ui>\n <span slot=\"action\" size=\"sm\">\n <segmented-ui value=\"30d\" size=\"sm\">\n <segment-ui value=\"7d\" text=\"7d\"></segment-ui>\n <segment-ui value=\"30d\" text=\"30d\"></segment-ui>\n <segment-ui value=\"90d\" text=\"90d\"></segment-ui>\n </segmented-ui>\n </span>\n </header>\n <section>\n <chart-ui id=\"analytics-traffic\" type=\"line\" x=\"day\" y=\"sessions\" smooth=\"0.4\" hide-values></chart-ui>\n </section>\n </card-ui>\n <card-ui>\n <header>\n <h3>Acquisition channels</h3>\n <text-ui slot=\"description\" color=\"subtle\">Where sessions come from</text-ui>\n </header>\n <section>\n <chart-ui id=\"analytics-channels\" type=\"donut\" x=\"channel\" y=\"sessions\" hide-values></chart-ui>\n </section>\n </card-ui>\n </grid-ui>",
|
|
13
13
|
"source": "apps/saas/app/admin-dashboard/admin-dashboard.contents.html",
|
|
14
|
-
"
|
|
14
|
+
"metadata": {
|
|
15
|
+
"domain": "dashboard",
|
|
16
|
+
"description": "Traffic + channels acquisition grid — line chart (2/3) + donut (1/3) responsive split layout.",
|
|
17
|
+
"keywords": [
|
|
18
|
+
"traffic",
|
|
19
|
+
"channels",
|
|
20
|
+
"acquisition",
|
|
21
|
+
"analytics",
|
|
22
|
+
"chart",
|
|
23
|
+
"layout",
|
|
24
|
+
"grid",
|
|
25
|
+
"responsive",
|
|
26
|
+
"breakpoint"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"captured_at": "2026-05-22T20:26:33.817Z",
|
|
30
|
+
"template": [
|
|
31
|
+
{
|
|
32
|
+
"id": "text",
|
|
33
|
+
"component": "Text",
|
|
34
|
+
"variant": "heading",
|
|
35
|
+
"textContent": "Traffic"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "text-2",
|
|
39
|
+
"component": "Text",
|
|
40
|
+
"color": "subtle",
|
|
41
|
+
"textContent": "Sessions per day"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": "text-3",
|
|
45
|
+
"component": "Text",
|
|
46
|
+
"variant": "body",
|
|
47
|
+
"size": "sm"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "header",
|
|
51
|
+
"component": "Header",
|
|
52
|
+
"children": [
|
|
53
|
+
"text",
|
|
54
|
+
"text-2",
|
|
55
|
+
"text-3"
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "analytics-traffic",
|
|
60
|
+
"component": "Chart",
|
|
61
|
+
"type": "line",
|
|
62
|
+
"smooth": 0.4,
|
|
63
|
+
"x": "day",
|
|
64
|
+
"y": "sessions"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "section",
|
|
68
|
+
"component": "Section",
|
|
69
|
+
"children": [
|
|
70
|
+
"column"
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"id": "column",
|
|
75
|
+
"component": "Column",
|
|
76
|
+
"children": [
|
|
77
|
+
"analytics-traffic"
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "card",
|
|
82
|
+
"component": "Card",
|
|
83
|
+
"children": [
|
|
84
|
+
"header",
|
|
85
|
+
"section"
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"id": "text-4",
|
|
90
|
+
"component": "Text",
|
|
91
|
+
"variant": "heading",
|
|
92
|
+
"textContent": "Acquisition channels"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "text-5",
|
|
96
|
+
"component": "Text",
|
|
97
|
+
"color": "subtle",
|
|
98
|
+
"textContent": "Where sessions come from"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"id": "header-2",
|
|
102
|
+
"component": "Header",
|
|
103
|
+
"children": [
|
|
104
|
+
"text-4",
|
|
105
|
+
"text-5"
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"id": "analytics-channels",
|
|
110
|
+
"component": "Chart",
|
|
111
|
+
"type": "donut",
|
|
112
|
+
"x": "channel",
|
|
113
|
+
"y": "sessions"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"id": "section-2",
|
|
117
|
+
"component": "Section",
|
|
118
|
+
"children": [
|
|
119
|
+
"column-2"
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"id": "column-2",
|
|
124
|
+
"component": "Column",
|
|
125
|
+
"children": [
|
|
126
|
+
"analytics-channels"
|
|
127
|
+
]
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"id": "card-2",
|
|
131
|
+
"component": "Card",
|
|
132
|
+
"children": [
|
|
133
|
+
"header-2",
|
|
134
|
+
"section-2"
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"id": "root",
|
|
139
|
+
"component": "Grid",
|
|
140
|
+
"columns": "1 3@md",
|
|
141
|
+
"gap": "4",
|
|
142
|
+
"children": [
|
|
143
|
+
"card",
|
|
144
|
+
"card-2"
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
]
|
|
15
148
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"slots": [],
|
|
7
7
|
"nested": [],
|
|
8
8
|
"attrs": {},
|
|
9
|
-
"html": "<grid-ui>\n <card-ui>\n <header>\n <h3>Recent Transactions</h3>\n <text-ui slot=\"description\" color=\"subtle\">Manage and track recent customer orders</text-ui>\n <span slot=\"action\">\n <menu-ui id=\"tx-state-menu\">\n <button-ui slot=\"trigger\" text=\"View as\" icon=\"caret-down\" variant=\"ghost\" size=\"sm\"></button-ui>\n <menu-item-ui text=\"Default\" value=\"default\"></menu-item-ui>\n <menu-item-ui text=\"Loading\" value=\"loading\" icon=\"spinner\"></menu-item-ui>\n <menu-item-ui text=\"Empty\" value=\"empty\" icon=\"tray\"></menu-item-ui>\n <menu-item-ui text=\"Error\" value=\"error\" icon=\"warning\"></menu-item-ui>\n </menu-ui>\n </span>\n </header>\n <section bleed data-tx-surface>\n <table-ui id=\"dash-transactions\" sortable striped raw paginate=\"5\"></table-ui>\n </section>\n </card-ui>\n </grid-ui>",
|
|
9
|
+
"html": "<grid-ui>\n <card-ui>\n <header>\n <h3>Recent Transactions</h3>\n <text-ui slot=\"description\" color=\"subtle\">Manage and track recent customer orders</text-ui>\n <span slot=\"action\" size=\"sm\">\n <menu-ui id=\"tx-state-menu\">\n <button-ui slot=\"trigger\" text=\"View as\" icon=\"caret-down\" variant=\"ghost\" size=\"sm\"></button-ui>\n <menu-item-ui text=\"Default\" value=\"default\"></menu-item-ui>\n <menu-item-ui text=\"Loading\" value=\"loading\" icon=\"spinner\"></menu-item-ui>\n <menu-item-ui text=\"Empty\" value=\"empty\" icon=\"tray\"></menu-item-ui>\n <menu-item-ui text=\"Error\" value=\"error\" icon=\"warning\"></menu-item-ui>\n </menu-ui>\n </span>\n </header>\n <section bleed data-tx-surface>\n <table-ui id=\"dash-transactions\" sortable striped raw paginate=\"5\"></table-ui>\n </section>\n </card-ui>\n </grid-ui>",
|
|
10
10
|
"source": "apps/saas/app/admin-dashboard/admin-dashboard.contents.html",
|
|
11
11
|
"metadata": {
|
|
12
12
|
"domain": "data",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"status-badge"
|
|
24
24
|
]
|
|
25
25
|
},
|
|
26
|
-
"captured_at": "2026-05-
|
|
26
|
+
"captured_at": "2026-05-22T20:26:33.817Z",
|
|
27
27
|
"template": [
|
|
28
28
|
{
|
|
29
29
|
"id": "text",
|
|
@@ -40,7 +40,8 @@
|
|
|
40
40
|
{
|
|
41
41
|
"id": "text-3",
|
|
42
42
|
"component": "Text",
|
|
43
|
-
"variant": "body"
|
|
43
|
+
"variant": "body",
|
|
44
|
+
"size": "sm"
|
|
44
45
|
},
|
|
45
46
|
{
|
|
46
47
|
"id": "header",
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"attrs": {},
|
|
30
30
|
"html": "<article style=\"display:flex; height:100vh;\">\n <section style=\"flex:1; display:flex; flex-direction:column; min-width:0;\">\n <header data-chunk-slot=\"toolbar\" style=\"padding:var(--a-space-2) var(--a-space-3); border-bottom:1px solid var(--a-border-subtle); display:flex; align-items:center; justify-content:space-between;\">\n <row-ui gap=\"2\" align=\"center\">\n <button-ui icon=\"bold\" variant=\"ghost\" size=\"sm\"></button-ui>\n <button-ui icon=\"italic\" variant=\"ghost\" size=\"sm\"></button-ui>\n <separator-ui orientation=\"vertical\"></separator-ui>\n <button-ui icon=\"list\" variant=\"ghost\" size=\"sm\"></button-ui>\n <button-ui icon=\"code\" variant=\"ghost\" size=\"sm\"></button-ui>\n </row-ui>\n <row-ui gap=\"2\">\n <button-ui text=\"Share\" variant=\"outline\" size=\"sm\" icon=\"share\"></button-ui>\n <button-ui text=\"Publish\" variant=\"primary\" size=\"sm\" icon=\"globe\"></button-ui>\n </row-ui>\n </header>\n\n <section style=\"flex:1; display:flex; overflow:hidden;\">\n <section data-chunk-slot=\"editor\" style=\"flex:1; padding:var(--a-space-4); overflow:auto;\">\n <stack-ui gap=\"3\" style=\"max-width:720px; margin:0 auto;\">\n <input-ui placeholder=\"Document title\" size=\"lg\" style=\"font-weight:600;\"></input-ui>\n <textarea-ui placeholder=\"Start writing…\" style=\"min-height:400px; resize:vertical;\"></textarea-ui>\n </stack-ui>\n </section>\n\n <aside data-chunk-slot=\"preview\" style=\"width:360px; border-left:1px solid var(--a-border-subtle); padding:var(--a-space-3); overflow:auto; background:var(--a-bg-subtle);\">\n <stack-ui gap=\"3\">\n <text-ui strong size=\"sm\">Preview</text-ui>\n <card-ui padding=\"md\">\n <section bleed>\n <text-ui color=\"subtle\">Rendered preview will appear here.</text-ui>\n </section>\n </card-ui>\n </stack-ui>\n </aside>\n </section>\n </section>\n\n <aside data-chunk-slot=\"metadata\" style=\"width:240px; border-left:1px solid var(--a-border-subtle); padding:var(--a-space-3); overflow:auto;\">\n <stack-ui gap=\"4\">\n <text-ui strong size=\"sm\">Metadata</text-ui>\n <stack-ui gap=\"1\">\n <label-ui>Status</label-ui>\n <select-ui>\n <option>Draft</option>\n <option>Review</option>\n <option>Published</option>\n </select-ui>\n </stack-ui>\n <stack-ui gap=\"1\">\n <label-ui>Tags</label-ui>\n <input-ui placeholder=\"Add tags…\"></input-ui>\n </stack-ui>\n <stack-ui gap=\"1\">\n <label-ui>Author</label-ui>\n <row-ui gap=\"2\" align=\"center\">\n <avatar-ui size=\"sm\" src=\"/avatar.png\"></avatar-ui>\n <text-ui size=\"sm\">Alex Chen</text-ui>\n </row-ui>\n </stack-ui>\n </stack-ui>\n </aside>\n</article>",
|
|
31
31
|
"source": "catalog/page-shells/app/doc-editor/doc-editor.contents.html",
|
|
32
|
-
"captured_at": "2026-05-
|
|
32
|
+
"captured_at": "2026-05-22T20:26:33.817Z"
|
|
33
33
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"side": "right",
|
|
10
10
|
"size": "md"
|
|
11
11
|
},
|
|
12
|
-
"html": "<drawer-ui id=\"drawer-2fa-key\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"key\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong>Add a security key</text-ui>\n </span>\n <span slot=\"action\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\">Hardware factors (YubiKey, Titan, built-in TPM) resist phishing and SIM-swap.</text-ui>\n </section>\n <section>\n <col-ui gap=\"4\">\n <alert-ui\n variant=\"info\"\n icon=\"info\"\n text=\"Your browser will prompt for the key when you click Register. Follow the device's instructions — usually a tap or press.\"\n ></alert-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Key details</text-ui>\n <field-ui label=\"Key name\" hint=\"Pick something you'll recognize later.\">\n <input-ui placeholder=\"e.g. YubiKey 5C adia (desk)\"></input-ui>\n </field-ui>\n <field-ui label=\"Key type\">\n <select-ui value=\"fido2\">\n <option value=\"fido2\">FIDO2 / WebAuthn</option>\n <option value=\"u2f\">U2F (legacy)</option>\n <option value=\"platform\">Platform authenticator (Touch ID, Windows Hello)</option>\n </select-ui>\n </field-ui>\n <field-ui label=\"Require for every sign-in\" inline>\n <switch-ui></switch-ui>\n </field-ui>\n <field-ui label=\"Allow for step-up (sensitive actions only)\" inline>\n <switch-ui checked></switch-ui>\n </field-ui>\n </col-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"2\">\n <text-ui strong>Registered keys</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">None yet. Registration runs entirely on your device — we only see the public key.</text-ui>\n </col-ui>\n </col-ui>\n </section>\n <footer slot=\"footer\">\n <grid-ui>\n <button-ui text=\"Cancel\" variant=\"ghost\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n <button-ui text=\"Register key\" icon=\"key\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n </grid-ui>\n </footer>\n</drawer-ui>",
|
|
12
|
+
"html": "<drawer-ui id=\"drawer-2fa-key\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"key\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong>Add a security key</text-ui>\n </span>\n <span slot=\"action\" size=\"sm\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\">Hardware factors (YubiKey, Titan, built-in TPM) resist phishing and SIM-swap.</text-ui>\n </section>\n <section>\n <col-ui gap=\"4\">\n <alert-ui\n variant=\"info\"\n icon=\"info\"\n text=\"Your browser will prompt for the key when you click Register. Follow the device's instructions — usually a tap or press.\"\n ></alert-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Key details</text-ui>\n <field-ui label=\"Key name\" hint=\"Pick something you'll recognize later.\">\n <input-ui placeholder=\"e.g. YubiKey 5C adia (desk)\"></input-ui>\n </field-ui>\n <field-ui label=\"Key type\">\n <select-ui value=\"fido2\">\n <option value=\"fido2\">FIDO2 / WebAuthn</option>\n <option value=\"u2f\">U2F (legacy)</option>\n <option value=\"platform\">Platform authenticator (Touch ID, Windows Hello)</option>\n </select-ui>\n </field-ui>\n <field-ui label=\"Require for every sign-in\" inline>\n <switch-ui></switch-ui>\n </field-ui>\n <field-ui label=\"Allow for step-up (sensitive actions only)\" inline>\n <switch-ui checked></switch-ui>\n </field-ui>\n </col-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"2\">\n <text-ui strong>Registered keys</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">None yet. Registration runs entirely on your device — we only see the public key.</text-ui>\n </col-ui>\n </col-ui>\n </section>\n <footer slot=\"footer\">\n <grid-ui>\n <button-ui text=\"Cancel\" variant=\"ghost\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n <button-ui text=\"Register key\" icon=\"key\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n </grid-ui>\n </footer>\n</drawer-ui>",
|
|
13
13
|
"source": "apps/saas/app/profile-security/profile-security.contents.html",
|
|
14
|
-
"captured_at": "2026-05-
|
|
14
|
+
"captured_at": "2026-05-22T20:26:33.817Z"
|
|
15
15
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"side": "right",
|
|
10
10
|
"size": "md"
|
|
11
11
|
},
|
|
12
|
-
"html": "<drawer-ui id=\"drawer-2fa-sms\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"chat-circle-text\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong>SMS authentication</text-ui>\n <badge-ui text=\"Not recommended\" variant=\"warning\"></badge-ui>\n </span>\n <span slot=\"action\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\">Only use SMS if you have no access to an authenticator app or hardware key.</text-ui>\n </section>\n <section>\n <col-ui gap=\"4\">\n <alert-ui\n variant=\"warning\"\n icon=\"warning\"\n text=\"SMS codes can be intercepted via SIM-swap attacks. Prefer an authenticator app or hardware key. If you proceed, we'll also require an authenticator as your primary factor.\"\n ></alert-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Phone number</text-ui>\n <row-ui gap=\"2\">\n <field-ui label=\"Country\">\n <select-ui value=\"us\" style=\"flex: 0 0 8rem\">\n <option value=\"us\">🇺🇸 +1</option>\n <option value=\"uk\">🇬🇧 +44</option>\n <option value=\"de\">🇩🇪 +49</option>\n <option value=\"fi\">🇫🇮 +358</option>\n </select-ui>\n </field-ui>\n <field-ui label=\"Number\">\n <input-ui placeholder=\"555 123 4567\" grow></input-ui>\n </field-ui>\n </row-ui>\n <button-ui text=\"Send verification code\" variant=\"outline\" icon=\"paper-plane-tilt\" stretch></button-ui>\n </col-ui>\n <divider-ui></divider-ui>\n <field-ui label=\"6-digit code\" hint=\"Enter the code we just texted you.\">\n <otp-input-ui length=\"6\"></otp-input-ui>\n </field-ui>\n </col-ui>\n </section>\n <footer slot=\"footer\">\n <grid-ui>\n <button-ui text=\"Cancel\" variant=\"ghost\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n <button-ui text=\"Enable SMS 2FA\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n </grid-ui>\n </footer>\n</drawer-ui>",
|
|
12
|
+
"html": "<drawer-ui id=\"drawer-2fa-sms\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"chat-circle-text\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong>SMS authentication</text-ui>\n <badge-ui text=\"Not recommended\" variant=\"warning\"></badge-ui>\n </span>\n <span slot=\"action\" size=\"sm\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\">Only use SMS if you have no access to an authenticator app or hardware key.</text-ui>\n </section>\n <section>\n <col-ui gap=\"4\">\n <alert-ui\n variant=\"warning\"\n icon=\"warning\"\n text=\"SMS codes can be intercepted via SIM-swap attacks. Prefer an authenticator app or hardware key. If you proceed, we'll also require an authenticator as your primary factor.\"\n ></alert-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Phone number</text-ui>\n <row-ui gap=\"2\">\n <field-ui label=\"Country\">\n <select-ui value=\"us\" style=\"flex: 0 0 8rem\">\n <option value=\"us\">🇺🇸 +1</option>\n <option value=\"uk\">🇬🇧 +44</option>\n <option value=\"de\">🇩🇪 +49</option>\n <option value=\"fi\">🇫🇮 +358</option>\n </select-ui>\n </field-ui>\n <field-ui label=\"Number\">\n <input-ui placeholder=\"555 123 4567\" grow></input-ui>\n </field-ui>\n </row-ui>\n <button-ui text=\"Send verification code\" variant=\"outline\" icon=\"paper-plane-tilt\" stretch></button-ui>\n </col-ui>\n <divider-ui></divider-ui>\n <field-ui label=\"6-digit code\" hint=\"Enter the code we just texted you.\">\n <otp-input-ui length=\"6\"></otp-input-ui>\n </field-ui>\n </col-ui>\n </section>\n <footer slot=\"footer\">\n <grid-ui>\n <button-ui text=\"Cancel\" variant=\"ghost\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n <button-ui text=\"Enable SMS 2FA\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n </grid-ui>\n </footer>\n</drawer-ui>",
|
|
13
13
|
"source": "apps/saas/app/profile-security/profile-security.contents.html",
|
|
14
|
-
"captured_at": "2026-05-
|
|
14
|
+
"captured_at": "2026-05-22T20:26:33.817Z"
|
|
15
15
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"side": "right",
|
|
10
10
|
"size": "md"
|
|
11
11
|
},
|
|
12
|
-
"html": "<drawer-ui id=\"drawer-2fa-totp\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"device-mobile\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong>Authenticator app</text-ui>\n <badge-ui text=\"Enabled\" variant=\"success\"></badge-ui>\n </span>\n <span slot=\"action\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\">Enrolled with 1Password · Aug 14, 2025</text-ui>\n </section>\n <section>\n <col-ui gap=\"4\">\n <alert-ui\n variant=\"info\"\n icon=\"info\"\n text=\"If you lose access to your authenticator app, use a recovery code to sign in. Generate new codes whenever you suspect old ones were exposed.\"\n ></alert-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Recovery codes</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">Store these somewhere only you can access. Each code works once.</text-ui>\n <card-ui>\n <section>\n <grid-ui columns=\"2\" gap=\"2\">\n <code-ui text=\"4F9K-2P1L\"></code-ui>\n <code-ui text=\"XHMN-88RD\"></code-ui>\n <code-ui text=\"PT7Q-VG4C\"></code-ui>\n <code-ui text=\"9B2A-WKE0\"></code-ui>\n <code-ui text=\"Z3YT-HNFR\"></code-ui>\n <code-ui text=\"Q18V-MPCD\"></code-ui>\n </grid-ui>\n </section>\n </card-ui>\n <row-ui gap=\"2\">\n <button-ui text=\"Copy all\" variant=\"outline\" size=\"sm\" icon=\"copy\"></button-ui>\n <button-ui text=\"Download .txt\" variant=\"outline\" size=\"sm\" icon=\"download-simple\"></button-ui>\n <button-ui text=\"Regenerate\" variant=\"ghost\" size=\"sm\" icon=\"arrows-clockwise\"></button-ui>\n </row-ui>\n </col-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Change authenticator</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">Scan this QR in a new app, then enter a fresh code to swap devices.</text-ui>\n <row-ui gap=\"3\" align=\"center\">\n <avatar-ui icon=\"qr-code\" size=\"xl\"></avatar-ui>\n <col-ui gap=\"1\" grow>\n <text-ui strong>Setup key</text-ui>\n <code-ui text=\"JBSWY3DPEHPK3PXP\"></code-ui>\n <text-ui color=\"subtle\" size=\"sm\">Use if your app can't scan QR codes.</text-ui>\n </col-ui>\n </row-ui>\n <field-ui label=\"Confirmation code\" hint=\"Enter the current 6-digit code from your new app.\">\n <input-ui placeholder=\"123 456\"></input-ui>\n </field-ui>\n </col-ui>\n </col-ui>\n </section>\n <footer slot=\"footer\">\n <grid-ui>\n <button-ui text=\"Remove 2FA\" icon=\"trash\" color=\"danger\"></button-ui>\n <button-ui text=\"Cancel\" variant=\"ghost\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n <button-ui text=\"Save\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n </grid-ui>\n </footer>\n</drawer-ui>",
|
|
12
|
+
"html": "<drawer-ui id=\"drawer-2fa-totp\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"device-mobile\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong>Authenticator app</text-ui>\n <badge-ui text=\"Enabled\" variant=\"success\"></badge-ui>\n </span>\n <span slot=\"action\" size=\"sm\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\">Enrolled with 1Password · Aug 14, 2025</text-ui>\n </section>\n <section>\n <col-ui gap=\"4\">\n <alert-ui\n variant=\"info\"\n icon=\"info\"\n text=\"If you lose access to your authenticator app, use a recovery code to sign in. Generate new codes whenever you suspect old ones were exposed.\"\n ></alert-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Recovery codes</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">Store these somewhere only you can access. Each code works once.</text-ui>\n <card-ui>\n <section>\n <grid-ui columns=\"2\" gap=\"2\">\n <code-ui text=\"4F9K-2P1L\"></code-ui>\n <code-ui text=\"XHMN-88RD\"></code-ui>\n <code-ui text=\"PT7Q-VG4C\"></code-ui>\n <code-ui text=\"9B2A-WKE0\"></code-ui>\n <code-ui text=\"Z3YT-HNFR\"></code-ui>\n <code-ui text=\"Q18V-MPCD\"></code-ui>\n </grid-ui>\n </section>\n </card-ui>\n <row-ui gap=\"2\">\n <button-ui text=\"Copy all\" variant=\"outline\" size=\"sm\" icon=\"copy\"></button-ui>\n <button-ui text=\"Download .txt\" variant=\"outline\" size=\"sm\" icon=\"download-simple\"></button-ui>\n <button-ui text=\"Regenerate\" variant=\"ghost\" size=\"sm\" icon=\"arrows-clockwise\"></button-ui>\n </row-ui>\n </col-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Change authenticator</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">Scan this QR in a new app, then enter a fresh code to swap devices.</text-ui>\n <row-ui gap=\"3\" align=\"center\">\n <avatar-ui icon=\"qr-code\" size=\"xl\"></avatar-ui>\n <col-ui gap=\"1\" grow>\n <text-ui strong>Setup key</text-ui>\n <code-ui text=\"JBSWY3DPEHPK3PXP\"></code-ui>\n <text-ui color=\"subtle\" size=\"sm\">Use if your app can't scan QR codes.</text-ui>\n </col-ui>\n </row-ui>\n <field-ui label=\"Confirmation code\" hint=\"Enter the current 6-digit code from your new app.\">\n <input-ui placeholder=\"123 456\"></input-ui>\n </field-ui>\n </col-ui>\n </col-ui>\n </section>\n <footer slot=\"footer\">\n <grid-ui>\n <button-ui text=\"Remove 2FA\" icon=\"trash\" color=\"danger\"></button-ui>\n <button-ui text=\"Cancel\" variant=\"ghost\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n <button-ui text=\"Save\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n </grid-ui>\n </footer>\n</drawer-ui>",
|
|
13
13
|
"source": "apps/saas/app/profile-security/profile-security.contents.html",
|
|
14
|
-
"captured_at": "2026-05-
|
|
14
|
+
"captured_at": "2026-05-22T20:26:33.817Z"
|
|
15
15
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"side": "right",
|
|
10
10
|
"size": "md"
|
|
11
11
|
},
|
|
12
|
-
"html": "<drawer-ui id=\"drawer-cancel-sub\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"warning-octagon\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong>Cancel subscription</text-ui>\n <badge-ui text=\"Pro\" variant=\"accent\"></badge-ui>\n </span>\n <span slot=\"action\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\">Your workspace stays available until May 14, 2026 — the end of your current billing period.</text-ui>\n </section>\n <section>\n <col-ui gap=\"4\">\n <alert-ui\n variant=\"danger\"\n icon=\"warning\"\n text=\"You'll lose access to Pro features (advanced charts, API exports, priority support) on May 14. Your data is preserved for 90 days after cancellation.\"\n ></alert-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"2\">\n <text-ui strong>What happens on May 14</text-ui>\n <row-ui gap=\"2\" align=\"center\"><icon-ui name=\"x-circle\" color=\"danger\"></icon-ui><text-ui>Advanced charts become view-only</text-ui></row-ui>\n <row-ui gap=\"2\" align=\"center\"><icon-ui name=\"x-circle\" color=\"danger\"></icon-ui><text-ui>API key quota drops from 1M to 10K/month</text-ui></row-ui>\n <row-ui gap=\"2\" align=\"center\"><icon-ui name=\"x-circle\" color=\"danger\"></icon-ui><text-ui>Priority support downgrades to community</text-ui></row-ui>\n <row-ui gap=\"2\" align=\"center\"><icon-ui name=\"check-circle\" color=\"success\"></icon-ui><text-ui>Workspace, members, and history remain</text-ui></row-ui>\n </col-ui>\n <divider-ui></divider-ui>\n <field-ui label=\"Primary reason for cancelling\">\n <select-ui value=\"\">\n <option value=\"\">Select a reason</option>\n <option value=\"too-expensive\">Too expensive</option>\n <option value=\"missing-features\">Missing features I need</option>\n <option value=\"switching\">Switching to another tool</option>\n <option value=\"not-using\">Not using it enough</option>\n <option value=\"temporary\">Taking a break, may return</option>\n <option value=\"other\">Other</option>\n </select-ui>\n </field-ui>\n <field-ui label=\"Anything we could do better?\">\n <textarea-ui rows=\"3\" placeholder=\"Optional — but we read every response.\"></textarea-ui>\n </field-ui>\n <divider-ui></divider-ui>\n <field-ui label=\"Type CANCEL to confirm\">\n <input-ui placeholder=\"CANCEL\"></input-ui>\n </field-ui>\n </col-ui>\n </section>\n <footer slot=\"footer\">\n <grid-ui>\n <button-ui text=\"Keep my plan\" variant=\"ghost\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n <button-ui text=\"Confirm cancellation\" color=\"danger\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n </grid-ui>\n </footer>\n</drawer-ui>",
|
|
12
|
+
"html": "<drawer-ui id=\"drawer-cancel-sub\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"warning-octagon\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong>Cancel subscription</text-ui>\n <badge-ui text=\"Pro\" variant=\"accent\"></badge-ui>\n </span>\n <span slot=\"action\" size=\"sm\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\">Your workspace stays available until May 14, 2026 — the end of your current billing period.</text-ui>\n </section>\n <section>\n <col-ui gap=\"4\">\n <alert-ui\n variant=\"danger\"\n icon=\"warning\"\n text=\"You'll lose access to Pro features (advanced charts, API exports, priority support) on May 14. Your data is preserved for 90 days after cancellation.\"\n ></alert-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"2\">\n <text-ui strong>What happens on May 14</text-ui>\n <row-ui gap=\"2\" align=\"center\"><icon-ui name=\"x-circle\" color=\"danger\"></icon-ui><text-ui>Advanced charts become view-only</text-ui></row-ui>\n <row-ui gap=\"2\" align=\"center\"><icon-ui name=\"x-circle\" color=\"danger\"></icon-ui><text-ui>API key quota drops from 1M to 10K/month</text-ui></row-ui>\n <row-ui gap=\"2\" align=\"center\"><icon-ui name=\"x-circle\" color=\"danger\"></icon-ui><text-ui>Priority support downgrades to community</text-ui></row-ui>\n <row-ui gap=\"2\" align=\"center\"><icon-ui name=\"check-circle\" color=\"success\"></icon-ui><text-ui>Workspace, members, and history remain</text-ui></row-ui>\n </col-ui>\n <divider-ui></divider-ui>\n <field-ui label=\"Primary reason for cancelling\">\n <select-ui value=\"\">\n <option value=\"\">Select a reason</option>\n <option value=\"too-expensive\">Too expensive</option>\n <option value=\"missing-features\">Missing features I need</option>\n <option value=\"switching\">Switching to another tool</option>\n <option value=\"not-using\">Not using it enough</option>\n <option value=\"temporary\">Taking a break, may return</option>\n <option value=\"other\">Other</option>\n </select-ui>\n </field-ui>\n <field-ui label=\"Anything we could do better?\">\n <textarea-ui rows=\"3\" placeholder=\"Optional — but we read every response.\"></textarea-ui>\n </field-ui>\n <divider-ui></divider-ui>\n <field-ui label=\"Type CANCEL to confirm\">\n <input-ui placeholder=\"CANCEL\"></input-ui>\n </field-ui>\n </col-ui>\n </section>\n <footer slot=\"footer\">\n <grid-ui>\n <button-ui text=\"Keep my plan\" variant=\"ghost\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n <button-ui text=\"Confirm cancellation\" color=\"danger\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n </grid-ui>\n </footer>\n</drawer-ui>",
|
|
13
13
|
"source": "apps/saas/app/billing/billing.contents.html",
|
|
14
|
-
"captured_at": "2026-05-
|
|
14
|
+
"captured_at": "2026-05-22T20:26:33.817Z"
|
|
15
15
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"side": "right",
|
|
10
10
|
"size": "md"
|
|
11
11
|
},
|
|
12
|
-
"html": "<drawer-ui id=\"drawer-change-plan\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"star\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong>Change plan</text-ui>\n </span>\n <span slot=\"action\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\">Switch plans anytime. Credits and downgrades prorate to your next invoice.</text-ui>\n </section>\n <section>\n <col-ui gap=\"4\">\n <grid-ui columns=\"2\" gap=\"3\">\n <card-ui
|
|
12
|
+
"html": "<drawer-ui id=\"drawer-change-plan\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"star\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong>Change plan</text-ui>\n </span>\n <span slot=\"action\" size=\"sm\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\">Switch plans anytime. Credits and downgrades prorate to your next invoice.</text-ui>\n </section>\n <section>\n <col-ui gap=\"4\">\n <grid-ui columns=\"1 2@sm\" gap=\"3\">\n <card-ui\n ><section><stat-ui label=\"Current spend\" value=\"$49\" change=\"this month\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Seats used\" value=\"6 / 8\" change=\"+2 this month\" trend=\"up\"></stat-ui></section\n ></card-ui>\n </grid-ui>\n <divider-ui></divider-ui>\n <field-ui label=\"Billing interval\" hint=\"Annual plans ship with two months free.\">\n <select-ui value=\"monthly\">\n <option value=\"monthly\">Monthly</option>\n <option value=\"annual\">Annual · save 17%</option>\n </select-ui>\n </field-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Choose a plan</text-ui>\n <div\n role=\"radiogroup\"\n aria-label=\"Plan\"\n data-plan-picker\n onclick=\"\n const r = event.target.closest('card-ui')?.querySelector('radio-ui');\n r && r.click();\n \"\n >\n <list-ui divider>\n <list-item-ui>\n <card-ui>\n <header>\n <radio-ui slot=\"icon\" name=\"plan\" value=\"pro\" checked></radio-ui>\n <span slot=\"heading\">\n <text-ui strong>Pro · $49/mo</text-ui>\n <badge-ui text=\"Current\" variant=\"accent\"></badge-ui>\n </span>\n <span slot=\"description\">\n <text-ui color=\"subtle\" size=\"sm\">Unlimited conversations, advanced charts, 100 GB storage</text-ui>\n </span>\n </header>\n </card-ui>\n </list-item-ui>\n <list-item-ui>\n <card-ui>\n <header>\n <radio-ui slot=\"icon\" name=\"plan\" value=\"team\"></radio-ui>\n <span slot=\"heading\">\n <text-ui strong>Team · $129/mo</text-ui>\n </span>\n <span slot=\"description\">\n <text-ui color=\"subtle\" size=\"sm\">Everything in Pro · SSO, audit log, role-based permissions, 1 TB storage</text-ui>\n </span>\n </header>\n </card-ui>\n </list-item-ui>\n <list-item-ui>\n <card-ui>\n <header>\n <radio-ui slot=\"icon\" name=\"plan\" value=\"enterprise\"></radio-ui>\n <span slot=\"heading\">\n <text-ui strong>Enterprise · custom</text-ui>\n </span>\n <span slot=\"description\">\n <text-ui color=\"subtle\" size=\"sm\">Dedicated support, DPA, SCIM, on-prem deployment. Talk to sales.</text-ui>\n </span>\n </header>\n </card-ui>\n </list-item-ui>\n </list-ui>\n </div>\n </col-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"2\">\n <text-ui strong>What's included in every plan</text-ui>\n <row-ui gap=\"2\" align=\"center\"><icon-ui name=\"check-circle\" color=\"success\"></icon-ui><text-ui>Unlimited workspaces</text-ui></row-ui>\n <row-ui gap=\"2\" align=\"center\"><icon-ui name=\"check-circle\" color=\"success\"></icon-ui><text-ui>Priority email support</text-ui></row-ui>\n <row-ui gap=\"2\" align=\"center\"><icon-ui name=\"check-circle\" color=\"success\"></icon-ui><text-ui>99.9% uptime SLA</text-ui></row-ui>\n </col-ui>\n </col-ui>\n </section>\n <footer slot=\"footer\">\n <grid-ui>\n <button-ui text=\"Talk to sales\" icon=\"chat-circle\" variant=\"ghost\"></button-ui>\n <button-ui text=\"Cancel\" variant=\"ghost\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n <button-ui text=\"Preview invoice\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n </grid-ui>\n </footer>\n</drawer-ui>",
|
|
13
13
|
"source": "apps/saas/app/billing/billing.contents.html",
|
|
14
|
-
"captured_at": "2026-05-
|
|
14
|
+
"captured_at": "2026-05-22T20:26:33.817Z"
|
|
15
15
|
}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"side": "right",
|
|
12
12
|
"size": "md"
|
|
13
13
|
},
|
|
14
|
-
"html": "<drawer-ui id=\"drawer-custom-roles\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"shield-check\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong>Custom roles</text-ui>\n <badge-ui text=\"Pro\" variant=\"accent\"></badge-ui>\n </span>\n <span slot=\"action\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\">Define fine-grained permission sets and assign them to members.</text-ui>\n </section>\n <section>\n <col-ui gap=\"4\">\n <grid-ui columns=\"2\" gap=\"3\">\n <card-ui
|
|
14
|
+
"html": "<drawer-ui id=\"drawer-custom-roles\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"shield-check\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong>Custom roles</text-ui>\n <badge-ui text=\"Pro\" variant=\"accent\"></badge-ui>\n </span>\n <span slot=\"action\" size=\"sm\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\">Define fine-grained permission sets and assign them to members.</text-ui>\n </section>\n <section>\n <col-ui gap=\"4\">\n <grid-ui columns=\"2\" gap=\"3\">\n <card-ui\n ><section><stat-ui label=\"Built-in roles\" value=\"3\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Custom roles\" value=\"2\" change=\"+1 this month\" trend=\"up\"></stat-ui></section\n ></card-ui>\n </grid-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"2\">\n <text-ui strong>Existing custom roles</text-ui>\n <list-ui divider>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" grow><!-- nested: user-identity-row --></row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" grow>\n <avatar-ui icon=\"chart-line\" size=\"sm\"></avatar-ui>\n <col-ui gap=\"0\" grow>\n <text-ui strong>Analyst</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">Read + export only · 2 members</text-ui>\n </col-ui>\n <button-ui variant=\"ghost\" size=\"sm\" icon=\"pencil-simple\"></button-ui>\n </row-ui>\n </list-item-ui>\n </list-ui>\n </col-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Create a new role</text-ui>\n <field-ui label=\"Role name\">\n <input-ui placeholder=\"e.g. Contractor\"></input-ui>\n </field-ui>\n <field-ui label=\"Description\">\n <textarea-ui rows=\"2\" placeholder=\"One-line summary shown on member rows\"></textarea-ui>\n </field-ui>\n <field-ui label=\"Start from\" hint=\"Use an existing role as a baseline, then adjust below.\">\n <select-ui value=\"viewer\">\n <option value=\"viewer\">Viewer · read-only</option>\n <option value=\"member\">Member · edit + invite</option>\n <option value=\"admin\">Admin · full access</option>\n <option value=\"blank\">Blank · no permissions</option>\n </select-ui>\n </field-ui>\n </col-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Content</text-ui>\n <field-ui label=\"View projects and conversations\" inline>\n <check-ui checked></check-ui>\n </field-ui>\n <field-ui label=\"Edit own content\" inline>\n <check-ui checked></check-ui>\n </field-ui>\n <field-ui label=\"Edit others' content\" inline>\n <check-ui></check-ui>\n </field-ui>\n <field-ui label=\"Delete content\" inline>\n <check-ui></check-ui>\n </field-ui>\n <field-ui label=\"Export to CSV / PDF\" inline>\n <check-ui></check-ui>\n </field-ui>\n </col-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Members</text-ui>\n <field-ui label=\"Invite new members\" inline>\n <check-ui></check-ui>\n </field-ui>\n <field-ui label=\"Change member roles\" inline>\n <check-ui></check-ui>\n </field-ui>\n <field-ui label=\"Remove members\" inline>\n <check-ui></check-ui>\n </field-ui>\n </col-ui>\n <divider-ui></divider-ui>\n <col-ui gap=\"3\">\n <text-ui strong>Workspace</text-ui>\n <field-ui label=\"View billing and invoices\" inline>\n <check-ui></check-ui>\n </field-ui>\n <field-ui label=\"Change billing plan\" inline>\n <check-ui></check-ui>\n </field-ui>\n <field-ui label=\"Manage API keys\" inline>\n <check-ui></check-ui>\n </field-ui>\n <field-ui label=\"Manage webhooks\" inline>\n <check-ui></check-ui>\n </field-ui>\n <field-ui label=\"Delete workspace\" inline>\n <check-ui></check-ui>\n </field-ui>\n </col-ui>\n </col-ui>\n </section>\n <footer slot=\"footer\">\n <grid-ui>\n <button-ui text=\"Cancel\" variant=\"ghost\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n <button-ui text=\"Create role\" icon=\"plus\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n </grid-ui>\n </footer>\n</drawer-ui>",
|
|
15
15
|
"source": "apps/saas/app/members/members.contents.html",
|
|
16
|
-
"captured_at": "2026-05-
|
|
16
|
+
"captured_at": "2026-05-22T20:26:33.817Z"
|
|
17
17
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"side": "right",
|
|
10
10
|
"size": "md"
|
|
11
11
|
},
|
|
12
|
-
"html": "<drawer-ui id=\"drawer-data-start\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"database\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong>Data start</text-ui>\n </span>\n <span slot=\"action\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\">Switch to live source any time from settings — sample data is non-destructive.</text-ui>\n </section>\n <section>\n <div role=\"radiogroup\" aria-label=\"Data start\">\n <col-ui gap=\"2\">\n <option-card-ui\n name=\"data-start\"\n value=\"sample\"\n checked\n heading=\"Sample data\"\n description=\"Pre-seeded dashboards with realistic AdiaUI demo data. Best for kicking the tires.\"\n ></option-card-ui>\n <option-card-ui\n name=\"data-start\"\n value=\"live\"\n heading=\"Live source\"\n description=\"Stream from your connected GitHub source. We'll backfill 30 days on first sync.\"\n ></option-card-ui>\n <option-card-ui\n name=\"data-start\"\n value=\"empty\"\n heading=\"Empty workspace\"\n description=\"Skip both — start from a blank canvas and build dashboards by hand.\"\n ></option-card-ui>\n </col-ui>\n </div>\n </section>\n <footer slot=\"footer\">\n <grid-ui>\n <button-ui text=\"Cancel\" variant=\"ghost\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n <button-ui text=\"Save changes\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n </grid-ui>\n </footer>\n </drawer-ui>",
|
|
12
|
+
"html": "<drawer-ui id=\"drawer-data-start\" side=\"right\" size=\"md\">\n <header>\n <span slot=\"icon\">\n <avatar-ui icon=\"database\"></avatar-ui>\n </span>\n <span slot=\"heading\">\n <text-ui strong>Data start</text-ui>\n </span>\n <span slot=\"action\" size=\"sm\"></span>\n </header>\n <section>\n <text-ui color=\"subtle\" size=\"sm\">Switch to live source any time from settings — sample data is non-destructive.</text-ui>\n </section>\n <section>\n <div role=\"radiogroup\" aria-label=\"Data start\">\n <col-ui gap=\"2\">\n <option-card-ui\n name=\"data-start\"\n value=\"sample\"\n checked\n heading=\"Sample data\"\n description=\"Pre-seeded dashboards with realistic AdiaUI demo data. Best for kicking the tires.\"\n ></option-card-ui>\n <option-card-ui\n name=\"data-start\"\n value=\"live\"\n heading=\"Live source\"\n description=\"Stream from your connected GitHub source. We'll backfill 30 days on first sync.\"\n ></option-card-ui>\n <option-card-ui\n name=\"data-start\"\n value=\"empty\"\n heading=\"Empty workspace\"\n description=\"Skip both — start from a blank canvas and build dashboards by hand.\"\n ></option-card-ui>\n </col-ui>\n </div>\n </section>\n <footer slot=\"footer\">\n <grid-ui>\n <button-ui text=\"Cancel\" variant=\"ghost\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n <button-ui text=\"Save changes\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n </grid-ui>\n </footer>\n </drawer-ui>",
|
|
13
13
|
"source": "apps/user-flow/app/onboarding/review/review.contents.html",
|
|
14
|
-
"captured_at": "2026-05-
|
|
14
|
+
"captured_at": "2026-05-22T20:26:33.817Z"
|
|
15
15
|
}
|