@adia-ai/gen-ui 0.8.39 → 0.8.41
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 +19 -0
- package/README.md +1 -1
- package/compose/transpiler/transpiler-maps.js +54 -4
- package/corpus/chunk-embeddings.json +1 -1
- package/corpus/chunks/_index.json +288 -6
- package/corpus/chunks/_source-hashes.json +57 -57
- package/corpus/chunks/admin-shell-rounded-borderless.json +2 -1
- package/corpus/chunks/admin-topbar-search.json +4 -4
- package/corpus/chunks/agent-activity-feed.json +5 -5
- package/corpus/chunks/agent-prompt-library-grid.json +4 -4
- package/corpus/chunks/agent-rate-limit.json +1 -1
- package/corpus/chunks/agent-reasoning-collapsed.json +7 -7
- package/corpus/chunks/auth-new-password-form.json +1 -1
- package/corpus/chunks/auth-new-password.json +1 -1
- package/corpus/chunks/billing-overview.json +14 -14
- package/corpus/chunks/billing-progress-label.json +16 -16
- package/corpus/chunks/conversion-funnel-4-step-funnel.json +11 -11
- package/corpus/chunks/conversion-funnel-6step.json +17 -17
- package/corpus/chunks/conversion-funnel-wide-summary.json +11 -11
- package/corpus/chunks/conversion-funnel-with-segment-compare.json +11 -11
- package/corpus/chunks/dashboard-admin-page.json +2 -2
- package/corpus/chunks/dashboard-conversion-panel.json +10 -10
- package/corpus/chunks/dashboard-funnel.json +11 -11
- package/corpus/chunks/dashboard-overview-panel.json +13 -13
- package/corpus/chunks/dashboard-storage-card.json +14 -14
- package/corpus/chunks/dashboard-team-actions-storage.json +13 -13
- package/corpus/chunks/date-range-picker-canonical.json +51 -0
- package/corpus/chunks/date-range-picker-comparison.json +50 -0
- package/corpus/chunks/date-time-picker-form.json +5 -6
- package/corpus/chunks/drawer-report.json +5 -6
- package/corpus/chunks/filter-bar-filter-bar-with-table.json +4 -4
- package/corpus/chunks/form-system-live-demo.json +1 -1
- package/corpus/chunks/image-thumbnail-grid.json +5 -5
- package/corpus/chunks/inline-dialog-schedule.json +4 -6
- package/corpus/chunks/list-window-chat-thread.json +76 -0
- package/corpus/chunks/list-window-loading.json +39 -0
- package/corpus/chunks/loading-skeleton-placeholder.json +11 -11
- package/corpus/chunks/map-with-location-list.json +3 -3
- package/corpus/chunks/members-active-table-search-filter.json +4 -6
- package/corpus/chunks/patient-visit-shell.json +1 -1
- package/corpus/chunks/permissions-share-people.json +4 -4
- package/corpus/chunks/playground-app-shell.json +2 -1
- package/corpus/chunks/progress-tracker-milestones.json +1 -1
- package/corpus/chunks/rating-stars-review-summary.json +1 -1
- package/corpus/chunks/real-time-metrics-dashboard.json +1 -1
- package/corpus/chunks/search-with-filters.json +4 -4
- package/corpus/chunks/spinner-button-saving.json +50 -0
- package/corpus/chunks/spinner-button-uploading.json +49 -0
- package/corpus/chunks/spinner-centered-card.json +36 -0
- package/corpus/chunks/spinner-typing-indicator.json +41 -0
- package/corpus/chunks/time-picker-appointment-form.json +126 -0
- package/corpus/chunks/time-picker-min-max.json +50 -0
- package/corpus/chunks/timeline-events.json +3 -3
- package/corpus/chunks/timezone-selector-preview.json +3 -4
- package/corpus/chunks/usage-quota-meter-card.json +1 -1
- package/corpus/chunks/user-onboarding-checklist.json +1 -1
- package/corpus/chunks/video-player-controls.json +1 -1
- package/corpus/manifest.json +4 -4
- package/package.json +1 -1
- package/retrieval/README.md +1 -1
- package/retrieval/catalog.js +67 -40
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
{
|
|
13
13
|
"name": "page-content",
|
|
14
14
|
"tagName": "admin-page-body",
|
|
15
|
-
"html": "<section>\n <div data-dashboard-content>\n <col-ui data-tab-panel=\"overview\" gap=\"4\" data-chunk=\"dashboard-overview-panel\" data-chunk-kind=\"panel\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Overview analytics panel: KPI grid + recent-activity chart + spark cards + transactions table + team/actions/storage strip.\"\n data-chunk-keywords=\"overview dashboard kpi metrics chart activity sparkline transactions team storage\"\n data-chunk-related=\"dashboard-kpi-grid, dashboard-chart-recent, dashboard-spark-cards, dashboard-team-actions-storage\"\n data-chunk-tags-complexity=\"complex\"\n data-chunk-tags-layout=\"panel\">\n <!-- ═══ ROW 1: 4 KPI STAT CARDS ═══ -->\n <grid-ui columns=\"2 4@lg\" gap=\"4\" data-chunk=\"stat-cards-kpi-dashboard\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"KPI stat cards dashboard — grid of stat-ui cards each showing a label, large numeric value, trend delta (up/down), and icon. Revenue, subscriptions, sales, and active-user metrics.\"\n data-chunk-keywords=\"stat cards kpi dashboard stat-ui revenue users growth metrics grid trend delta change value label icon currency sales active subscriptions kpi-grid numbers business-metrics\">\n <card-ui\n ><section><stat-ui label=\"Total Revenue\" value=\"$45,231.89\" change=\"+20.1%\" trend=\"up\" icon=\"currency-dollar\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Subscriptions\" value=\"+2,350\" change=\"+180.1%\" trend=\"up\" icon=\"users\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Sales\" value=\"+12,234\" change=\"+19%\" trend=\"up\" icon=\"credit-card\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Active Now\" value=\"+573\" change=\"+201\" trend=\"up\" icon=\"chart-bar\"></stat-ui></section\n ></card-ui>\n </grid-ui>\n\n <!-- ═══ ROW 3: OVERVIEW CHART + RECENT SALES (3:2) ═══ -->\n <grid-ui columns=\"1 5@md\" gap=\"4\" data-chunk=\"dashboard-chart-recent\"\n data-chunk-kind=\"block\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Sales report split-pane: bar chart (monthly revenue) on the left with a recent sales customer list on the right. Two-column layout pairing a chart-ui bar chart with a sales feed.\"\n data-chunk-keywords=\"sales report bar chart chart-ui revenue monthly overview split pane two column side by side recent sales customer list timeseries graph trend responsive breakpoint\"\n data-chunk-related=\"dashboard-spark-cards, dashboard-overview-panel\"\n data-chunk-tags-complexity=\"simple\"\n data-chunk-tags-layout=\"card\">\n <card-ui span=\"3\">\n <header data-chunk=\"card-header-with-description\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Card header with description — card header slot showing heading + subtitle description pair.\"\n data-chunk-keywords=\"card header heading description subtitle pattern\">\n <h3>Overview</h3>\n <text-ui slot=\"description\" color=\"subtle\">Monthly revenue for 2026</text-ui>\n </header>\n <section>\n <col-ui>\n <chart-ui id=\"dash-overview\" type=\"bar\" x=\"month\" y=\"revenue\" hide-values></chart-ui>\n <grid-ui columns=\"1 2@sm\" gap=\"3\">\n <card-ui>\n <section>\n <stat-ui label=\"This Month\" value=\"$5,400\" change=\"+12% vs last month\" trend=\"up\"></stat-ui>\n </section>\n </card-ui>\n <card-ui>\n <section>\n <stat-ui label=\"Yearly Total\" value=\"$59,100\" change=\"On track for $65k target\" trend=\"neutral\"></stat-ui>\n </section>\n </card-ui>\n </grid-ui>\n </col-ui>\n </section>\n <footer>\n <button-ui text=\"View Full Report\" variant=\"outline\" stretch></button-ui>\n </footer>\n </card-ui>\n <card-ui span=\"2\">\n <header>\n <h3>Recent Sales</h3>\n <text-ui slot=\"description\" color=\"subtle\">You made 265 sales this month.</text-ui>\n </header>\n <section>\n <list-ui divider>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" grow>\n <avatar-ui text=\"Olivia Martin\" size=\"sm\"></avatar-ui>\n <col-ui gap=\"0\" grow>\n <row-ui>\n <text-ui weight=\"semibold\" grow>Olivia Martin</text-ui>\n <text-ui strong>+$1,999.00</text-ui>\n </row-ui>\n <text-ui color=\"subtle\">olivia.martin@email.com</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" grow>\n <avatar-ui text=\"Jackson Lee\" size=\"sm\"></avatar-ui>\n <col-ui gap=\"0\" grow>\n <row-ui>\n <text-ui weight=\"semibold\" grow>Jackson Lee</text-ui>\n <text-ui strong>+$39.00</text-ui>\n </row-ui>\n <text-ui color=\"subtle\">jackson.lee@email.com</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" grow>\n <avatar-ui text=\"Isabella Nguyen\" size=\"sm\"></avatar-ui>\n <col-ui gap=\"0\" grow>\n <row-ui>\n <text-ui weight=\"semibold\" grow>Isabella Nguyen</text-ui>\n <text-ui strong>+$299.00</text-ui>\n </row-ui>\n <text-ui color=\"subtle\">isabella.nguyen@email.com</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" grow>\n <avatar-ui text=\"William Kim\" size=\"sm\"></avatar-ui>\n <col-ui gap=\"0\" grow>\n <row-ui>\n <text-ui weight=\"semibold\" grow>William Kim</text-ui>\n <text-ui strong>+$99.00</text-ui>\n </row-ui>\n <text-ui color=\"subtle\">will@email.com</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" grow>\n <avatar-ui text=\"Sofia Davis\" size=\"sm\"></avatar-ui>\n <col-ui gap=\"0\" grow>\n <row-ui>\n <text-ui weight=\"semibold\" grow>Sofia Davis</text-ui>\n <text-ui strong>+$39.00</text-ui>\n </row-ui>\n <text-ui color=\"subtle\">sofia.davis@email.com</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n </list-ui>\n </section>\n </card-ui>\n </grid-ui>\n\n <!-- ═══ ROW 4: 4 SPARKLINE METRIC CARDS ═══ -->\n <grid-ui columns=\"2 4@lg\" gap=\"4\" data-chunk=\"analytics-sparklines-dashboard\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"4-column web analytics cards with inline sparklines — each card pairs a headline metric value with a small trend sparkline chart. Page views, bounce rate, session duration, conversion metrics with mini-chart.\"\n data-chunk-keywords=\"analytics sparklines page-views bounce-rate session-duration conversion web-analytics mini-chart chart-ui inline-chart trend sparkline-chart sparklines dashboard analytics-dashboard web-metrics traffic\">\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>\n\n <!-- ═══ ROW 5: TRANSACTIONS TABLE ═══\n Supports ?state=empty|loading|error URL params for state-coverage\n demos; the default state renders the populated table. -->\n <grid-ui data-chunk=\"dashboard-transactions-table\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Transactions data table — id, date, customer, amount, status badge per row + pagination footer.\"\n data-chunk-keywords=\"transactions data-table list orders sales payments rows pagination status-badge\">\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 paginate=\"5\"></table-ui>\n </section>\n </card-ui>\n </grid-ui>\n\n <!-- ═══ ROW 6: TEAM + QUICK ACTIONS + STORAGE ═══ -->\n <grid-ui columns=\"1 3@lg\" gap=\"4\" data-chunk=\"dashboard-team-actions-storage\"\n data-chunk-kind=\"block\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Three-card strip combining team list + quick actions + storage usage card.\"\n data-chunk-keywords=\"team members quick actions storage usage limits sidebar responsive breakpoint\"\n data-chunk-related=\"dashboard-team-list, dashboard-quick-actions, dashboard-storage-card\"\n data-chunk-tags-complexity=\"moderate\"\n data-chunk-tags-layout=\"row\">\n <card-ui data-chunk=\"dashboard-team-list\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Team members list card — avatars + names + roles with invite action.\"\n data-chunk-keywords=\"dashboard team members list avatars roles invite manage\">\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\" 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\" 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\" 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\" 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\" tone=\"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>\n\n <card-ui data-chunk=\"dashboard-quick-actions\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Quick actions card — common shortcut buttons for frequent dashboard tasks.\"\n data-chunk-keywords=\"dashboard quick actions shortcuts buttons frequent tasks\">\n <header><h3>Quick Actions</h3></header>\n <section>\n <action-list-ui>\n <action-item-ui icon=\"plus\" text=\"New Project\" value=\"new\"></action-item-ui>\n <action-item-ui icon=\"users\" text=\"Invite Team\" value=\"invite\"></action-item-ui>\n <action-item-ui icon=\"download\" text=\"Export Data\" value=\"export\"></action-item-ui>\n <action-item-ui icon=\"chart-bar\" text=\"View Reports\" value=\"reports\"></action-item-ui>\n <action-item-ui icon=\"gear\" text=\"Settings\" value=\"settings\"></action-item-ui>\n <action-item-ui icon=\"question\" text=\"Help Center\" value=\"help\"></action-item-ui>\n </action-list-ui>\n </section>\n </card-ui>\n\n <card-ui data-chunk=\"dashboard-storage-card\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Storage usage card — used / total storage bar with tier breakdown and upgrade CTA.\"\n data-chunk-keywords=\"dashboard storage usage quota bar tier upgrade\">\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>\n </grid-ui>\n </col-ui>\n <!-- /overview -->\n\n <!-- ═══════════════════════ AUDIENCE TAB ═══════════════════════ -->\n <col-ui data-tab-panel=\"audience\" gap=\"4\" hidden data-chunk=\"dashboard-audience-panel\" data-chunk-kind=\"panel\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Audience analytics panel: filter bar + audience KPIs + country breakdown list.\"\n data-chunk-keywords=\"audience analytics demographics countries geography filter kpis\"\n data-chunk-related=\"dashboard-overview-panel, dashboard-acquisition-panel, dashboard-behavior-panel\"\n data-chunk-tags-complexity=\"moderate\"\n data-chunk-tags-layout=\"panel\">\n <!-- Filter bar (cross-tab across the four analytics panels) -->\n <grid-ui data-chunk=\"dashboard-filter-bar\" data-chunk-kind=\"block\"\n data-chunk-domain=\"navigation\"\n data-chunk-description=\"Toolbar/filter bar — search input + filter dropdowns + date-range picker + action buttons in one row.\"\n data-chunk-keywords=\"toolbar filter-bar search filters dropdowns date-range actions controls toolbar-icons\">\n <card-ui>\n <section>\n <row-ui gap=\"2\" align=\"center\" wrap data-filter-bar>\n <text-ui color=\"subtle\" weight=\"semibold\">Filters:</text-ui>\n <tag-ui text=\"Country: United States\" removable size=\"sm\" tone=\"muted\"></tag-ui>\n <tag-ui text=\"Device: Desktop\" removable size=\"sm\" tone=\"muted\"></tag-ui>\n <button-ui data-filter-add text=\"+ Add filter\" variant=\"ghost\" size=\"sm\"></button-ui>\n <span data-spacer></span>\n <button-ui data-filter-clear text=\"Clear all\" variant=\"ghost\" size=\"sm\"></button-ui>\n </row-ui>\n </section>\n </card-ui>\n </grid-ui>\n\n <!-- Analytics: bar + line side by side -->\n <grid-ui columns=\"1 2@md\" gap=\"4\" data-chunk=\"analytics-chart\" data-chunk-kind=\"block\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Analytics dashboard with bar chart and line chart displayed side by side. Revenue bar chart on the left, sessions trend line chart on the right.\"\n data-chunk-keywords=\"analytics chart bar chart line chart side by side dashboard two column grid revenue sessions trend data visualization bar line analytics-chart\">\n <card-ui>\n <header>\n <h3>Revenue</h3>\n <p slot=\"description\">Monthly revenue breakdown</p>\n </header>\n <section>\n <chart-ui type=\"bar\" x=\"month\" y=\"revenue\" hide-values\n data='[{\"month\":\"Jan\",\"revenue\":3200},{\"month\":\"Feb\",\"revenue\":4100},{\"month\":\"Mar\",\"revenue\":3800},{\"month\":\"Apr\",\"revenue\":5200},{\"month\":\"May\",\"revenue\":4800},{\"month\":\"Jun\",\"revenue\":6100}]'></chart-ui>\n </section>\n </card-ui>\n <card-ui>\n <header>\n <h3>Sessions</h3>\n <p slot=\"description\">Daily session trend</p>\n </header>\n <section>\n <chart-ui type=\"line\" x=\"day\" y=\"sessions\" smooth=\"0.4\" hide-values\n data='[{\"day\":\"Mon\",\"sessions\":1200},{\"day\":\"Tue\",\"sessions\":1800},{\"day\":\"Wed\",\"sessions\":1500},{\"day\":\"Thu\",\"sessions\":2200},{\"day\":\"Fri\",\"sessions\":1900},{\"day\":\"Sat\",\"sessions\":800},{\"day\":\"Sun\",\"sessions\":600}]'></chart-ui>\n </section>\n </card-ui>\n </grid-ui>\n\n <!-- KPI ROW -->\n <grid-ui columns=\"2 4@lg\" gap=\"4\" data-chunk=\"dashboard-audience-kpis\"\n data-chunk-kind=\"block\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"4-column audience KPI grid — unique visitors, sessions, avg. session, bounce rate.\"\n data-chunk-keywords=\"audience kpis metrics stats grid dashboard cards analytics responsive breakpoint\">\n <card-ui\n ><section><stat-ui label=\"Unique visitors\" value=\"28,432\" change=\"+8.2%\" trend=\"up\" icon=\"users\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Sessions\" value=\"41,203\" change=\"+12.4%\" trend=\"up\" icon=\"browsers\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Avg. session\" value=\"4m 32s\" change=\"+18s\" trend=\"up\" icon=\"clock\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Bounce rate\" value=\"24.3%\" change=\"-2.1%\" trend=\"up\" icon=\"arrow-bend-up-right\"></stat-ui></section\n ></card-ui>\n </grid-ui>\n\n <!-- TOP COUNTRIES -->\n <grid-ui data-chunk=\"dashboard-country-list\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Country traffic list card — top countries by pageview or user count with bar chart.\"\n data-chunk-keywords=\"dashboard country list traffic geo analytics pageviews\">\n <card-ui>\n <header>\n <h3>Top countries</h3>\n <text-ui slot=\"description\" color=\"subtle\">Sessions by geography</text-ui>\n </header>\n <section>\n <list-ui divider>\n <list-item-ui>\n <row-ui gap=\"3\" align=\"center\" grow>\n <text-ui size=\"lg\">🇺🇸</text-ui>\n <text-ui weight=\"semibold\" grow>United States</text-ui>\n <text-ui>14,320</text-ui>\n <text-ui color=\"subtle\">50.4%</text-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"3\" align=\"center\" grow>\n <text-ui size=\"lg\">🇩🇪</text-ui>\n <text-ui weight=\"semibold\" grow>Germany</text-ui>\n <text-ui>3,892</text-ui>\n <text-ui color=\"subtle\">13.7%</text-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"3\" align=\"center\" grow>\n <text-ui size=\"lg\">🇬🇧</text-ui>\n <text-ui weight=\"semibold\" grow>United Kingdom</text-ui>\n <text-ui>2,841</text-ui>\n <text-ui color=\"subtle\">10.0%</text-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"3\" align=\"center\" grow>\n <text-ui size=\"lg\">🇯🇵</text-ui>\n <text-ui weight=\"semibold\" grow>Japan</text-ui>\n <text-ui>1,920</text-ui>\n <text-ui color=\"subtle\">6.8%</text-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"3\" align=\"center\" grow>\n <text-ui size=\"lg\">🇨🇦</text-ui>\n <text-ui weight=\"semibold\" grow>Canada</text-ui>\n <text-ui>1,450</text-ui>\n <text-ui color=\"subtle\">5.1%</text-ui>\n </row-ui>\n </list-item-ui>\n </list-ui>\n </section>\n </card-ui>\n </grid-ui>\n </col-ui>\n <!-- /audience -->\n\n <!-- ═══════════════════════ ACQUISITION TAB ═══════════════════════ -->\n <col-ui data-tab-panel=\"acquisition\" gap=\"4\" hidden data-chunk=\"dashboard-acquisition-panel\" data-chunk-kind=\"panel\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Acquisition analytics panel: traffic channels breakdown.\"\n data-chunk-keywords=\"acquisition traffic channels marketing campaigns source referrals\"\n data-chunk-related=\"dashboard-overview-panel, dashboard-audience-panel, dashboard-conversion-panel\"\n data-chunk-tags-complexity=\"moderate\"\n data-chunk-tags-layout=\"panel\">\n <grid-ui columns=\"1 3@lg\" gap=\"4\" data-chunk=\"dashboard-traffic-channels\"\n data-chunk-kind=\"block\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Traffic + channels acquisition grid — line chart (2/3) + donut (1/3) responsive split layout.\"\n data-chunk-keywords=\"traffic channels acquisition analytics chart layout grid responsive breakpoint\">\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\">\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>\n </col-ui>\n <!-- /acquisition -->\n\n <!-- ═══════════════════════ BEHAVIOR TAB ═══════════════════════ -->\n <col-ui data-tab-panel=\"behavior\" gap=\"4\" hidden data-chunk=\"dashboard-behavior-panel\" data-chunk-kind=\"panel\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Behavior analytics panel: user behavior metrics and events.\"\n data-chunk-keywords=\"behavior events user interactions engagement actions\"\n data-chunk-related=\"dashboard-overview-panel, dashboard-audience-panel, dashboard-acquisition-panel\"\n data-chunk-tags-complexity=\"moderate\"\n data-chunk-tags-layout=\"panel\">\n <grid-ui data-chunk=\"dashboard-pages-table\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Top pages table card — page title, views, bounce rate, avg time on page.\"\n data-chunk-keywords=\"dashboard pages table analytics top content views bounce rate\">\n <card-ui>\n <header>\n <h3>Top pages</h3>\n <text-ui slot=\"description\" color=\"subtle\">Most-visited routes</text-ui>\n </header>\n <section bleed>\n <table-ui id=\"analytics-pages\" sortable striped></table-ui>\n </section>\n </card-ui>\n </grid-ui>\n </col-ui>\n <!-- /behavior -->\n\n <!-- ═══════════════════════ CONVERSION TAB ═══════════════════════ -->\n <col-ui data-tab-panel=\"conversion\" gap=\"4\" hidden data-chunk=\"dashboard-conversion-panel\" data-chunk-kind=\"panel\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Conversion analytics panel: funnel + goals.\"\n data-chunk-keywords=\"conversion funnel goals checkout signup purchases revenue\"\n data-chunk-related=\"dashboard-acquisition-panel, dashboard-reports-panel\"\n data-chunk-tags-complexity=\"moderate\"\n data-chunk-tags-layout=\"panel\">\n <grid-ui data-chunk=\"dashboard-funnel\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Conversion funnel visualization — sequential stages with counts, drop-off rates, and conversion percentages.\"\n data-chunk-keywords=\"funnel conversion stages drop-off rate analytics metrics flow customer-journey\">\n <card-ui>\n <header>\n <h3>Conversion funnel</h3>\n <p slot=\"description\">Visit → Sign up → Activate → Convert</p>\n </header>\n <section>\n <col-ui gap=\"3\">\n <row-ui align=\"center\" gap=\"3\">\n <col-ui gap=\"0\" grow>\n <text-ui strong>Visited landing page</text-ui>\n <text-ui color=\"subtle\">28,432 visitors</text-ui>\n </col-ui>\n <text-ui strong>100%</text-ui>\n </row-ui>\n <progress-row-ui label=\"Signed up\" value=\"42\" meta=\"11,942 · 42%\"></progress-row-ui>\n <progress-row-ui label=\"Activated\" value=\"28\" meta=\"7,961 · 28%\"></progress-row-ui>\n <progress-row-ui label=\"Converted to paid\" value=\"8\" meta=\"2,274 · 8.0%\"></progress-row-ui>\n </col-ui>\n </section>\n </card-ui>\n </grid-ui>\n\n <grid-ui data-chunk=\"dashboard-cohort-retention\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Cohort retention table card — weekly retention heatmap grid showing user cohort activity.\"\n data-chunk-keywords=\"dashboard cohort retention heatmap table analytics users weekly\">\n <card-ui>\n <header>\n <h3>Retention by signup week</h3>\n <text-ui slot=\"description\" color=\"subtle\">% of users still active in week N</text-ui>\n </header>\n <section bleed>\n <table-ui id=\"analytics-cohort\"></table-ui>\n </section>\n </card-ui>\n </grid-ui>\n </col-ui>\n <!-- /conversion -->\n\n <!-- ═══════════════════════ REPORTS TAB ═══════════════════════ -->\n <col-ui data-tab-panel=\"reports\" gap=\"4\" hidden data-chunk=\"dashboard-reports-panel\" data-chunk-kind=\"panel\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Reports panel: saved/scheduled report list.\"\n data-chunk-keywords=\"reports analytics scheduled exports saved insights\"\n data-chunk-related=\"dashboard-overview-panel, dashboard-conversion-panel\"\n data-chunk-tags-complexity=\"moderate\"\n data-chunk-tags-layout=\"panel\">\n <grid-ui data-chunk=\"dashboard-reports-table\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Reports list table card — scheduled or saved report entries with run/export actions.\"\n data-chunk-keywords=\"dashboard reports table list scheduled saved export actions\">\n <card-ui>\n <header>\n <h3>Reports</h3>\n <text-ui slot=\"description\" color=\"subtle\">Scheduled reports by category</text-ui>\n <span slot=\"action\">\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></table-ui>\n </section>\n </card-ui>\n </grid-ui>\n </col-ui>\n <!-- /reports -->\n\n <!-- ═══════════════════════ NOTIFICATIONS TAB ═══════════════════════ -->\n <col-ui data-tab-panel=\"notifications\" gap=\"4\" hidden data-chunk=\"dashboard-notifications-panel\" data-chunk-kind=\"panel\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Notifications panel: recent alerts and notifications list.\"\n data-chunk-keywords=\"notifications alerts events feed updates messages\"\n data-chunk-related=\"dashboard-team-actions-storage\"\n data-chunk-tags-complexity=\"simple\"\n data-chunk-tags-layout=\"panel\">\n <grid-ui data-chunk=\"notification-badges-feed\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Notification center feed card — recent alerts and activity with unread badge-ui indicators per item, segmented filter (all/unread/mentions), and mark-all-read action.\"\n data-chunk-keywords=\"notification center notifications feed activity timeline unread badge badge-ui notification badge alert indicator mark read segmented filter mentions dashboard badges notification-badges center unread\">\n <card-ui>\n <header>\n <h3>Notifications</h3>\n <p slot=\"description\">System and team activity</p>\n <row-ui slot=\"action\" gap=\"2\" align=\"center\">\n <segmented-ui value=\"all\" size=\"sm\">\n <segment-ui value=\"all\" text=\"All\"></segment-ui>\n <segment-ui value=\"unread\" text=\"Unread\"></segment-ui>\n <segment-ui value=\"mentions\" text=\"Mentions\"></segment-ui>\n </segmented-ui>\n <button-ui text=\"Mark all read\" variant=\"ghost\" size=\"sm\"></button-ui>\n </row-ui>\n </header>\n <section>\n <list-ui divider>\n <list-item-ui>\n <avatar-ui slot=\"icon\" icon=\"check-circle\" size=\"sm\"></avatar-ui>\n <row-ui slot=\"text\" gap=\"2\" align=\"center\">\n <text-ui weight=\"semibold\">Deployment completed</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">2m ago</text-ui>\n </row-ui>\n <text-ui slot=\"description\" color=\"subtle\">Production deploy v2.14.0 succeeded. 12 files changed.</text-ui>\n <badge-ui slot=\"action\" text=\"New\" variant=\"primary\"></badge-ui>\n </list-item-ui>\n <list-item-ui>\n <avatar-ui slot=\"icon\" text=\"Alex Chen\" size=\"sm\"></avatar-ui>\n <row-ui slot=\"text\" gap=\"2\" align=\"center\">\n <text-ui weight=\"semibold\">Alex Chen mentioned you</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">18m ago</text-ui>\n </row-ui>\n <text-ui slot=\"description\" color=\"subtle\">\"@you can you take a look at the Safari issue?\"</text-ui>\n <badge-ui slot=\"action\" text=\"Mention\" variant=\"warning\"></badge-ui>\n </list-item-ui>\n <list-item-ui>\n <avatar-ui slot=\"icon\" icon=\"warning\" size=\"sm\"></avatar-ui>\n <row-ui slot=\"text\" gap=\"2\" align=\"center\">\n <text-ui weight=\"semibold\">Usage threshold reached</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">2h ago</text-ui>\n </row-ui>\n <text-ui slot=\"description\" color=\"subtle\">API calls at 85% of monthly quota. Consider upgrading your plan.</text-ui>\n <badge-ui slot=\"action\" text=\"Warning\" variant=\"warning\"></badge-ui>\n </list-item-ui>\n <list-item-ui>\n <avatar-ui slot=\"icon\" text=\"Sarah Miller\" size=\"sm\"></avatar-ui>\n <row-ui slot=\"text\" gap=\"2\" align=\"center\">\n <text-ui weight=\"semibold\">Sarah Miller invited you</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">Yesterday</text-ui>\n </row-ui>\n <text-ui slot=\"description\" color=\"subtle\">You were added to the \"Brand refresh\" workspace.</text-ui>\n </list-item-ui>\n <list-item-ui>\n <avatar-ui slot=\"icon\" icon=\"key\" size=\"sm\"></avatar-ui>\n <row-ui slot=\"text\" gap=\"2\" align=\"center\">\n <text-ui weight=\"semibold\">API key rotated</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">2 days ago</text-ui>\n </row-ui>\n <text-ui slot=\"description\" color=\"subtle\">Your production API key was rotated. Old key is revoked.</text-ui>\n </list-item-ui>\n </list-ui>\n </section>\n </card-ui>\n </grid-ui>\n </col-ui>\n <!-- /notifications -->\n </div>\n </section>"
|
|
15
|
+
"html": "<section>\n <div data-dashboard-content>\n <col-ui data-tab-panel=\"overview\" gap=\"4\" data-chunk=\"dashboard-overview-panel\" data-chunk-kind=\"panel\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Overview analytics panel: KPI grid + recent-activity chart + spark cards + transactions table + team/actions/storage strip.\"\n data-chunk-keywords=\"overview dashboard kpi metrics chart activity sparkline transactions team storage\"\n data-chunk-related=\"dashboard-kpi-grid, dashboard-chart-recent, dashboard-spark-cards, dashboard-team-actions-storage\"\n data-chunk-tags-complexity=\"complex\"\n data-chunk-tags-layout=\"panel\">\n <!-- ═══ ROW 1: 4 KPI STAT CARDS ═══ -->\n <grid-ui columns=\"2 4@lg\" gap=\"4\" data-chunk=\"stat-cards-kpi-dashboard\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"KPI stat cards dashboard — grid of stat-ui cards each showing a label, large numeric value, trend delta (up/down), and icon. Revenue, subscriptions, sales, and active-user metrics.\"\n data-chunk-keywords=\"stat cards kpi dashboard stat-ui revenue users growth metrics grid trend delta change value label icon currency sales active subscriptions kpi-grid numbers business-metrics\">\n <card-ui\n ><section><stat-ui label=\"Total Revenue\" value=\"$45,231.89\" change=\"+20.1%\" trend=\"up\" icon=\"currency-dollar\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Subscriptions\" value=\"+2,350\" change=\"+180.1%\" trend=\"up\" icon=\"users\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Sales\" value=\"+12,234\" change=\"+19%\" trend=\"up\" icon=\"credit-card\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Active Now\" value=\"+573\" change=\"+201\" trend=\"up\" icon=\"chart-bar\"></stat-ui></section\n ></card-ui>\n </grid-ui>\n\n <!-- ═══ ROW 3: OVERVIEW CHART + RECENT SALES (3:2) ═══ -->\n <grid-ui columns=\"1 5@md\" gap=\"4\" data-chunk=\"dashboard-chart-recent\"\n data-chunk-kind=\"block\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Sales report split-pane: bar chart (monthly revenue) on the left with a recent sales customer list on the right. Two-column layout pairing a chart-ui bar chart with a sales feed.\"\n data-chunk-keywords=\"sales report bar chart chart-ui revenue monthly overview split pane two column side by side recent sales customer list timeseries graph trend responsive breakpoint\"\n data-chunk-related=\"dashboard-spark-cards, dashboard-overview-panel\"\n data-chunk-tags-complexity=\"simple\"\n data-chunk-tags-layout=\"card\">\n <card-ui span=\"3\">\n <header data-chunk=\"card-header-with-description\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Card header with description — card header slot showing heading + subtitle description pair.\"\n data-chunk-keywords=\"card header heading description subtitle pattern\">\n <h3>Overview</h3>\n <text-ui slot=\"description\" color=\"subtle\">Monthly revenue for 2026</text-ui>\n </header>\n <section>\n <col-ui>\n <chart-ui id=\"dash-overview\" type=\"bar\" x=\"month\" y=\"revenue\" hide-values></chart-ui>\n <grid-ui columns=\"1 2@sm\" gap=\"3\">\n <card-ui>\n <section>\n <stat-ui label=\"This Month\" value=\"$5,400\" change=\"+12% vs last month\" trend=\"up\"></stat-ui>\n </section>\n </card-ui>\n <card-ui>\n <section>\n <stat-ui label=\"Yearly Total\" value=\"$59,100\" change=\"On track for $65k target\" trend=\"neutral\"></stat-ui>\n </section>\n </card-ui>\n </grid-ui>\n </col-ui>\n </section>\n <footer>\n <button-ui text=\"View Full Report\" variant=\"outline\" stretch></button-ui>\n </footer>\n </card-ui>\n <card-ui span=\"2\">\n <header>\n <h3>Recent Sales</h3>\n <text-ui slot=\"description\" color=\"subtle\">You made 265 sales this month.</text-ui>\n </header>\n <section>\n <list-ui divider>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" grow>\n <avatar-ui text=\"Olivia Martin\" size=\"sm\"></avatar-ui>\n <col-ui gap=\"0\" grow>\n <row-ui>\n <text-ui weight=\"semibold\" grow>Olivia Martin</text-ui>\n <text-ui strong>+$1,999.00</text-ui>\n </row-ui>\n <text-ui color=\"subtle\">olivia.martin@email.com</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" grow>\n <avatar-ui text=\"Jackson Lee\" size=\"sm\"></avatar-ui>\n <col-ui gap=\"0\" grow>\n <row-ui>\n <text-ui weight=\"semibold\" grow>Jackson Lee</text-ui>\n <text-ui strong>+$39.00</text-ui>\n </row-ui>\n <text-ui color=\"subtle\">jackson.lee@email.com</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" grow>\n <avatar-ui text=\"Isabella Nguyen\" size=\"sm\"></avatar-ui>\n <col-ui gap=\"0\" grow>\n <row-ui>\n <text-ui weight=\"semibold\" grow>Isabella Nguyen</text-ui>\n <text-ui strong>+$299.00</text-ui>\n </row-ui>\n <text-ui color=\"subtle\">isabella.nguyen@email.com</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" grow>\n <avatar-ui text=\"William Kim\" size=\"sm\"></avatar-ui>\n <col-ui gap=\"0\" grow>\n <row-ui>\n <text-ui weight=\"semibold\" grow>William Kim</text-ui>\n <text-ui strong>+$99.00</text-ui>\n </row-ui>\n <text-ui color=\"subtle\">will@email.com</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"2\" align=\"center\" grow>\n <avatar-ui text=\"Sofia Davis\" size=\"sm\"></avatar-ui>\n <col-ui gap=\"0\" grow>\n <row-ui>\n <text-ui weight=\"semibold\" grow>Sofia Davis</text-ui>\n <text-ui strong>+$39.00</text-ui>\n </row-ui>\n <text-ui color=\"subtle\">sofia.davis@email.com</text-ui>\n </col-ui>\n </row-ui>\n </list-item-ui>\n </list-ui>\n </section>\n </card-ui>\n </grid-ui>\n\n <!-- ═══ ROW 4: 4 SPARKLINE METRIC CARDS ═══ -->\n <grid-ui columns=\"2 4@lg\" gap=\"4\" data-chunk=\"analytics-sparklines-dashboard\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"4-column web analytics cards with inline sparklines — each card pairs a headline metric value with a small trend sparkline chart. Page views, bounce rate, session duration, conversion metrics with mini-chart.\"\n data-chunk-keywords=\"analytics sparklines page-views bounce-rate session-duration conversion web-analytics mini-chart chart-ui inline-chart trend sparkline-chart sparklines dashboard analytics-dashboard web-metrics traffic\">\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>\n\n <!-- ═══ ROW 5: TRANSACTIONS TABLE ═══\n Supports ?state=empty|loading|error URL params for state-coverage\n demos; the default state renders the populated table. -->\n <grid-ui data-chunk=\"dashboard-transactions-table\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Transactions data table — id, date, customer, amount, status badge per row + pagination footer.\"\n data-chunk-keywords=\"transactions data-table list orders sales payments rows pagination status-badge\">\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 paginate=\"5\"></table-ui>\n </section>\n </card-ui>\n </grid-ui>\n\n <!-- ═══ ROW 6: TEAM + QUICK ACTIONS + STORAGE ═══ -->\n <grid-ui columns=\"1 3@lg\" gap=\"4\" data-chunk=\"dashboard-team-actions-storage\"\n data-chunk-kind=\"block\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Three-card strip combining team list + quick actions + storage usage card.\"\n data-chunk-keywords=\"team members quick actions storage usage limits sidebar responsive breakpoint\"\n data-chunk-related=\"dashboard-team-list, dashboard-quick-actions, dashboard-storage-card\"\n data-chunk-tags-complexity=\"moderate\"\n data-chunk-tags-layout=\"row\">\n <card-ui data-chunk=\"dashboard-team-list\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Team members list card — avatars + names + roles with invite action.\"\n data-chunk-keywords=\"dashboard team members list avatars roles invite manage\">\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\" 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\" 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\" 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\" 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\" tone=\"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>\n\n <card-ui data-chunk=\"dashboard-quick-actions\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Quick actions card — common shortcut buttons for frequent dashboard tasks.\"\n data-chunk-keywords=\"dashboard quick actions shortcuts buttons frequent tasks\">\n <header><h3>Quick Actions</h3></header>\n <section>\n <action-list-ui>\n <action-item-ui icon=\"plus\" text=\"New Project\" value=\"new\"></action-item-ui>\n <action-item-ui icon=\"users\" text=\"Invite Team\" value=\"invite\"></action-item-ui>\n <action-item-ui icon=\"download\" text=\"Export Data\" value=\"export\"></action-item-ui>\n <action-item-ui icon=\"chart-bar\" text=\"View Reports\" value=\"reports\"></action-item-ui>\n <action-item-ui icon=\"gear\" text=\"Settings\" value=\"settings\"></action-item-ui>\n <action-item-ui icon=\"question\" text=\"Help Center\" value=\"help\"></action-item-ui>\n </action-list-ui>\n </section>\n </card-ui>\n\n <card-ui data-chunk=\"dashboard-storage-card\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Storage usage card — used / total storage bar with tier breakdown and upgrade CTA.\"\n data-chunk-keywords=\"dashboard storage usage quota bar tier upgrade\">\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-ui label=\"75 GB used\" value=\"75\" meta=\"100 GB total\"></progress-ui>\n <progress-ui label=\"Documents\" value=\"42\" meta=\"32 GB\"></progress-ui>\n <progress-ui label=\"Media\" value=\"37\" meta=\"28 GB\"></progress-ui>\n <progress-ui label=\"Backups\" value=\"20\" meta=\"15 GB\"></progress-ui>\n </col-ui>\n </section>\n <footer>\n <button-ui text=\"Upgrade Plan\" variant=\"primary\" stretch></button-ui>\n </footer>\n </card-ui>\n </grid-ui>\n </col-ui>\n <!-- /overview -->\n\n <!-- ═══════════════════════ AUDIENCE TAB ═══════════════════════ -->\n <col-ui data-tab-panel=\"audience\" gap=\"4\" hidden data-chunk=\"dashboard-audience-panel\" data-chunk-kind=\"panel\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Audience analytics panel: filter bar + audience KPIs + country breakdown list.\"\n data-chunk-keywords=\"audience analytics demographics countries geography filter kpis\"\n data-chunk-related=\"dashboard-overview-panel, dashboard-acquisition-panel, dashboard-behavior-panel\"\n data-chunk-tags-complexity=\"moderate\"\n data-chunk-tags-layout=\"panel\">\n <!-- Filter bar (cross-tab across the four analytics panels) -->\n <grid-ui data-chunk=\"dashboard-filter-bar\" data-chunk-kind=\"block\"\n data-chunk-domain=\"navigation\"\n data-chunk-description=\"Toolbar/filter bar — search input + filter dropdowns + date-range picker + action buttons in one row.\"\n data-chunk-keywords=\"toolbar filter-bar search filters dropdowns date-range actions controls toolbar-icons\">\n <card-ui>\n <section>\n <row-ui gap=\"2\" align=\"center\" wrap data-filter-bar>\n <text-ui color=\"subtle\" weight=\"semibold\">Filters:</text-ui>\n <tag-ui text=\"Country: United States\" removable size=\"sm\" tone=\"muted\"></tag-ui>\n <tag-ui text=\"Device: Desktop\" removable size=\"sm\" tone=\"muted\"></tag-ui>\n <button-ui data-filter-add text=\"+ Add filter\" variant=\"ghost\" size=\"sm\"></button-ui>\n <span data-spacer></span>\n <button-ui data-filter-clear text=\"Clear all\" variant=\"ghost\" size=\"sm\"></button-ui>\n </row-ui>\n </section>\n </card-ui>\n </grid-ui>\n\n <!-- Analytics: bar + line side by side -->\n <grid-ui columns=\"1 2@md\" gap=\"4\" data-chunk=\"analytics-chart\" data-chunk-kind=\"block\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Analytics dashboard with bar chart and line chart displayed side by side. Revenue bar chart on the left, sessions trend line chart on the right.\"\n data-chunk-keywords=\"analytics chart bar chart line chart side by side dashboard two column grid revenue sessions trend data visualization bar line analytics-chart\">\n <card-ui>\n <header>\n <h3>Revenue</h3>\n <p slot=\"description\">Monthly revenue breakdown</p>\n </header>\n <section>\n <chart-ui type=\"bar\" x=\"month\" y=\"revenue\" hide-values\n data='[{\"month\":\"Jan\",\"revenue\":3200},{\"month\":\"Feb\",\"revenue\":4100},{\"month\":\"Mar\",\"revenue\":3800},{\"month\":\"Apr\",\"revenue\":5200},{\"month\":\"May\",\"revenue\":4800},{\"month\":\"Jun\",\"revenue\":6100}]'></chart-ui>\n </section>\n </card-ui>\n <card-ui>\n <header>\n <h3>Sessions</h3>\n <p slot=\"description\">Daily session trend</p>\n </header>\n <section>\n <chart-ui type=\"line\" x=\"day\" y=\"sessions\" smooth=\"0.4\" hide-values\n data='[{\"day\":\"Mon\",\"sessions\":1200},{\"day\":\"Tue\",\"sessions\":1800},{\"day\":\"Wed\",\"sessions\":1500},{\"day\":\"Thu\",\"sessions\":2200},{\"day\":\"Fri\",\"sessions\":1900},{\"day\":\"Sat\",\"sessions\":800},{\"day\":\"Sun\",\"sessions\":600}]'></chart-ui>\n </section>\n </card-ui>\n </grid-ui>\n\n <!-- KPI ROW -->\n <grid-ui columns=\"2 4@lg\" gap=\"4\" data-chunk=\"dashboard-audience-kpis\"\n data-chunk-kind=\"block\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"4-column audience KPI grid — unique visitors, sessions, avg. session, bounce rate.\"\n data-chunk-keywords=\"audience kpis metrics stats grid dashboard cards analytics responsive breakpoint\">\n <card-ui\n ><section><stat-ui label=\"Unique visitors\" value=\"28,432\" change=\"+8.2%\" trend=\"up\" icon=\"users\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Sessions\" value=\"41,203\" change=\"+12.4%\" trend=\"up\" icon=\"browsers\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Avg. session\" value=\"4m 32s\" change=\"+18s\" trend=\"up\" icon=\"clock\"></stat-ui></section\n ></card-ui>\n <card-ui\n ><section><stat-ui label=\"Bounce rate\" value=\"24.3%\" change=\"-2.1%\" trend=\"up\" icon=\"arrow-bend-up-right\"></stat-ui></section\n ></card-ui>\n </grid-ui>\n\n <!-- TOP COUNTRIES -->\n <grid-ui data-chunk=\"dashboard-country-list\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Country traffic list card — top countries by pageview or user count with bar chart.\"\n data-chunk-keywords=\"dashboard country list traffic geo analytics pageviews\">\n <card-ui>\n <header>\n <h3>Top countries</h3>\n <text-ui slot=\"description\" color=\"subtle\">Sessions by geography</text-ui>\n </header>\n <section>\n <list-ui divider>\n <list-item-ui>\n <row-ui gap=\"3\" align=\"center\" grow>\n <text-ui size=\"lg\">🇺🇸</text-ui>\n <text-ui weight=\"semibold\" grow>United States</text-ui>\n <text-ui>14,320</text-ui>\n <text-ui color=\"subtle\">50.4%</text-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"3\" align=\"center\" grow>\n <text-ui size=\"lg\">🇩🇪</text-ui>\n <text-ui weight=\"semibold\" grow>Germany</text-ui>\n <text-ui>3,892</text-ui>\n <text-ui color=\"subtle\">13.7%</text-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"3\" align=\"center\" grow>\n <text-ui size=\"lg\">🇬🇧</text-ui>\n <text-ui weight=\"semibold\" grow>United Kingdom</text-ui>\n <text-ui>2,841</text-ui>\n <text-ui color=\"subtle\">10.0%</text-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"3\" align=\"center\" grow>\n <text-ui size=\"lg\">🇯🇵</text-ui>\n <text-ui weight=\"semibold\" grow>Japan</text-ui>\n <text-ui>1,920</text-ui>\n <text-ui color=\"subtle\">6.8%</text-ui>\n </row-ui>\n </list-item-ui>\n <list-item-ui>\n <row-ui gap=\"3\" align=\"center\" grow>\n <text-ui size=\"lg\">🇨🇦</text-ui>\n <text-ui weight=\"semibold\" grow>Canada</text-ui>\n <text-ui>1,450</text-ui>\n <text-ui color=\"subtle\">5.1%</text-ui>\n </row-ui>\n </list-item-ui>\n </list-ui>\n </section>\n </card-ui>\n </grid-ui>\n </col-ui>\n <!-- /audience -->\n\n <!-- ═══════════════════════ ACQUISITION TAB ═══════════════════════ -->\n <col-ui data-tab-panel=\"acquisition\" gap=\"4\" hidden data-chunk=\"dashboard-acquisition-panel\" data-chunk-kind=\"panel\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Acquisition analytics panel: traffic channels breakdown.\"\n data-chunk-keywords=\"acquisition traffic channels marketing campaigns source referrals\"\n data-chunk-related=\"dashboard-overview-panel, dashboard-audience-panel, dashboard-conversion-panel\"\n data-chunk-tags-complexity=\"moderate\"\n data-chunk-tags-layout=\"panel\">\n <grid-ui columns=\"1 3@lg\" gap=\"4\" data-chunk=\"dashboard-traffic-channels\"\n data-chunk-kind=\"block\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Traffic + channels acquisition grid — line chart (2/3) + donut (1/3) responsive split layout.\"\n data-chunk-keywords=\"traffic channels acquisition analytics chart layout grid responsive breakpoint\">\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\">\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>\n </col-ui>\n <!-- /acquisition -->\n\n <!-- ═══════════════════════ BEHAVIOR TAB ═══════════════════════ -->\n <col-ui data-tab-panel=\"behavior\" gap=\"4\" hidden data-chunk=\"dashboard-behavior-panel\" data-chunk-kind=\"panel\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Behavior analytics panel: user behavior metrics and events.\"\n data-chunk-keywords=\"behavior events user interactions engagement actions\"\n data-chunk-related=\"dashboard-overview-panel, dashboard-audience-panel, dashboard-acquisition-panel\"\n data-chunk-tags-complexity=\"moderate\"\n data-chunk-tags-layout=\"panel\">\n <grid-ui data-chunk=\"dashboard-pages-table\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Top pages table card — page title, views, bounce rate, avg time on page.\"\n data-chunk-keywords=\"dashboard pages table analytics top content views bounce rate\">\n <card-ui>\n <header>\n <h3>Top pages</h3>\n <text-ui slot=\"description\" color=\"subtle\">Most-visited routes</text-ui>\n </header>\n <section bleed>\n <table-ui id=\"analytics-pages\" sortable striped></table-ui>\n </section>\n </card-ui>\n </grid-ui>\n </col-ui>\n <!-- /behavior -->\n\n <!-- ═══════════════════════ CONVERSION TAB ═══════════════════════ -->\n <col-ui data-tab-panel=\"conversion\" gap=\"4\" hidden data-chunk=\"dashboard-conversion-panel\" data-chunk-kind=\"panel\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Conversion analytics panel: funnel + goals.\"\n data-chunk-keywords=\"conversion funnel goals checkout signup purchases revenue\"\n data-chunk-related=\"dashboard-acquisition-panel, dashboard-reports-panel\"\n data-chunk-tags-complexity=\"moderate\"\n data-chunk-tags-layout=\"panel\">\n <grid-ui data-chunk=\"dashboard-funnel\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Conversion funnel visualization — sequential stages with counts, drop-off rates, and conversion percentages.\"\n data-chunk-keywords=\"funnel conversion stages drop-off rate analytics metrics flow customer-journey\">\n <card-ui>\n <header>\n <h3>Conversion funnel</h3>\n <p slot=\"description\">Visit → Sign up → Activate → Convert</p>\n </header>\n <section>\n <col-ui gap=\"3\">\n <row-ui align=\"center\" gap=\"3\">\n <col-ui gap=\"0\" grow>\n <text-ui strong>Visited landing page</text-ui>\n <text-ui color=\"subtle\">28,432 visitors</text-ui>\n </col-ui>\n <text-ui strong>100%</text-ui>\n </row-ui>\n <progress-ui label=\"Signed up\" value=\"42\" meta=\"11,942 · 42%\"></progress-ui>\n <progress-ui label=\"Activated\" value=\"28\" meta=\"7,961 · 28%\"></progress-ui>\n <progress-ui label=\"Converted to paid\" value=\"8\" meta=\"2,274 · 8.0%\"></progress-ui>\n </col-ui>\n </section>\n </card-ui>\n </grid-ui>\n\n <grid-ui data-chunk=\"dashboard-cohort-retention\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Cohort retention table card — weekly retention heatmap grid showing user cohort activity.\"\n data-chunk-keywords=\"dashboard cohort retention heatmap table analytics users weekly\">\n <card-ui>\n <header>\n <h3>Retention by signup week</h3>\n <text-ui slot=\"description\" color=\"subtle\">% of users still active in week N</text-ui>\n </header>\n <section bleed>\n <table-ui id=\"analytics-cohort\"></table-ui>\n </section>\n </card-ui>\n </grid-ui>\n </col-ui>\n <!-- /conversion -->\n\n <!-- ═══════════════════════ REPORTS TAB ═══════════════════════ -->\n <col-ui data-tab-panel=\"reports\" gap=\"4\" hidden data-chunk=\"dashboard-reports-panel\" data-chunk-kind=\"panel\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Reports panel: saved/scheduled report list.\"\n data-chunk-keywords=\"reports analytics scheduled exports saved insights\"\n data-chunk-related=\"dashboard-overview-panel, dashboard-conversion-panel\"\n data-chunk-tags-complexity=\"moderate\"\n data-chunk-tags-layout=\"panel\">\n <grid-ui data-chunk=\"dashboard-reports-table\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Reports list table card — scheduled or saved report entries with run/export actions.\"\n data-chunk-keywords=\"dashboard reports table list scheduled saved export actions\">\n <card-ui>\n <header>\n <h3>Reports</h3>\n <text-ui slot=\"description\" color=\"subtle\">Scheduled reports by category</text-ui>\n <span slot=\"action\">\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></table-ui>\n </section>\n </card-ui>\n </grid-ui>\n </col-ui>\n <!-- /reports -->\n\n <!-- ═══════════════════════ NOTIFICATIONS TAB ═══════════════════════ -->\n <col-ui data-tab-panel=\"notifications\" gap=\"4\" hidden data-chunk=\"dashboard-notifications-panel\" data-chunk-kind=\"panel\"\n data-chunk-domain=\"dashboard\"\n data-chunk-description=\"Notifications panel: recent alerts and notifications list.\"\n data-chunk-keywords=\"notifications alerts events feed updates messages\"\n data-chunk-related=\"dashboard-team-actions-storage\"\n data-chunk-tags-complexity=\"simple\"\n data-chunk-tags-layout=\"panel\">\n <grid-ui data-chunk=\"notification-badges-feed\" data-chunk-kind=\"block\"\n data-chunk-domain=\"data\"\n data-chunk-description=\"Notification center feed card — recent alerts and activity with unread badge-ui indicators per item, segmented filter (all/unread/mentions), and mark-all-read action.\"\n data-chunk-keywords=\"notification center notifications feed activity timeline unread badge badge-ui notification badge alert indicator mark read segmented filter mentions dashboard badges notification-badges center unread\">\n <card-ui>\n <header>\n <h3>Notifications</h3>\n <p slot=\"description\">System and team activity</p>\n <row-ui slot=\"action\" gap=\"2\" align=\"center\">\n <segmented-ui value=\"all\" size=\"sm\">\n <segment-ui value=\"all\" text=\"All\"></segment-ui>\n <segment-ui value=\"unread\" text=\"Unread\"></segment-ui>\n <segment-ui value=\"mentions\" text=\"Mentions\"></segment-ui>\n </segmented-ui>\n <button-ui text=\"Mark all read\" variant=\"ghost\" size=\"sm\"></button-ui>\n </row-ui>\n </header>\n <section>\n <list-ui divider>\n <list-item-ui>\n <avatar-ui slot=\"icon\" icon=\"check-circle\" size=\"sm\"></avatar-ui>\n <row-ui slot=\"text\" gap=\"2\" align=\"center\">\n <text-ui weight=\"semibold\">Deployment completed</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">2m ago</text-ui>\n </row-ui>\n <text-ui slot=\"description\" color=\"subtle\">Production deploy v2.14.0 succeeded. 12 files changed.</text-ui>\n <badge-ui slot=\"action\" text=\"New\" variant=\"primary\"></badge-ui>\n </list-item-ui>\n <list-item-ui>\n <avatar-ui slot=\"icon\" text=\"Alex Chen\" size=\"sm\"></avatar-ui>\n <row-ui slot=\"text\" gap=\"2\" align=\"center\">\n <text-ui weight=\"semibold\">Alex Chen mentioned you</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">18m ago</text-ui>\n </row-ui>\n <text-ui slot=\"description\" color=\"subtle\">\"@you can you take a look at the Safari issue?\"</text-ui>\n <badge-ui slot=\"action\" text=\"Mention\" variant=\"warning\"></badge-ui>\n </list-item-ui>\n <list-item-ui>\n <avatar-ui slot=\"icon\" icon=\"warning\" size=\"sm\"></avatar-ui>\n <row-ui slot=\"text\" gap=\"2\" align=\"center\">\n <text-ui weight=\"semibold\">Usage threshold reached</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">2h ago</text-ui>\n </row-ui>\n <text-ui slot=\"description\" color=\"subtle\">API calls at 85% of monthly quota. Consider upgrading your plan.</text-ui>\n <badge-ui slot=\"action\" text=\"Warning\" variant=\"warning\"></badge-ui>\n </list-item-ui>\n <list-item-ui>\n <avatar-ui slot=\"icon\" text=\"Sarah Miller\" size=\"sm\"></avatar-ui>\n <row-ui slot=\"text\" gap=\"2\" align=\"center\">\n <text-ui weight=\"semibold\">Sarah Miller invited you</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">Yesterday</text-ui>\n </row-ui>\n <text-ui slot=\"description\" color=\"subtle\">You were added to the \"Brand refresh\" workspace.</text-ui>\n </list-item-ui>\n <list-item-ui>\n <avatar-ui slot=\"icon\" icon=\"key\" size=\"sm\"></avatar-ui>\n <row-ui slot=\"text\" gap=\"2\" align=\"center\">\n <text-ui weight=\"semibold\">API key rotated</text-ui>\n <text-ui color=\"subtle\" size=\"sm\">2 days ago</text-ui>\n </row-ui>\n <text-ui slot=\"description\" color=\"subtle\">Your production API key was rotated. Old key is revoked.</text-ui>\n </list-item-ui>\n </list-ui>\n </section>\n </card-ui>\n </grid-ui>\n </col-ui>\n <!-- /notifications -->\n </div>\n </section>"
|
|
16
16
|
}
|
|
17
17
|
],
|
|
18
18
|
"nested": [
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"layout": "page"
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
|
-
"captured_at": "2026-08-
|
|
95
|
+
"captured_at": "2026-08-17T02:47:52.800Z",
|
|
96
96
|
"template": [
|
|
97
97
|
{
|
|
98
98
|
"id": "root",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"layout": "panel"
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
|
-
"captured_at": "2026-
|
|
39
|
+
"captured_at": "2026-08-17T04:33:27.534Z",
|
|
40
40
|
"template": [
|
|
41
41
|
{
|
|
42
42
|
"id": "text",
|
|
@@ -98,22 +98,22 @@
|
|
|
98
98
|
]
|
|
99
99
|
},
|
|
100
100
|
{
|
|
101
|
-
"id": "progress
|
|
102
|
-
"component": "
|
|
101
|
+
"id": "progress",
|
|
102
|
+
"component": "Progress",
|
|
103
103
|
"label": "Signed up",
|
|
104
104
|
"meta": "11,942 · 42%",
|
|
105
105
|
"value": 42
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
|
-
"id": "progress-
|
|
109
|
-
"component": "
|
|
108
|
+
"id": "progress-2",
|
|
109
|
+
"component": "Progress",
|
|
110
110
|
"label": "Activated",
|
|
111
111
|
"meta": "7,961 · 28%",
|
|
112
112
|
"value": 28
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
|
-
"id": "progress-
|
|
116
|
-
"component": "
|
|
115
|
+
"id": "progress-3",
|
|
116
|
+
"component": "Progress",
|
|
117
117
|
"label": "Converted to paid",
|
|
118
118
|
"meta": "2,274 · 8.0%",
|
|
119
119
|
"value": 8
|
|
@@ -124,9 +124,9 @@
|
|
|
124
124
|
"gap": "3",
|
|
125
125
|
"children": [
|
|
126
126
|
"row",
|
|
127
|
-
"progress
|
|
128
|
-
"progress-
|
|
129
|
-
"progress-
|
|
127
|
+
"progress",
|
|
128
|
+
"progress-2",
|
|
129
|
+
"progress-3"
|
|
130
130
|
]
|
|
131
131
|
},
|
|
132
132
|
{
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"slots": [],
|
|
7
7
|
"nested": [],
|
|
8
8
|
"attrs": {},
|
|
9
|
-
"html": "<grid-ui>\n <card-ui>\n <header>\n <h3>Conversion funnel</h3>\n <p slot=\"description\">Visit → Sign up → Activate → Convert</p>\n </header>\n <section>\n <col-ui gap=\"3\">\n <row-ui align=\"center\" gap=\"3\">\n <col-ui gap=\"0\" grow>\n <text-ui strong>Visited landing page</text-ui>\n <text-ui color=\"subtle\">28,432 visitors</text-ui>\n </col-ui>\n <text-ui strong>100%</text-ui>\n </row-ui>\n <progress-
|
|
9
|
+
"html": "<grid-ui>\n <card-ui>\n <header>\n <h3>Conversion funnel</h3>\n <p slot=\"description\">Visit → Sign up → Activate → Convert</p>\n </header>\n <section>\n <col-ui gap=\"3\">\n <row-ui align=\"center\" gap=\"3\">\n <col-ui gap=\"0\" grow>\n <text-ui strong>Visited landing page</text-ui>\n <text-ui color=\"subtle\">28,432 visitors</text-ui>\n </col-ui>\n <text-ui strong>100%</text-ui>\n </row-ui>\n <progress-ui label=\"Signed up\" value=\"42\" meta=\"11,942 · 42%\"></progress-ui>\n <progress-ui label=\"Activated\" value=\"28\" meta=\"7,961 · 28%\"></progress-ui>\n <progress-ui label=\"Converted to paid\" value=\"8\" meta=\"2,274 · 8.0%\"></progress-ui>\n </col-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
|
"customer-journey"
|
|
24
24
|
]
|
|
25
25
|
},
|
|
26
|
-
"captured_at": "2026-
|
|
26
|
+
"captured_at": "2026-08-17T04:33:27.534Z",
|
|
27
27
|
"template": [
|
|
28
28
|
{
|
|
29
29
|
"id": "text",
|
|
@@ -85,22 +85,22 @@
|
|
|
85
85
|
]
|
|
86
86
|
},
|
|
87
87
|
{
|
|
88
|
-
"id": "progress
|
|
89
|
-
"component": "
|
|
88
|
+
"id": "progress",
|
|
89
|
+
"component": "Progress",
|
|
90
90
|
"label": "Signed up",
|
|
91
91
|
"meta": "11,942 · 42%",
|
|
92
92
|
"value": 42
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
|
-
"id": "progress-
|
|
96
|
-
"component": "
|
|
95
|
+
"id": "progress-2",
|
|
96
|
+
"component": "Progress",
|
|
97
97
|
"label": "Activated",
|
|
98
98
|
"meta": "7,961 · 28%",
|
|
99
99
|
"value": 28
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
|
-
"id": "progress-
|
|
103
|
-
"component": "
|
|
102
|
+
"id": "progress-3",
|
|
103
|
+
"component": "Progress",
|
|
104
104
|
"label": "Converted to paid",
|
|
105
105
|
"meta": "2,274 · 8.0%",
|
|
106
106
|
"value": 8
|
|
@@ -111,9 +111,9 @@
|
|
|
111
111
|
"gap": "3",
|
|
112
112
|
"children": [
|
|
113
113
|
"row",
|
|
114
|
-
"progress
|
|
115
|
-
"progress-
|
|
116
|
-
"progress-
|
|
114
|
+
"progress",
|
|
115
|
+
"progress-2",
|
|
116
|
+
"progress-3"
|
|
117
117
|
]
|
|
118
118
|
},
|
|
119
119
|
{
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"layout": "panel"
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
|
-
"captured_at": "2026-08-
|
|
50
|
+
"captured_at": "2026-08-17T04:33:27.534Z",
|
|
51
51
|
"template": [
|
|
52
52
|
{
|
|
53
53
|
"id": "stat",
|
|
@@ -1518,29 +1518,29 @@
|
|
|
1518
1518
|
]
|
|
1519
1519
|
},
|
|
1520
1520
|
{
|
|
1521
|
-
"id": "progress
|
|
1522
|
-
"component": "
|
|
1521
|
+
"id": "progress",
|
|
1522
|
+
"component": "Progress",
|
|
1523
1523
|
"label": "75 GB used",
|
|
1524
1524
|
"meta": "100 GB total",
|
|
1525
1525
|
"value": 75
|
|
1526
1526
|
},
|
|
1527
1527
|
{
|
|
1528
|
-
"id": "progress-
|
|
1529
|
-
"component": "
|
|
1528
|
+
"id": "progress-2",
|
|
1529
|
+
"component": "Progress",
|
|
1530
1530
|
"label": "Documents",
|
|
1531
1531
|
"meta": "32 GB",
|
|
1532
1532
|
"value": 42
|
|
1533
1533
|
},
|
|
1534
1534
|
{
|
|
1535
|
-
"id": "progress-
|
|
1536
|
-
"component": "
|
|
1535
|
+
"id": "progress-3",
|
|
1536
|
+
"component": "Progress",
|
|
1537
1537
|
"label": "Media",
|
|
1538
1538
|
"meta": "28 GB",
|
|
1539
1539
|
"value": 37
|
|
1540
1540
|
},
|
|
1541
1541
|
{
|
|
1542
|
-
"id": "progress-
|
|
1543
|
-
"component": "
|
|
1542
|
+
"id": "progress-4",
|
|
1543
|
+
"component": "Progress",
|
|
1544
1544
|
"label": "Backups",
|
|
1545
1545
|
"meta": "15 GB",
|
|
1546
1546
|
"value": 20
|
|
@@ -1550,10 +1550,10 @@
|
|
|
1550
1550
|
"component": "Column",
|
|
1551
1551
|
"gap": "2",
|
|
1552
1552
|
"children": [
|
|
1553
|
-
"progress
|
|
1554
|
-
"progress-
|
|
1555
|
-
"progress-
|
|
1556
|
-
"progress-
|
|
1553
|
+
"progress",
|
|
1554
|
+
"progress-2",
|
|
1555
|
+
"progress-3",
|
|
1556
|
+
"progress-4"
|
|
1557
1557
|
]
|
|
1558
1558
|
},
|
|
1559
1559
|
{
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"slots": [],
|
|
7
7
|
"nested": [],
|
|
8
8
|
"attrs": {},
|
|
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-
|
|
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-ui label=\"75 GB used\" value=\"75\" meta=\"100 GB total\"></progress-ui>\n <progress-ui label=\"Documents\" value=\"42\" meta=\"32 GB\"></progress-ui>\n <progress-ui label=\"Media\" value=\"37\" meta=\"28 GB\"></progress-ui>\n <progress-ui label=\"Backups\" value=\"20\" meta=\"15 GB\"></progress-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
11
|
"metadata": {
|
|
12
12
|
"domain": "data",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"upgrade"
|
|
22
22
|
]
|
|
23
23
|
},
|
|
24
|
-
"captured_at": "2026-
|
|
24
|
+
"captured_at": "2026-08-17T04:33:27.534Z",
|
|
25
25
|
"template": [
|
|
26
26
|
{
|
|
27
27
|
"id": "text",
|
|
@@ -45,29 +45,29 @@
|
|
|
45
45
|
]
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
|
-
"id": "progress
|
|
49
|
-
"component": "
|
|
48
|
+
"id": "progress",
|
|
49
|
+
"component": "Progress",
|
|
50
50
|
"label": "75 GB used",
|
|
51
51
|
"meta": "100 GB total",
|
|
52
52
|
"value": 75
|
|
53
53
|
},
|
|
54
54
|
{
|
|
55
|
-
"id": "progress-
|
|
56
|
-
"component": "
|
|
55
|
+
"id": "progress-2",
|
|
56
|
+
"component": "Progress",
|
|
57
57
|
"label": "Documents",
|
|
58
58
|
"meta": "32 GB",
|
|
59
59
|
"value": 42
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
|
-
"id": "progress-
|
|
63
|
-
"component": "
|
|
62
|
+
"id": "progress-3",
|
|
63
|
+
"component": "Progress",
|
|
64
64
|
"label": "Media",
|
|
65
65
|
"meta": "28 GB",
|
|
66
66
|
"value": 37
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
|
-
"id": "progress-
|
|
70
|
-
"component": "
|
|
69
|
+
"id": "progress-4",
|
|
70
|
+
"component": "Progress",
|
|
71
71
|
"label": "Backups",
|
|
72
72
|
"meta": "15 GB",
|
|
73
73
|
"value": 20
|
|
@@ -77,10 +77,10 @@
|
|
|
77
77
|
"component": "Column",
|
|
78
78
|
"gap": "2",
|
|
79
79
|
"children": [
|
|
80
|
-
"progress
|
|
81
|
-
"progress-
|
|
82
|
-
"progress-
|
|
83
|
-
"progress-
|
|
80
|
+
"progress",
|
|
81
|
+
"progress-2",
|
|
82
|
+
"progress-3",
|
|
83
|
+
"progress-4"
|
|
84
84
|
]
|
|
85
85
|
},
|
|
86
86
|
{
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"layout": "row"
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
|
-
"captured_at": "2026-08-
|
|
43
|
+
"captured_at": "2026-08-17T04:33:27.534Z",
|
|
44
44
|
"template": [
|
|
45
45
|
{
|
|
46
46
|
"id": "text",
|
|
@@ -501,29 +501,29 @@
|
|
|
501
501
|
]
|
|
502
502
|
},
|
|
503
503
|
{
|
|
504
|
-
"id": "progress
|
|
505
|
-
"component": "
|
|
504
|
+
"id": "progress",
|
|
505
|
+
"component": "Progress",
|
|
506
506
|
"label": "75 GB used",
|
|
507
507
|
"meta": "100 GB total",
|
|
508
508
|
"value": 75
|
|
509
509
|
},
|
|
510
510
|
{
|
|
511
|
-
"id": "progress-
|
|
512
|
-
"component": "
|
|
511
|
+
"id": "progress-2",
|
|
512
|
+
"component": "Progress",
|
|
513
513
|
"label": "Documents",
|
|
514
514
|
"meta": "32 GB",
|
|
515
515
|
"value": 42
|
|
516
516
|
},
|
|
517
517
|
{
|
|
518
|
-
"id": "progress-
|
|
519
|
-
"component": "
|
|
518
|
+
"id": "progress-3",
|
|
519
|
+
"component": "Progress",
|
|
520
520
|
"label": "Media",
|
|
521
521
|
"meta": "28 GB",
|
|
522
522
|
"value": 37
|
|
523
523
|
},
|
|
524
524
|
{
|
|
525
|
-
"id": "progress-
|
|
526
|
-
"component": "
|
|
525
|
+
"id": "progress-4",
|
|
526
|
+
"component": "Progress",
|
|
527
527
|
"label": "Backups",
|
|
528
528
|
"meta": "15 GB",
|
|
529
529
|
"value": 20
|
|
@@ -533,10 +533,10 @@
|
|
|
533
533
|
"component": "Column",
|
|
534
534
|
"gap": "2",
|
|
535
535
|
"children": [
|
|
536
|
-
"progress
|
|
537
|
-
"progress-
|
|
538
|
-
"progress-
|
|
539
|
-
"progress-
|
|
536
|
+
"progress",
|
|
537
|
+
"progress-2",
|
|
538
|
+
"progress-3",
|
|
539
|
+
"progress-4"
|
|
540
540
|
]
|
|
541
541
|
},
|
|
542
542
|
{
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "date-range-picker-canonical",
|
|
3
|
+
"kind": "block",
|
|
4
|
+
"primary": "field-ui",
|
|
5
|
+
"page": "/packages/web-components/components/date-range-picker/date-range-picker.examples.html",
|
|
6
|
+
"slots": [],
|
|
7
|
+
"nested": [],
|
|
8
|
+
"attrs": {
|
|
9
|
+
"label": "Report period"
|
|
10
|
+
},
|
|
11
|
+
"html": "<field-ui\n label=\"Report period\">\n <date-range-picker-ui name=\"report-period\" min=\"2026-01-01\" max=\"2026-12-31\"></date-range-picker-ui>\n </field-ui>",
|
|
12
|
+
"source": "packages/web-components/components/date-range-picker/date-range-picker.examples.html",
|
|
13
|
+
"metadata": {
|
|
14
|
+
"domain": "forms",
|
|
15
|
+
"description": "Labeled date-range field — field-ui wrapping a date-range-picker for selecting a bounded start/end date pair, backed by the default preset rail. Canonical reporting-period pattern.",
|
|
16
|
+
"keywords": [
|
|
17
|
+
"date",
|
|
18
|
+
"range",
|
|
19
|
+
"picker",
|
|
20
|
+
"field",
|
|
21
|
+
"label",
|
|
22
|
+
"report",
|
|
23
|
+
"period",
|
|
24
|
+
"start",
|
|
25
|
+
"end",
|
|
26
|
+
"calendar",
|
|
27
|
+
"range",
|
|
28
|
+
"presets",
|
|
29
|
+
"bounded",
|
|
30
|
+
"form"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"captured_at": "2026-08-17T03:07:15.316Z",
|
|
34
|
+
"template": [
|
|
35
|
+
{
|
|
36
|
+
"id": "report-period",
|
|
37
|
+
"component": "DateRangePicker",
|
|
38
|
+
"max": "2026-12-31",
|
|
39
|
+
"min": "2026-01-01",
|
|
40
|
+
"name": "report-period"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "root",
|
|
44
|
+
"component": "Field",
|
|
45
|
+
"label": "Report period",
|
|
46
|
+
"children": [
|
|
47
|
+
"report-period"
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|