@nanisoft/prism-ui 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD-PARTY-NOTICES.md +22 -7
- package/dist/.tsbuildinfo +1 -1
- package/dist/blocks/about-01/about.d.ts +296 -0
- package/dist/blocks/about-01/about.d.ts.map +1 -0
- package/dist/blocks/about-01/about.js +103 -0
- package/dist/blocks/about-01/index.d.ts +3 -0
- package/dist/blocks/about-01/index.d.ts.map +1 -0
- package/dist/blocks/about-01/index.js +1 -0
- package/dist/blocks/accept-invite-01/accept-invite.d.ts +324 -0
- package/dist/blocks/accept-invite-01/accept-invite.d.ts.map +1 -0
- package/dist/blocks/accept-invite-01/accept-invite.js +230 -0
- package/dist/blocks/accept-invite-01/index.d.ts +3 -0
- package/dist/blocks/accept-invite-01/index.d.ts.map +1 -0
- package/dist/blocks/accept-invite-01/index.js +1 -0
- package/dist/blocks/account-01/account-01.d.ts +393 -0
- package/dist/blocks/account-01/account-01.d.ts.map +1 -0
- package/dist/blocks/account-01/account-01.js +215 -0
- package/dist/blocks/account-01/index.d.ts +3 -0
- package/dist/blocks/account-01/index.d.ts.map +1 -0
- package/dist/blocks/account-01/index.js +1 -0
- package/dist/blocks/activity-feed-01/activity-feed-01.d.ts +271 -0
- package/dist/blocks/activity-feed-01/activity-feed-01.d.ts.map +1 -0
- package/dist/blocks/activity-feed-01/activity-feed-01.js +185 -0
- package/dist/blocks/activity-feed-01/index.d.ts +3 -0
- package/dist/blocks/activity-feed-01/index.d.ts.map +1 -0
- package/dist/blocks/activity-feed-01/index.js +1 -0
- package/dist/blocks/address-book-01/address-book-01.d.ts +312 -0
- package/dist/blocks/address-book-01/address-book-01.d.ts.map +1 -0
- package/dist/blocks/address-book-01/address-book-01.js +233 -0
- package/dist/blocks/address-book-01/index.d.ts +3 -0
- package/dist/blocks/address-book-01/index.d.ts.map +1 -0
- package/dist/blocks/address-book-01/index.js +1 -0
- package/dist/blocks/audit-log-01/audit-log-01.d.ts +333 -0
- package/dist/blocks/audit-log-01/audit-log-01.d.ts.map +1 -0
- package/dist/blocks/audit-log-01/audit-log-01.js +211 -0
- package/dist/blocks/audit-log-01/index.d.ts +3 -0
- package/dist/blocks/audit-log-01/index.d.ts.map +1 -0
- package/dist/blocks/audit-log-01/index.js +1 -0
- package/dist/blocks/auth-form-01/auth-form.d.ts +40 -1
- package/dist/blocks/auth-form-01/auth-form.d.ts.map +1 -1
- package/dist/blocks/auth-form-01/auth-form.js +26 -3
- package/dist/blocks/awards-01/awards.d.ts +156 -0
- package/dist/blocks/awards-01/awards.d.ts.map +1 -0
- package/dist/blocks/awards-01/awards.js +102 -0
- package/dist/blocks/awards-01/index.d.ts +3 -0
- package/dist/blocks/awards-01/index.d.ts.map +1 -0
- package/dist/blocks/awards-01/index.js +1 -0
- package/dist/blocks/backdrop-01/backdrop.d.ts +268 -0
- package/dist/blocks/backdrop-01/backdrop.d.ts.map +1 -0
- package/dist/blocks/backdrop-01/backdrop.js +170 -0
- package/dist/blocks/backdrop-01/index.d.ts +3 -0
- package/dist/blocks/backdrop-01/index.d.ts.map +1 -0
- package/dist/blocks/backdrop-01/index.js +1 -0
- package/dist/blocks/bento-01/bento-01.d.ts +136 -0
- package/dist/blocks/bento-01/bento-01.d.ts.map +1 -0
- package/dist/blocks/bento-01/bento-01.js +97 -0
- package/dist/blocks/bento-01/index.d.ts +3 -0
- package/dist/blocks/bento-01/index.d.ts.map +1 -0
- package/dist/blocks/bento-01/index.js +1 -0
- package/dist/blocks/billing-source-01/billing-source-01.d.ts +379 -0
- package/dist/blocks/billing-source-01/billing-source-01.d.ts.map +1 -0
- package/dist/blocks/billing-source-01/billing-source-01.js +222 -0
- package/dist/blocks/billing-source-01/index.d.ts +3 -0
- package/dist/blocks/billing-source-01/index.d.ts.map +1 -0
- package/dist/blocks/billing-source-01/index.js +1 -0
- package/dist/blocks/bundle-01/bundle.d.ts +387 -0
- package/dist/blocks/bundle-01/bundle.d.ts.map +1 -0
- package/dist/blocks/bundle-01/bundle.js +153 -0
- package/dist/blocks/bundle-01/index.d.ts +3 -0
- package/dist/blocks/bundle-01/index.d.ts.map +1 -0
- package/dist/blocks/bundle-01/index.js +1 -0
- package/dist/blocks/calendar-01/calendar.d.ts +251 -0
- package/dist/blocks/calendar-01/calendar.d.ts.map +1 -0
- package/dist/blocks/calendar-01/calendar.js +191 -0
- package/dist/blocks/calendar-01/index.d.ts +3 -0
- package/dist/blocks/calendar-01/index.d.ts.map +1 -0
- package/dist/blocks/calendar-01/index.js +1 -0
- package/dist/blocks/capacity-01/capacity.d.ts +363 -0
- package/dist/blocks/capacity-01/capacity.d.ts.map +1 -0
- package/dist/blocks/capacity-01/capacity.js +208 -0
- package/dist/blocks/capacity-01/index.d.ts +3 -0
- package/dist/blocks/capacity-01/index.d.ts.map +1 -0
- package/dist/blocks/capacity-01/index.js +1 -0
- package/dist/blocks/careers-01/careers.d.ts +186 -0
- package/dist/blocks/careers-01/careers.d.ts.map +1 -0
- package/dist/blocks/careers-01/careers.js +83 -0
- package/dist/blocks/careers-01/index.d.ts +3 -0
- package/dist/blocks/careers-01/index.d.ts.map +1 -0
- package/dist/blocks/careers-01/index.js +1 -0
- package/dist/blocks/case-studies-01/case-studies.d.ts +192 -0
- package/dist/blocks/case-studies-01/case-studies.d.ts.map +1 -0
- package/dist/blocks/case-studies-01/case-studies.js +97 -0
- package/dist/blocks/case-studies-01/index.d.ts +3 -0
- package/dist/blocks/case-studies-01/index.d.ts.map +1 -0
- package/dist/blocks/case-studies-01/index.js +1 -0
- package/dist/blocks/case-study-01/case-study.d.ts +214 -0
- package/dist/blocks/case-study-01/case-study.d.ts.map +1 -0
- package/dist/blocks/case-study-01/case-study.js +79 -0
- package/dist/blocks/case-study-01/index.d.ts +3 -0
- package/dist/blocks/case-study-01/index.d.ts.map +1 -0
- package/dist/blocks/case-study-01/index.js +1 -0
- package/dist/blocks/changelog-01/changelog.d.ts +200 -0
- package/dist/blocks/changelog-01/changelog.d.ts.map +1 -0
- package/dist/blocks/changelog-01/changelog.js +155 -0
- package/dist/blocks/changelog-01/index.d.ts +3 -0
- package/dist/blocks/changelog-01/index.d.ts.map +1 -0
- package/dist/blocks/changelog-01/index.js +1 -0
- package/dist/blocks/chart-card-01/chart-card-01.d.ts +149 -0
- package/dist/blocks/chart-card-01/chart-card-01.d.ts.map +1 -0
- package/dist/blocks/chart-card-01/chart-card-01.js +81 -0
- package/dist/blocks/chart-card-01/index.d.ts +3 -0
- package/dist/blocks/chart-card-01/index.d.ts.map +1 -0
- package/dist/blocks/chart-card-01/index.js +1 -0
- package/dist/blocks/chart-group-01/chart-group-01.d.ts +138 -0
- package/dist/blocks/chart-group-01/chart-group-01.d.ts.map +1 -0
- package/dist/blocks/chart-group-01/chart-group-01.js +74 -0
- package/dist/blocks/chart-group-01/index.d.ts +3 -0
- package/dist/blocks/chart-group-01/index.d.ts.map +1 -0
- package/dist/blocks/chart-group-01/index.js +1 -0
- package/dist/blocks/code-sample-01/code-sample.d.ts +193 -0
- package/dist/blocks/code-sample-01/code-sample.d.ts.map +1 -0
- package/dist/blocks/code-sample-01/code-sample.js +104 -0
- package/dist/blocks/code-sample-01/index.d.ts +3 -0
- package/dist/blocks/code-sample-01/index.d.ts.map +1 -0
- package/dist/blocks/code-sample-01/index.js +1 -0
- package/dist/blocks/community-01/community.d.ts +183 -0
- package/dist/blocks/community-01/community.d.ts.map +1 -0
- package/dist/blocks/community-01/community.js +102 -0
- package/dist/blocks/community-01/index.d.ts +3 -0
- package/dist/blocks/community-01/index.d.ts.map +1 -0
- package/dist/blocks/community-01/index.js +1 -0
- package/dist/blocks/compare-01/compare.d.ts +184 -0
- package/dist/blocks/compare-01/compare.d.ts.map +1 -0
- package/dist/blocks/compare-01/compare.js +106 -0
- package/dist/blocks/compare-01/index.d.ts +3 -0
- package/dist/blocks/compare-01/index.d.ts.map +1 -0
- package/dist/blocks/compare-01/index.js +1 -0
- package/dist/blocks/compliance-01/compliance.d.ts +249 -0
- package/dist/blocks/compliance-01/compliance.d.ts.map +1 -0
- package/dist/blocks/compliance-01/compliance.js +130 -0
- package/dist/blocks/compliance-01/index.d.ts +3 -0
- package/dist/blocks/compliance-01/index.d.ts.map +1 -0
- package/dist/blocks/compliance-01/index.js +1 -0
- package/dist/blocks/consent-01/consent.d.ts +211 -0
- package/dist/blocks/consent-01/consent.d.ts.map +1 -0
- package/dist/blocks/consent-01/consent.js +101 -0
- package/dist/blocks/consent-01/index.d.ts +3 -0
- package/dist/blocks/consent-01/index.d.ts.map +1 -0
- package/dist/blocks/consent-01/index.js +1 -0
- package/dist/blocks/contact-01/contact.d.ts +319 -0
- package/dist/blocks/contact-01/contact.d.ts.map +1 -0
- package/dist/blocks/contact-01/contact.js +211 -0
- package/dist/blocks/contact-01/index.d.ts +3 -0
- package/dist/blocks/contact-01/index.d.ts.map +1 -0
- package/dist/blocks/contact-01/index.js +1 -0
- package/dist/blocks/content-grid-01/content-grid.d.ts +262 -0
- package/dist/blocks/content-grid-01/content-grid.d.ts.map +1 -0
- package/dist/blocks/content-grid-01/content-grid.js +155 -0
- package/dist/blocks/content-grid-01/index.d.ts +3 -0
- package/dist/blocks/content-grid-01/index.d.ts.map +1 -0
- package/dist/blocks/content-grid-01/index.js +1 -0
- package/dist/blocks/cta-01/cta.d.ts +7 -1
- package/dist/blocks/cta-01/cta.d.ts.map +1 -1
- package/dist/blocks/cta-01/cta.js +11 -2
- package/dist/blocks/dashboard-01/dashboard-01.d.ts +247 -0
- package/dist/blocks/dashboard-01/dashboard-01.d.ts.map +1 -0
- package/dist/blocks/dashboard-01/dashboard-01.js +141 -0
- package/dist/blocks/dashboard-01/index.d.ts +3 -0
- package/dist/blocks/dashboard-01/index.d.ts.map +1 -0
- package/dist/blocks/dashboard-01/index.js +1 -0
- package/dist/blocks/data-table-01/data-table.d.ts +12 -1
- package/dist/blocks/data-table-01/data-table.d.ts.map +1 -1
- package/dist/blocks/data-table-01/data-table.js +8 -5
- package/dist/blocks/delivery-01/delivery.d.ts +343 -0
- package/dist/blocks/delivery-01/delivery.d.ts.map +1 -0
- package/dist/blocks/delivery-01/delivery.js +212 -0
- package/dist/blocks/delivery-01/index.d.ts +3 -0
- package/dist/blocks/delivery-01/index.d.ts.map +1 -0
- package/dist/blocks/delivery-01/index.js +1 -0
- package/dist/blocks/directory-01/directory-01.d.ts +316 -0
- package/dist/blocks/directory-01/directory-01.d.ts.map +1 -0
- package/dist/blocks/directory-01/directory-01.js +252 -0
- package/dist/blocks/directory-01/index.d.ts +3 -0
- package/dist/blocks/directory-01/index.d.ts.map +1 -0
- package/dist/blocks/directory-01/index.js +1 -0
- package/dist/blocks/download-01/download.d.ts +261 -0
- package/dist/blocks/download-01/download.d.ts.map +1 -0
- package/dist/blocks/download-01/download.js +115 -0
- package/dist/blocks/download-01/index.d.ts +3 -0
- package/dist/blocks/download-01/index.d.ts.map +1 -0
- package/dist/blocks/download-01/index.js +1 -0
- package/dist/blocks/faq-01/faq.d.ts +128 -0
- package/dist/blocks/faq-01/faq.d.ts.map +1 -0
- package/dist/blocks/faq-01/faq.js +53 -0
- package/dist/blocks/faq-01/index.d.ts +3 -0
- package/dist/blocks/faq-01/index.d.ts.map +1 -0
- package/dist/blocks/faq-01/index.js +1 -0
- package/dist/blocks/feature-rows-01/feature-rows-01.d.ts +158 -0
- package/dist/blocks/feature-rows-01/feature-rows-01.d.ts.map +1 -0
- package/dist/blocks/feature-rows-01/feature-rows-01.js +81 -0
- package/dist/blocks/feature-rows-01/index.d.ts +3 -0
- package/dist/blocks/feature-rows-01/index.d.ts.map +1 -0
- package/dist/blocks/feature-rows-01/index.js +1 -0
- package/dist/blocks/feedback-01/feedback.d.ts +235 -0
- package/dist/blocks/feedback-01/feedback.d.ts.map +1 -0
- package/dist/blocks/feedback-01/feedback.js +113 -0
- package/dist/blocks/feedback-01/index.d.ts +3 -0
- package/dist/blocks/feedback-01/index.d.ts.map +1 -0
- package/dist/blocks/feedback-01/index.js +1 -0
- package/dist/blocks/field-map-01/field-map.d.ts +247 -0
- package/dist/blocks/field-map-01/field-map.d.ts.map +1 -0
- package/dist/blocks/field-map-01/field-map.js +183 -0
- package/dist/blocks/field-map-01/index.d.ts +3 -0
- package/dist/blocks/field-map-01/index.d.ts.map +1 -0
- package/dist/blocks/field-map-01/index.js +1 -0
- package/dist/blocks/forgot-password-01/forgot-password.d.ts +288 -0
- package/dist/blocks/forgot-password-01/forgot-password.d.ts.map +1 -0
- package/dist/blocks/forgot-password-01/forgot-password.js +190 -0
- package/dist/blocks/forgot-password-01/index.d.ts +3 -0
- package/dist/blocks/forgot-password-01/index.d.ts.map +1 -0
- package/dist/blocks/forgot-password-01/index.js +1 -0
- package/dist/blocks/gallery-01/gallery.d.ts +208 -0
- package/dist/blocks/gallery-01/gallery.d.ts.map +1 -0
- package/dist/blocks/gallery-01/gallery.js +174 -0
- package/dist/blocks/gallery-01/index.d.ts +3 -0
- package/dist/blocks/gallery-01/index.d.ts.map +1 -0
- package/dist/blocks/gallery-01/index.js +1 -0
- package/dist/blocks/gantt-01/gantt.d.ts +290 -0
- package/dist/blocks/gantt-01/gantt.d.ts.map +1 -0
- package/dist/blocks/gantt-01/gantt.js +224 -0
- package/dist/blocks/gantt-01/index.d.ts +3 -0
- package/dist/blocks/gantt-01/index.d.ts.map +1 -0
- package/dist/blocks/gantt-01/index.js +1 -0
- package/dist/blocks/handoff-01/handoff-01.d.ts +326 -0
- package/dist/blocks/handoff-01/handoff-01.d.ts.map +1 -0
- package/dist/blocks/handoff-01/handoff-01.js +180 -0
- package/dist/blocks/handoff-01/index.d.ts +3 -0
- package/dist/blocks/handoff-01/index.d.ts.map +1 -0
- package/dist/blocks/handoff-01/index.js +1 -0
- package/dist/blocks/help-01/help.d.ts +254 -0
- package/dist/blocks/help-01/help.d.ts.map +1 -0
- package/dist/blocks/help-01/help.js +188 -0
- package/dist/blocks/help-01/index.d.ts +3 -0
- package/dist/blocks/help-01/index.d.ts.map +1 -0
- package/dist/blocks/help-01/index.js +1 -0
- package/dist/blocks/hero-01/hero.d.ts +105 -34
- package/dist/blocks/hero-01/hero.d.ts.map +1 -1
- package/dist/blocks/hero-01/hero.js +23 -15
- package/dist/blocks/hero-01/index.d.ts +1 -1
- package/dist/blocks/hero-01/index.d.ts.map +1 -1
- package/dist/blocks/hero-02/hero-02.d.ts +244 -0
- package/dist/blocks/hero-02/hero-02.d.ts.map +1 -0
- package/dist/blocks/hero-02/hero-02.js +87 -0
- package/dist/blocks/hero-02/index.d.ts +3 -0
- package/dist/blocks/hero-02/index.d.ts.map +1 -0
- package/dist/blocks/hero-02/index.js +1 -0
- package/dist/blocks/hero-03/hero-03.d.ts +247 -0
- package/dist/blocks/hero-03/hero-03.d.ts.map +1 -0
- package/dist/blocks/hero-03/hero-03.js +93 -0
- package/dist/blocks/hero-03/index.d.ts +3 -0
- package/dist/blocks/hero-03/index.d.ts.map +1 -0
- package/dist/blocks/hero-03/index.js +1 -0
- package/dist/blocks/history-01/history-01.d.ts +414 -0
- package/dist/blocks/history-01/history-01.d.ts.map +1 -0
- package/dist/blocks/history-01/history-01.js +285 -0
- package/dist/blocks/history-01/index.d.ts +3 -0
- package/dist/blocks/history-01/index.d.ts.map +1 -0
- package/dist/blocks/history-01/index.js +1 -0
- package/dist/blocks/inbox-01/inbox.d.ts +349 -0
- package/dist/blocks/inbox-01/inbox.d.ts.map +1 -0
- package/dist/blocks/inbox-01/inbox.js +244 -0
- package/dist/blocks/inbox-01/index.d.ts +3 -0
- package/dist/blocks/inbox-01/index.d.ts.map +1 -0
- package/dist/blocks/inbox-01/index.js +1 -0
- package/dist/blocks/index.d.ts +203 -0
- package/dist/blocks/index.d.ts.map +1 -1
- package/dist/blocks/index.js +118 -0
- package/dist/blocks/industries-01/index.d.ts +3 -0
- package/dist/blocks/industries-01/index.d.ts.map +1 -0
- package/dist/blocks/industries-01/index.js +1 -0
- package/dist/blocks/industries-01/industries.d.ts +164 -0
- package/dist/blocks/industries-01/industries.d.ts.map +1 -0
- package/dist/blocks/industries-01/industries.js +96 -0
- package/dist/blocks/intake-01/index.d.ts +3 -0
- package/dist/blocks/intake-01/index.d.ts.map +1 -0
- package/dist/blocks/intake-01/index.js +1 -0
- package/dist/blocks/intake-01/intake-01.d.ts +305 -0
- package/dist/blocks/intake-01/intake-01.d.ts.map +1 -0
- package/dist/blocks/intake-01/intake-01.js +178 -0
- package/dist/blocks/integration-01/index.d.ts +3 -0
- package/dist/blocks/integration-01/index.d.ts.map +1 -0
- package/dist/blocks/integration-01/index.js +1 -0
- package/dist/blocks/integration-01/integration.d.ts +226 -0
- package/dist/blocks/integration-01/integration.d.ts.map +1 -0
- package/dist/blocks/integration-01/integration.js +170 -0
- package/dist/blocks/invite-user-01/index.d.ts +3 -0
- package/dist/blocks/invite-user-01/index.d.ts.map +1 -0
- package/dist/blocks/invite-user-01/index.js +1 -0
- package/dist/blocks/invite-user-01/invite-user.d.ts +317 -0
- package/dist/blocks/invite-user-01/invite-user.d.ts.map +1 -0
- package/dist/blocks/invite-user-01/invite-user.js +228 -0
- package/dist/blocks/issue-detail-01/index.d.ts +3 -0
- package/dist/blocks/issue-detail-01/index.d.ts.map +1 -0
- package/dist/blocks/issue-detail-01/index.js +1 -0
- package/dist/blocks/issue-detail-01/issue-detail.d.ts +355 -0
- package/dist/blocks/issue-detail-01/issue-detail.d.ts.map +1 -0
- package/dist/blocks/issue-detail-01/issue-detail.js +187 -0
- package/dist/blocks/issue-list-01/index.d.ts +3 -0
- package/dist/blocks/issue-list-01/index.d.ts.map +1 -0
- package/dist/blocks/issue-list-01/index.js +1 -0
- package/dist/blocks/issue-list-01/issue-list.d.ts +298 -0
- package/dist/blocks/issue-list-01/issue-list.d.ts.map +1 -0
- package/dist/blocks/issue-list-01/issue-list.js +284 -0
- package/dist/blocks/kanban-01/index.d.ts +3 -0
- package/dist/blocks/kanban-01/index.d.ts.map +1 -0
- package/dist/blocks/kanban-01/index.js +1 -0
- package/dist/blocks/kanban-01/kanban.d.ts +278 -0
- package/dist/blocks/kanban-01/kanban.d.ts.map +1 -0
- package/dist/blocks/kanban-01/kanban.js +144 -0
- package/dist/blocks/leaderboard-01/index.d.ts +3 -0
- package/dist/blocks/leaderboard-01/index.d.ts.map +1 -0
- package/dist/blocks/leaderboard-01/index.js +1 -0
- package/dist/blocks/leaderboard-01/leaderboard.d.ts +250 -0
- package/dist/blocks/leaderboard-01/leaderboard.d.ts.map +1 -0
- package/dist/blocks/leaderboard-01/leaderboard.js +121 -0
- package/dist/blocks/login-01/index.d.ts +3 -0
- package/dist/blocks/login-01/index.d.ts.map +1 -0
- package/dist/blocks/login-01/index.js +1 -0
- package/dist/blocks/login-01/login-01.d.ts +356 -0
- package/dist/blocks/login-01/login-01.d.ts.map +1 -0
- package/dist/blocks/login-01/login-01.js +249 -0
- package/dist/blocks/logo-cloud-01/index.d.ts +3 -0
- package/dist/blocks/logo-cloud-01/index.d.ts.map +1 -0
- package/dist/blocks/logo-cloud-01/index.js +1 -0
- package/dist/blocks/logo-cloud-01/logo-cloud.d.ts +181 -0
- package/dist/blocks/logo-cloud-01/logo-cloud.d.ts.map +1 -0
- package/dist/blocks/logo-cloud-01/logo-cloud.js +118 -0
- package/dist/blocks/magic-link-01/index.d.ts +3 -0
- package/dist/blocks/magic-link-01/index.d.ts.map +1 -0
- package/dist/blocks/magic-link-01/index.js +1 -0
- package/dist/blocks/magic-link-01/magic-link-01.d.ts +367 -0
- package/dist/blocks/magic-link-01/magic-link-01.d.ts.map +1 -0
- package/dist/blocks/magic-link-01/magic-link-01.js +233 -0
- package/dist/blocks/member-list-01/index.d.ts +3 -0
- package/dist/blocks/member-list-01/index.d.ts.map +1 -0
- package/dist/blocks/member-list-01/index.js +1 -0
- package/dist/blocks/member-list-01/member-list.d.ts +192 -0
- package/dist/blocks/member-list-01/member-list.d.ts.map +1 -0
- package/dist/blocks/member-list-01/member-list.js +142 -0
- package/dist/blocks/milestone-timeline-01/index.d.ts +3 -0
- package/dist/blocks/milestone-timeline-01/index.d.ts.map +1 -0
- package/dist/blocks/milestone-timeline-01/index.js +1 -0
- package/dist/blocks/milestone-timeline-01/milestone-timeline.d.ts +217 -0
- package/dist/blocks/milestone-timeline-01/milestone-timeline.d.ts.map +1 -0
- package/dist/blocks/milestone-timeline-01/milestone-timeline.js +173 -0
- package/dist/blocks/newsletter-01/index.d.ts +3 -0
- package/dist/blocks/newsletter-01/index.d.ts.map +1 -0
- package/dist/blocks/newsletter-01/index.js +1 -0
- package/dist/blocks/newsletter-01/newsletter.d.ts +216 -0
- package/dist/blocks/newsletter-01/newsletter.d.ts.map +1 -0
- package/dist/blocks/newsletter-01/newsletter.js +102 -0
- package/dist/blocks/notification-center-01/index.d.ts +3 -0
- package/dist/blocks/notification-center-01/index.d.ts.map +1 -0
- package/dist/blocks/notification-center-01/index.js +1 -0
- package/dist/blocks/notification-center-01/notification-center-01.d.ts +341 -0
- package/dist/blocks/notification-center-01/notification-center-01.d.ts.map +1 -0
- package/dist/blocks/notification-center-01/notification-center-01.js +203 -0
- package/dist/blocks/offer-01/index.d.ts +3 -0
- package/dist/blocks/offer-01/index.d.ts.map +1 -0
- package/dist/blocks/offer-01/index.js +1 -0
- package/dist/blocks/offer-01/offer.d.ts +139 -0
- package/dist/blocks/offer-01/offer.d.ts.map +1 -0
- package/dist/blocks/offer-01/offer.js +81 -0
- package/dist/blocks/offering-01/index.d.ts +3 -0
- package/dist/blocks/offering-01/index.d.ts.map +1 -0
- package/dist/blocks/offering-01/index.js +1 -0
- package/dist/blocks/offering-01/offering.d.ts +245 -0
- package/dist/blocks/offering-01/offering.d.ts.map +1 -0
- package/dist/blocks/offering-01/offering.js +144 -0
- package/dist/blocks/offering-categories-01/index.d.ts +3 -0
- package/dist/blocks/offering-categories-01/index.d.ts.map +1 -0
- package/dist/blocks/offering-categories-01/index.js +1 -0
- package/dist/blocks/offering-categories-01/offering-categories.d.ts +248 -0
- package/dist/blocks/offering-categories-01/offering-categories.d.ts.map +1 -0
- package/dist/blocks/offering-categories-01/offering-categories.js +153 -0
- package/dist/blocks/offering-list-01/index.d.ts +3 -0
- package/dist/blocks/offering-list-01/index.d.ts.map +1 -0
- package/dist/blocks/offering-list-01/index.js +1 -0
- package/dist/blocks/offering-list-01/offering-list.d.ts +362 -0
- package/dist/blocks/offering-list-01/offering-list.d.ts.map +1 -0
- package/dist/blocks/offering-list-01/offering-list.js +366 -0
- package/dist/blocks/onboarding-01/index.d.ts +3 -0
- package/dist/blocks/onboarding-01/index.d.ts.map +1 -0
- package/dist/blocks/onboarding-01/index.js +1 -0
- package/dist/blocks/onboarding-01/onboarding.d.ts +199 -0
- package/dist/blocks/onboarding-01/onboarding.d.ts.map +1 -0
- package/dist/blocks/onboarding-01/onboarding.js +182 -0
- package/dist/blocks/ops-checklist-01/index.d.ts +3 -0
- package/dist/blocks/ops-checklist-01/index.d.ts.map +1 -0
- package/dist/blocks/ops-checklist-01/index.js +1 -0
- package/dist/blocks/ops-checklist-01/ops-checklist-01.d.ts +308 -0
- package/dist/blocks/ops-checklist-01/ops-checklist-01.d.ts.map +1 -0
- package/dist/blocks/ops-checklist-01/ops-checklist-01.js +165 -0
- package/dist/blocks/page-header-01/index.d.ts +1 -1
- package/dist/blocks/page-header-01/index.d.ts.map +1 -1
- package/dist/blocks/page-header-01/page-header.d.ts +124 -11
- package/dist/blocks/page-header-01/page-header.d.ts.map +1 -1
- package/dist/blocks/page-header-01/page-header.js +25 -9
- package/dist/blocks/passkey-01/index.d.ts +3 -0
- package/dist/blocks/passkey-01/index.d.ts.map +1 -0
- package/dist/blocks/passkey-01/index.js +1 -0
- package/dist/blocks/passkey-01/passkey-01.d.ts +334 -0
- package/dist/blocks/passkey-01/passkey-01.d.ts.map +1 -0
- package/dist/blocks/passkey-01/passkey-01.js +192 -0
- package/dist/blocks/permission-matrix-01/index.d.ts +3 -0
- package/dist/blocks/permission-matrix-01/index.d.ts.map +1 -0
- package/dist/blocks/permission-matrix-01/index.js +1 -0
- package/dist/blocks/permission-matrix-01/permission-matrix.d.ts +282 -0
- package/dist/blocks/permission-matrix-01/permission-matrix.d.ts.map +1 -0
- package/dist/blocks/permission-matrix-01/permission-matrix.js +173 -0
- package/dist/blocks/pricing-01/index.d.ts +1 -0
- package/dist/blocks/pricing-01/index.d.ts.map +1 -1
- package/dist/blocks/pricing-01/pricing.d.ts +118 -1
- package/dist/blocks/pricing-01/pricing.d.ts.map +1 -1
- package/dist/blocks/pricing-01/pricing.js +9 -2
- package/dist/blocks/pricing-compare-01/index.d.ts +3 -0
- package/dist/blocks/pricing-compare-01/index.d.ts.map +1 -0
- package/dist/blocks/pricing-compare-01/index.js +1 -0
- package/dist/blocks/pricing-compare-01/pricing-compare.d.ts +277 -0
- package/dist/blocks/pricing-compare-01/pricing-compare.d.ts.map +1 -0
- package/dist/blocks/pricing-compare-01/pricing-compare.js +126 -0
- package/dist/blocks/project-01/index.d.ts +3 -0
- package/dist/blocks/project-01/index.d.ts.map +1 -0
- package/dist/blocks/project-01/index.js +1 -0
- package/dist/blocks/project-01/project.d.ts +323 -0
- package/dist/blocks/project-01/project.d.ts.map +1 -0
- package/dist/blocks/project-01/project.js +247 -0
- package/dist/blocks/project-dashboard-01/index.d.ts +3 -0
- package/dist/blocks/project-dashboard-01/index.d.ts.map +1 -0
- package/dist/blocks/project-dashboard-01/index.js +1 -0
- package/dist/blocks/project-dashboard-01/project-dashboard.d.ts +200 -0
- package/dist/blocks/project-dashboard-01/project-dashboard.d.ts.map +1 -0
- package/dist/blocks/project-dashboard-01/project-dashboard.js +124 -0
- package/dist/blocks/project-list-01/index.d.ts +3 -0
- package/dist/blocks/project-list-01/index.d.ts.map +1 -0
- package/dist/blocks/project-list-01/index.js +1 -0
- package/dist/blocks/project-list-01/project-list.d.ts +301 -0
- package/dist/blocks/project-list-01/project-list.d.ts.map +1 -0
- package/dist/blocks/project-list-01/project-list.js +305 -0
- package/dist/blocks/provisioning-01/index.d.ts +3 -0
- package/dist/blocks/provisioning-01/index.d.ts.map +1 -0
- package/dist/blocks/provisioning-01/index.js +1 -0
- package/dist/blocks/provisioning-01/provisioning.d.ts +357 -0
- package/dist/blocks/provisioning-01/provisioning.d.ts.map +1 -0
- package/dist/blocks/provisioning-01/provisioning.js +230 -0
- package/dist/blocks/quick-view-01/index.d.ts +3 -0
- package/dist/blocks/quick-view-01/index.d.ts.map +1 -0
- package/dist/blocks/quick-view-01/index.js +1 -0
- package/dist/blocks/quick-view-01/quick-view.d.ts +215 -0
- package/dist/blocks/quick-view-01/quick-view.d.ts.map +1 -0
- package/dist/blocks/quick-view-01/quick-view.js +136 -0
- package/dist/blocks/rate-card-01/index.d.ts +3 -0
- package/dist/blocks/rate-card-01/index.d.ts.map +1 -0
- package/dist/blocks/rate-card-01/index.js +1 -0
- package/dist/blocks/rate-card-01/rate-card.d.ts +184 -0
- package/dist/blocks/rate-card-01/rate-card.d.ts.map +1 -0
- package/dist/blocks/rate-card-01/rate-card.js +79 -0
- package/dist/blocks/reset-password-01/index.d.ts +3 -0
- package/dist/blocks/reset-password-01/index.d.ts.map +1 -0
- package/dist/blocks/reset-password-01/index.js +1 -0
- package/dist/blocks/reset-password-01/reset-password.d.ts +276 -0
- package/dist/blocks/reset-password-01/reset-password.d.ts.map +1 -0
- package/dist/blocks/reset-password-01/reset-password.js +175 -0
- package/dist/blocks/resource-list-01/index.d.ts +3 -0
- package/dist/blocks/resource-list-01/index.d.ts.map +1 -0
- package/dist/blocks/resource-list-01/index.js +1 -0
- package/dist/blocks/resource-list-01/resource-list.d.ts +237 -0
- package/dist/blocks/resource-list-01/resource-list.d.ts.map +1 -0
- package/dist/blocks/resource-list-01/resource-list.js +154 -0
- package/dist/blocks/retention-01/index.d.ts +3 -0
- package/dist/blocks/retention-01/index.d.ts.map +1 -0
- package/dist/blocks/retention-01/index.js +1 -0
- package/dist/blocks/retention-01/retention.d.ts +255 -0
- package/dist/blocks/retention-01/retention.d.ts.map +1 -0
- package/dist/blocks/retention-01/retention.js +145 -0
- package/dist/blocks/run-console-01/run-console.d.ts +14 -1
- package/dist/blocks/run-console-01/run-console.d.ts.map +1 -1
- package/dist/blocks/run-console-01/run-console.js +3 -2
- package/dist/blocks/services-01/index.d.ts +3 -0
- package/dist/blocks/services-01/index.d.ts.map +1 -0
- package/dist/blocks/services-01/index.js +1 -0
- package/dist/blocks/services-01/services.d.ts +159 -0
- package/dist/blocks/services-01/services.d.ts.map +1 -0
- package/dist/blocks/services-01/services.js +81 -0
- package/dist/blocks/settings-integrations-01/index.d.ts +3 -0
- package/dist/blocks/settings-integrations-01/index.d.ts.map +1 -0
- package/dist/blocks/settings-integrations-01/index.js +1 -0
- package/dist/blocks/settings-integrations-01/settings-integrations.d.ts +246 -0
- package/dist/blocks/settings-integrations-01/settings-integrations.d.ts.map +1 -0
- package/dist/blocks/settings-integrations-01/settings-integrations.js +213 -0
- package/dist/blocks/settings-members-01/index.d.ts +3 -0
- package/dist/blocks/settings-members-01/index.d.ts.map +1 -0
- package/dist/blocks/settings-members-01/index.js +1 -0
- package/dist/blocks/settings-members-01/settings-members.d.ts +396 -0
- package/dist/blocks/settings-members-01/settings-members.d.ts.map +1 -0
- package/dist/blocks/settings-members-01/settings-members.js +255 -0
- package/dist/blocks/settings-notifications-01/index.d.ts +3 -0
- package/dist/blocks/settings-notifications-01/index.d.ts.map +1 -0
- package/dist/blocks/settings-notifications-01/index.js +1 -0
- package/dist/blocks/settings-notifications-01/settings-notifications.d.ts +270 -0
- package/dist/blocks/settings-notifications-01/settings-notifications.d.ts.map +1 -0
- package/dist/blocks/settings-notifications-01/settings-notifications.js +202 -0
- package/dist/blocks/settings-security-01/index.d.ts +3 -0
- package/dist/blocks/settings-security-01/index.d.ts.map +1 -0
- package/dist/blocks/settings-security-01/index.js +1 -0
- package/dist/blocks/settings-security-01/settings-security.d.ts +439 -0
- package/dist/blocks/settings-security-01/settings-security.d.ts.map +1 -0
- package/dist/blocks/settings-security-01/settings-security.js +244 -0
- package/dist/blocks/shortlist-01/index.d.ts +3 -0
- package/dist/blocks/shortlist-01/index.d.ts.map +1 -0
- package/dist/blocks/shortlist-01/index.js +1 -0
- package/dist/blocks/shortlist-01/shortlist-01.d.ts +337 -0
- package/dist/blocks/shortlist-01/shortlist-01.d.ts.map +1 -0
- package/dist/blocks/shortlist-01/shortlist-01.js +191 -0
- package/dist/blocks/showcase-01/index.d.ts +3 -0
- package/dist/blocks/showcase-01/index.d.ts.map +1 -0
- package/dist/blocks/showcase-01/index.js +1 -0
- package/dist/blocks/showcase-01/showcase-01.d.ts +238 -0
- package/dist/blocks/showcase-01/showcase-01.d.ts.map +1 -0
- package/dist/blocks/showcase-01/showcase-01.js +84 -0
- package/dist/blocks/signup-01/index.d.ts +3 -0
- package/dist/blocks/signup-01/index.d.ts.map +1 -0
- package/dist/blocks/signup-01/index.js +1 -0
- package/dist/blocks/signup-01/signup-01.d.ts +405 -0
- package/dist/blocks/signup-01/signup-01.d.ts.map +1 -0
- package/dist/blocks/signup-01/signup-01.js +209 -0
- package/dist/blocks/site-footer/site-footer.d.ts +18 -1
- package/dist/blocks/site-footer/site-footer.d.ts.map +1 -1
- package/dist/blocks/site-footer/site-footer.js +8 -2
- package/dist/blocks/site-header/site-header.js +1 -1
- package/dist/blocks/site-navbar/site-navbar.d.ts +37 -3
- package/dist/blocks/site-navbar/site-navbar.d.ts.map +1 -1
- package/dist/blocks/site-navbar/site-navbar.js +33 -4
- package/dist/blocks/spec-table-01/index.d.ts +3 -0
- package/dist/blocks/spec-table-01/index.d.ts.map +1 -0
- package/dist/blocks/spec-table-01/index.js +1 -0
- package/dist/blocks/spec-table-01/spec-table.d.ts +293 -0
- package/dist/blocks/spec-table-01/spec-table.d.ts.map +1 -0
- package/dist/blocks/spec-table-01/spec-table.js +217 -0
- package/dist/blocks/story-01/index.d.ts +3 -0
- package/dist/blocks/story-01/index.d.ts.map +1 -0
- package/dist/blocks/story-01/index.js +1 -0
- package/dist/blocks/story-01/story.d.ts +153 -0
- package/dist/blocks/story-01/story.d.ts.map +1 -0
- package/dist/blocks/story-01/story.js +103 -0
- package/dist/blocks/summary-01/index.d.ts +3 -0
- package/dist/blocks/summary-01/index.d.ts.map +1 -0
- package/dist/blocks/summary-01/index.js +1 -0
- package/dist/blocks/summary-01/summary.d.ts +300 -0
- package/dist/blocks/summary-01/summary.d.ts.map +1 -0
- package/dist/blocks/summary-01/summary.js +174 -0
- package/dist/blocks/team-01/index.d.ts +3 -0
- package/dist/blocks/team-01/index.d.ts.map +1 -0
- package/dist/blocks/team-01/index.js +1 -0
- package/dist/blocks/team-01/team.d.ts +176 -0
- package/dist/blocks/team-01/team.d.ts.map +1 -0
- package/dist/blocks/team-01/team.js +117 -0
- package/dist/blocks/testimonial-01/index.d.ts +3 -0
- package/dist/blocks/testimonial-01/index.d.ts.map +1 -0
- package/dist/blocks/testimonial-01/index.js +1 -0
- package/dist/blocks/testimonial-01/testimonial.d.ts +173 -0
- package/dist/blocks/testimonial-01/testimonial.d.ts.map +1 -0
- package/dist/blocks/testimonial-01/testimonial.js +87 -0
- package/dist/blocks/todo-01/index.d.ts +3 -0
- package/dist/blocks/todo-01/index.d.ts.map +1 -0
- package/dist/blocks/todo-01/index.js +1 -0
- package/dist/blocks/todo-01/todo.d.ts +286 -0
- package/dist/blocks/todo-01/todo.d.ts.map +1 -0
- package/dist/blocks/todo-01/todo.js +149 -0
- package/dist/blocks/trend-01/index.d.ts +3 -0
- package/dist/blocks/trend-01/index.d.ts.map +1 -0
- package/dist/blocks/trend-01/index.js +1 -0
- package/dist/blocks/trend-01/trend.d.ts +184 -0
- package/dist/blocks/trend-01/trend.d.ts.map +1 -0
- package/dist/blocks/trend-01/trend.js +99 -0
- package/dist/blocks/trust-strip-01/index.d.ts +3 -0
- package/dist/blocks/trust-strip-01/index.d.ts.map +1 -0
- package/dist/blocks/trust-strip-01/index.js +1 -0
- package/dist/blocks/trust-strip-01/trust-strip-01.d.ts +139 -0
- package/dist/blocks/trust-strip-01/trust-strip-01.d.ts.map +1 -0
- package/dist/blocks/trust-strip-01/trust-strip-01.js +58 -0
- package/dist/blocks/two-factor-01/index.d.ts +3 -0
- package/dist/blocks/two-factor-01/index.d.ts.map +1 -0
- package/dist/blocks/two-factor-01/index.js +1 -0
- package/dist/blocks/two-factor-01/two-factor-01.d.ts +440 -0
- package/dist/blocks/two-factor-01/two-factor-01.d.ts.map +1 -0
- package/dist/blocks/two-factor-01/two-factor-01.js +273 -0
- package/dist/blocks/user-profile-01/index.d.ts +3 -0
- package/dist/blocks/user-profile-01/index.d.ts.map +1 -0
- package/dist/blocks/user-profile-01/index.js +1 -0
- package/dist/blocks/user-profile-01/user-profile-01.d.ts +258 -0
- package/dist/blocks/user-profile-01/user-profile-01.d.ts.map +1 -0
- package/dist/blocks/user-profile-01/user-profile-01.js +158 -0
- package/dist/blocks/verify-email-01/index.d.ts +3 -0
- package/dist/blocks/verify-email-01/index.d.ts.map +1 -0
- package/dist/blocks/verify-email-01/index.js +1 -0
- package/dist/blocks/verify-email-01/verify-email.d.ts +262 -0
- package/dist/blocks/verify-email-01/verify-email.d.ts.map +1 -0
- package/dist/blocks/verify-email-01/verify-email.js +190 -0
- package/dist/blocks/waitlist-01/index.d.ts +3 -0
- package/dist/blocks/waitlist-01/index.d.ts.map +1 -0
- package/dist/blocks/waitlist-01/index.js +1 -0
- package/dist/blocks/waitlist-01/waitlist.d.ts +254 -0
- package/dist/blocks/waitlist-01/waitlist.d.ts.map +1 -0
- package/dist/blocks/waitlist-01/waitlist.js +75 -0
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +1641 -1
- package/dist/components/index.d.ts +114 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +134 -0
- package/dist/components/ui/accordion.d.ts.map +1 -1
- package/dist/components/ui/accordion.js +9 -2
- package/dist/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/components/ui/alert-dialog.js +22 -4
- package/dist/components/ui/announcement.d.ts +169 -0
- package/dist/components/ui/announcement.d.ts.map +1 -0
- package/dist/components/ui/announcement.js +123 -0
- package/dist/components/ui/avatar-group.d.ts +176 -0
- package/dist/components/ui/avatar-group.d.ts.map +1 -0
- package/dist/components/ui/avatar-group.js +135 -0
- package/dist/components/ui/billing-source.d.ts +293 -0
- package/dist/components/ui/billing-source.d.ts.map +1 -0
- package/dist/components/ui/billing-source.js +136 -0
- package/dist/components/ui/button.d.ts +16 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +17 -2
- package/dist/components/ui/calendar.d.ts +9 -0
- package/dist/components/ui/calendar.d.ts.map +1 -1
- package/dist/components/ui/calendar.js +30 -2
- package/dist/components/ui/carousel.d.ts +7 -0
- package/dist/components/ui/carousel.d.ts.map +1 -1
- package/dist/components/ui/carousel.js +58 -1
- package/dist/components/ui/chart.d.ts +334 -0
- package/dist/components/ui/chart.d.ts.map +1 -0
- package/dist/components/ui/chart.js +369 -0
- package/dist/components/ui/checkbox.d.ts +10 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/checkbox.js +19 -1
- package/dist/components/ui/checklist.d.ts +262 -0
- package/dist/components/ui/checklist.d.ts.map +1 -0
- package/dist/components/ui/checklist.js +135 -0
- package/dist/components/ui/choice-card.d.ts +273 -0
- package/dist/components/ui/choice-card.d.ts.map +1 -0
- package/dist/components/ui/choice-card.js +138 -0
- package/dist/components/ui/code-block.d.ts +182 -0
- package/dist/components/ui/code-block.d.ts.map +1 -0
- package/dist/components/ui/code-block.js +108 -0
- package/dist/components/ui/cohort-grid.d.ts +210 -0
- package/dist/components/ui/cohort-grid.d.ts.map +1 -0
- package/dist/components/ui/cohort-grid.js +202 -0
- package/dist/components/ui/collapsible.d.ts +11 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -1
- package/dist/components/ui/collapsible.js +13 -2
- package/dist/components/ui/combobox.d.ts +4 -1
- package/dist/components/ui/combobox.d.ts.map +1 -1
- package/dist/components/ui/combobox.js +20 -4
- package/dist/components/ui/command-palette.d.ts +11 -0
- package/dist/components/ui/command-palette.d.ts.map +1 -1
- package/dist/components/ui/command-palette.js +49 -3
- package/dist/components/ui/contribution-graph.d.ts +156 -0
- package/dist/components/ui/contribution-graph.d.ts.map +1 -0
- package/dist/components/ui/contribution-graph.js +170 -0
- package/dist/components/ui/creatable-combobox.d.ts +153 -0
- package/dist/components/ui/creatable-combobox.d.ts.map +1 -0
- package/dist/components/ui/creatable-combobox.js +285 -0
- package/dist/components/ui/data-toolbar.d.ts +133 -0
- package/dist/components/ui/data-toolbar.d.ts.map +1 -0
- package/dist/components/ui/data-toolbar.js +67 -0
- package/dist/components/ui/date-picker.d.ts.map +1 -1
- package/dist/components/ui/date-picker.js +9 -1
- package/dist/components/ui/dialog.d.ts +31 -2
- package/dist/components/ui/dialog.d.ts.map +1 -1
- package/dist/components/ui/dialog.js +40 -6
- package/dist/components/ui/drawer.d.ts +270 -0
- package/dist/components/ui/drawer.d.ts.map +1 -0
- package/dist/components/ui/drawer.js +241 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.js +6 -1
- package/dist/components/ui/dropzone.d.ts +147 -0
- package/dist/components/ui/dropzone.d.ts.map +1 -0
- package/dist/components/ui/dropzone.js +141 -0
- package/dist/components/ui/emoji-picker.d.ts +328 -0
- package/dist/components/ui/emoji-picker.d.ts.map +1 -0
- package/dist/components/ui/emoji-picker.js +278 -0
- package/dist/components/ui/file-upload.d.ts +152 -0
- package/dist/components/ui/file-upload.d.ts.map +1 -0
- package/dist/components/ui/file-upload.js +101 -0
- package/dist/components/ui/filter-panel.d.ts +164 -0
- package/dist/components/ui/filter-panel.d.ts.map +1 -0
- package/dist/components/ui/filter-panel.js +91 -0
- package/dist/components/ui/form-dialog.d.ts +257 -0
- package/dist/components/ui/form-dialog.d.ts.map +1 -0
- package/dist/components/ui/form-dialog.js +176 -0
- package/dist/components/ui/form-wizard.d.ts +251 -0
- package/dist/components/ui/form-wizard.d.ts.map +1 -0
- package/dist/components/ui/form-wizard.js +151 -0
- package/dist/components/ui/image-list-field.d.ts +232 -0
- package/dist/components/ui/image-list-field.d.ts.map +1 -0
- package/dist/components/ui/image-list-field.js +168 -0
- package/dist/components/ui/image-zoom.d.ts +164 -0
- package/dist/components/ui/image-zoom.d.ts.map +1 -0
- package/dist/components/ui/image-zoom.js +169 -0
- package/dist/components/ui/intensity-grid.d.ts +270 -0
- package/dist/components/ui/intensity-grid.d.ts.map +1 -0
- package/dist/components/ui/intensity-grid.js +211 -0
- package/dist/components/ui/lifecycle-button.d.ts +276 -0
- package/dist/components/ui/lifecycle-button.d.ts.map +1 -0
- package/dist/components/ui/lifecycle-button.js +144 -0
- package/dist/components/ui/lightbox.d.ts +165 -0
- package/dist/components/ui/lightbox.d.ts.map +1 -0
- package/dist/components/ui/lightbox.js +130 -0
- package/dist/components/ui/list-panel.d.ts +288 -0
- package/dist/components/ui/list-panel.d.ts.map +1 -0
- package/dist/components/ui/list-panel.js +139 -0
- package/dist/components/ui/mega-menu.d.ts +244 -0
- package/dist/components/ui/mega-menu.d.ts.map +1 -0
- package/dist/components/ui/mega-menu.js +97 -0
- package/dist/components/ui/menubar.d.ts +9 -0
- package/dist/components/ui/menubar.d.ts.map +1 -1
- package/dist/components/ui/menubar.js +10 -1
- package/dist/components/ui/metric.d.ts +123 -0
- package/dist/components/ui/metric.d.ts.map +1 -0
- package/dist/components/ui/metric.js +68 -0
- package/dist/components/ui/mini-calendar.d.ts +143 -0
- package/dist/components/ui/mini-calendar.d.ts.map +1 -0
- package/dist/components/ui/mini-calendar.js +261 -0
- package/dist/components/ui/mode-toggle.d.ts +102 -0
- package/dist/components/ui/mode-toggle.d.ts.map +1 -0
- package/dist/components/ui/mode-toggle.js +83 -0
- package/dist/components/ui/money-field.d.ts +200 -0
- package/dist/components/ui/money-field.d.ts.map +1 -0
- package/dist/components/ui/money-field.js +215 -0
- package/dist/components/ui/multi-combobox.d.ts +181 -0
- package/dist/components/ui/multi-combobox.d.ts.map +1 -0
- package/dist/components/ui/multi-combobox.js +297 -0
- package/dist/components/ui/native-select.d.ts.map +1 -1
- package/dist/components/ui/native-select.js +8 -1
- package/dist/components/ui/navigation-menu.d.ts +7 -0
- package/dist/components/ui/navigation-menu.d.ts.map +1 -1
- package/dist/components/ui/navigation-menu.js +8 -1
- package/dist/components/ui/nested-tabs.d.ts +188 -0
- package/dist/components/ui/nested-tabs.d.ts.map +1 -0
- package/dist/components/ui/nested-tabs.js +75 -0
- package/dist/components/ui/number-field.d.ts +40 -7
- package/dist/components/ui/number-field.d.ts.map +1 -1
- package/dist/components/ui/number-field.js +37 -7
- package/dist/components/ui/overflow-actions.d.ts +169 -0
- package/dist/components/ui/overflow-actions.d.ts.map +1 -0
- package/dist/components/ui/overflow-actions.js +266 -0
- package/dist/components/ui/pack-swatch.d.ts +177 -0
- package/dist/components/ui/pack-swatch.d.ts.map +1 -0
- package/dist/components/ui/pack-swatch.js +117 -0
- package/dist/components/ui/pack-switcher.d.ts +221 -0
- package/dist/components/ui/pack-switcher.d.ts.map +1 -0
- package/dist/components/ui/pack-switcher.js +94 -0
- package/dist/components/ui/pagination.d.ts +22 -0
- package/dist/components/ui/pagination.d.ts.map +1 -1
- package/dist/components/ui/pagination.js +23 -1
- package/dist/components/ui/password-field.d.ts +122 -0
- package/dist/components/ui/password-field.d.ts.map +1 -0
- package/dist/components/ui/password-field.js +69 -0
- package/dist/components/ui/pill.d.ts +172 -0
- package/dist/components/ui/pill.d.ts.map +1 -0
- package/dist/components/ui/pill.js +102 -0
- package/dist/components/ui/platform-modifier-key.d.ts +129 -0
- package/dist/components/ui/platform-modifier-key.d.ts.map +1 -0
- package/dist/components/ui/platform-modifier-key.js +125 -0
- package/dist/components/ui/popover.d.ts.map +1 -1
- package/dist/components/ui/popover.js +8 -1
- package/dist/components/ui/price.d.ts +144 -0
- package/dist/components/ui/price.d.ts.map +1 -0
- package/dist/components/ui/price.js +107 -0
- package/dist/components/ui/progress.d.ts +55 -1
- package/dist/components/ui/progress.d.ts.map +1 -1
- package/dist/components/ui/progress.js +110 -2
- package/dist/components/ui/prompt-composer.d.ts +302 -0
- package/dist/components/ui/prompt-composer.d.ts.map +1 -0
- package/dist/components/ui/prompt-composer.js +145 -0
- package/dist/components/ui/proportion-list.d.ts +188 -0
- package/dist/components/ui/proportion-list.d.ts.map +1 -0
- package/dist/components/ui/proportion-list.js +134 -0
- package/dist/components/ui/prose.d.ts +23 -0
- package/dist/components/ui/prose.d.ts.map +1 -1
- package/dist/components/ui/prose.js +30 -1
- package/dist/components/ui/radio-group.d.ts +7 -0
- package/dist/components/ui/radio-group.d.ts.map +1 -1
- package/dist/components/ui/radio-group.js +8 -1
- package/dist/components/ui/range-field.d.ts +158 -0
- package/dist/components/ui/range-field.d.ts.map +1 -0
- package/dist/components/ui/range-field.js +208 -0
- package/dist/components/ui/relative-time.d.ts +116 -0
- package/dist/components/ui/relative-time.d.ts.map +1 -0
- package/dist/components/ui/relative-time.js +67 -0
- package/dist/components/ui/reorderable-list.d.ts +262 -0
- package/dist/components/ui/reorderable-list.d.ts.map +1 -0
- package/dist/components/ui/reorderable-list.js +325 -0
- package/dist/components/ui/repeatable-rows.d.ts +241 -0
- package/dist/components/ui/repeatable-rows.d.ts.map +1 -0
- package/dist/components/ui/repeatable-rows.js +221 -0
- package/dist/components/ui/repo-stars.d.ts +165 -0
- package/dist/components/ui/repo-stars.d.ts.map +1 -0
- package/dist/components/ui/repo-stars.js +92 -0
- package/dist/components/ui/resizable.d.ts +24 -0
- package/dist/components/ui/resizable.d.ts.map +1 -1
- package/dist/components/ui/resizable.js +96 -4
- package/dist/components/ui/search-dialog.d.ts +40 -5
- package/dist/components/ui/search-dialog.d.ts.map +1 -1
- package/dist/components/ui/search-dialog.js +94 -16
- package/dist/components/ui/search-field.d.ts +159 -0
- package/dist/components/ui/search-field.d.ts.map +1 -0
- package/dist/components/ui/search-field.js +98 -0
- package/dist/components/ui/section.d.ts +108 -1
- package/dist/components/ui/section.d.ts.map +1 -1
- package/dist/components/ui/section.js +109 -3
- package/dist/components/ui/select.d.ts.map +1 -1
- package/dist/components/ui/select.js +9 -1
- package/dist/components/ui/selection-toolbar.d.ts +166 -0
- package/dist/components/ui/selection-toolbar.d.ts.map +1 -0
- package/dist/components/ui/selection-toolbar.js +139 -0
- package/dist/components/ui/sidebar.d.ts +29 -0
- package/dist/components/ui/sidebar.d.ts.map +1 -1
- package/dist/components/ui/sidebar.js +35 -2
- package/dist/components/ui/signal-field.d.ts.map +1 -1
- package/dist/components/ui/signal-field.js +1 -1
- package/dist/components/ui/slider.d.ts +7 -0
- package/dist/components/ui/slider.d.ts.map +1 -1
- package/dist/components/ui/slider.js +32 -1
- package/dist/components/ui/sparkline.d.ts +117 -0
- package/dist/components/ui/sparkline.d.ts.map +1 -0
- package/dist/components/ui/sparkline.js +113 -0
- package/dist/components/ui/spinner.d.ts.map +1 -1
- package/dist/components/ui/spinner.js +13 -0
- package/dist/components/ui/split-button.d.ts +207 -0
- package/dist/components/ui/split-button.d.ts.map +1 -0
- package/dist/components/ui/split-button.js +75 -0
- package/dist/components/ui/stateful-table.d.ts +345 -0
- package/dist/components/ui/stateful-table.d.ts.map +1 -0
- package/dist/components/ui/stateful-table.js +169 -0
- package/dist/components/ui/status.d.ts +99 -0
- package/dist/components/ui/status.d.ts.map +1 -0
- package/dist/components/ui/status.js +63 -0
- package/dist/components/ui/stepper.d.ts +155 -0
- package/dist/components/ui/stepper.d.ts.map +1 -0
- package/dist/components/ui/stepper.js +83 -0
- package/dist/components/ui/steps.d.ts +141 -0
- package/dist/components/ui/steps.d.ts.map +1 -0
- package/dist/components/ui/steps.js +128 -0
- package/dist/components/ui/switch.d.ts +8 -0
- package/dist/components/ui/switch.d.ts.map +1 -1
- package/dist/components/ui/switch.js +12 -1
- package/dist/components/ui/tabs.d.ts +21 -2
- package/dist/components/ui/tabs.d.ts.map +1 -1
- package/dist/components/ui/tabs.js +23 -4
- package/dist/components/ui/tag-group.d.ts +154 -0
- package/dist/components/ui/tag-group.d.ts.map +1 -0
- package/dist/components/ui/tag-group.js +111 -0
- package/dist/components/ui/task-progress.d.ts +149 -0
- package/dist/components/ui/task-progress.d.ts.map +1 -0
- package/dist/components/ui/task-progress.js +110 -0
- package/dist/components/ui/text-format-toolbar.d.ts +211 -0
- package/dist/components/ui/text-format-toolbar.d.ts.map +1 -0
- package/dist/components/ui/text-format-toolbar.js +186 -0
- package/dist/components/ui/timeline.d.ts.map +1 -1
- package/dist/components/ui/timeline.js +10 -1
- package/dist/components/ui/toast.d.ts +32 -10
- package/dist/components/ui/toast.d.ts.map +1 -1
- package/dist/components/ui/toast.js +150 -47
- package/dist/components/ui/toggle-group.d.ts +14 -5
- package/dist/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/components/ui/toggle-group.js +15 -1
- package/dist/components/ui/toggle.d.ts.map +1 -1
- package/dist/components/ui/toggle.js +9 -1
- package/dist/components/ui/tree.d.ts +8 -0
- package/dist/components/ui/tree.d.ts.map +1 -1
- package/dist/components/ui/tree.js +92 -13
- package/dist/components/ui/video-player.d.ts +236 -0
- package/dist/components/ui/video-player.d.ts.map +1 -0
- package/dist/components/ui/video-player.js +72 -0
- package/dist/fonts/inter-latin-400-italic.woff2 +0 -0
- package/dist/index.d.ts +112 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +72 -0
- package/dist/lib/utils.d.ts +29 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +35 -0
- package/dist/live/index.d.ts +10 -3
- package/dist/live/index.d.ts.map +1 -1
- package/dist/live/index.js +12 -3
- package/dist/live/run-stream-01/run-stream.js +4 -4
- package/dist/live/tool-ledger-01/index.d.ts +3 -0
- package/dist/live/tool-ledger-01/index.d.ts.map +1 -0
- package/dist/live/tool-ledger-01/index.js +1 -0
- package/dist/live/tool-ledger-01/tool-ledger.d.ts +348 -0
- package/dist/live/tool-ledger-01/tool-ledger.d.ts.map +1 -0
- package/dist/live/tool-ledger-01/tool-ledger.js +245 -0
- package/dist/pages/about-page/index.d.ts +306 -0
- package/dist/pages/about-page/index.d.ts.map +1 -0
- package/dist/pages/about-page/index.js +161 -0
- package/dist/pages/careers-page/index.d.ts +288 -0
- package/dist/pages/careers-page/index.d.ts.map +1 -0
- package/dist/pages/careers-page/index.js +182 -0
- package/dist/pages/changelog-page/index.d.ts +255 -0
- package/dist/pages/changelog-page/index.d.ts.map +1 -0
- package/dist/pages/changelog-page/index.js +86 -0
- package/dist/pages/contact-page/index.d.ts +261 -0
- package/dist/pages/contact-page/index.d.ts.map +1 -0
- package/dist/pages/contact-page/index.js +136 -0
- package/dist/pages/docs-shell/docs-shell.d.ts +8 -0
- package/dist/pages/docs-shell/docs-shell.d.ts.map +1 -1
- package/dist/pages/docs-shell/docs-shell.js +24 -7
- package/dist/pages/error-page/index.d.ts +188 -0
- package/dist/pages/error-page/index.d.ts.map +1 -0
- package/dist/pages/error-page/index.js +98 -0
- package/dist/pages/index.d.ts +10 -0
- package/dist/pages/index.d.ts.map +1 -1
- package/dist/pages/index.js +14 -0
- package/dist/pages/legal-page/index.d.ts +194 -0
- package/dist/pages/legal-page/index.d.ts.map +1 -0
- package/dist/pages/legal-page/index.js +99 -0
- package/dist/pages/onboarding-page/index.d.ts +199 -0
- package/dist/pages/onboarding-page/index.d.ts.map +1 -0
- package/dist/pages/onboarding-page/index.js +71 -0
- package/dist/pages/pricing-page/index.d.ts +286 -0
- package/dist/pages/pricing-page/index.d.ts.map +1 -0
- package/dist/pages/pricing-page/index.js +139 -0
- package/dist/pages/search-page/index.d.ts +305 -0
- package/dist/pages/search-page/index.d.ts.map +1 -0
- package/dist/pages/search-page/index.js +142 -0
- package/dist/pages/status-page/index.d.ts +366 -0
- package/dist/pages/status-page/index.d.ts.map +1 -0
- package/dist/pages/status-page/index.js +136 -0
- package/dist/styles.css +1003 -55
- package/package.json +9 -3
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type HeadingLevel } from '../../components/ui/section.js';
|
|
3
|
+
/**
|
|
4
|
+
* How an estate as a whole is standing, as a closed set of five.
|
|
5
|
+
*
|
|
6
|
+
* Five, and the set is closed for the reason the four incident states are closed:
|
|
7
|
+
* this is a vocabulary about an *estate*, and an estate has one. Every product
|
|
8
|
+
* that publishes a status page is describing the same five situations, and the
|
|
9
|
+
* alternative to a closed set is a `string` the Page branches on, which is a
|
|
10
|
+
* second vocabulary with no gate on it and no way to add a state without editing
|
|
11
|
+
* a package.
|
|
12
|
+
*
|
|
13
|
+
* The **words** are still the caller's, in `label`. A product that says "All
|
|
14
|
+
* systems go" and one that says "Operational" are describing the same state, and
|
|
15
|
+
* neither sentence is Prism's to write. Prism owns which of the five gets which
|
|
16
|
+
* dot.
|
|
17
|
+
*/
|
|
18
|
+
export type ServiceOverallState = 'operational' | 'degraded' | 'partial-outage' | 'major-outage' | 'maintenance';
|
|
19
|
+
/**
|
|
20
|
+
* Where an incident has got to, as a closed set of four.
|
|
21
|
+
*
|
|
22
|
+
* **This is a lifecycle, and that is the whole reason the set is closed while a
|
|
23
|
+
* service's own state is not.** A lifecycle has one right vocabulary: an
|
|
24
|
+
* incident is looked into, then a cause is found, then a fix is watched, then it
|
|
25
|
+
* is over, and the order is the same in every product that publishes one. A
|
|
26
|
+
* product's own statuses are the opposite case: a queue is draining, a replica is
|
|
27
|
+
* resyncing, a pipeline is throttled and a dataset is stale, and between four
|
|
28
|
+
* products there are dozens of those words and no order behind them. So
|
|
29
|
+
* `ServicePageService.state` is a plain `string` the Page draws the caller's words
|
|
30
|
+
* for and never branches on, and this union is closed because the sequence
|
|
31
|
+
* through it is a fact about incidents rather than about any one product.
|
|
32
|
+
*
|
|
33
|
+
* The words are the caller's, in `stateLabel`, for the same reason they are
|
|
34
|
+
* everywhere else: "Investigating" and "We are looking into it" are the same
|
|
35
|
+
* moment.
|
|
36
|
+
*/
|
|
37
|
+
export type IncidentState = 'investigating' | 'identified' | 'monitoring' | 'resolved';
|
|
38
|
+
/**
|
|
39
|
+
* How the estate as a whole is announced, and what is said under it.
|
|
40
|
+
*
|
|
41
|
+
* `label` is required and separate from `state`, and the reason is the colour: a
|
|
42
|
+
* status with no words is a coloured dot, which is invisible to a reader who
|
|
43
|
+
* cannot separate the tones and is never announced at all. `Status` refuses to
|
|
44
|
+
* render unlabelled for exactly that reason, so this Page cannot draw an
|
|
45
|
+
* unlabelled state either.
|
|
46
|
+
*/
|
|
47
|
+
export type StatusPageOverall = {
|
|
48
|
+
/**
|
|
49
|
+
* Which of the five the estate is in. See `ServiceOverallState`.
|
|
50
|
+
*
|
|
51
|
+
* The caller's judgement and not a computation over the rows below it, and the
|
|
52
|
+
* Component's own JSDoc argues the whole of why in the place a reader will
|
|
53
|
+
* look for it.
|
|
54
|
+
*/
|
|
55
|
+
state: ServiceOverallState;
|
|
56
|
+
/** The words for that state, in the product's own vocabulary. */
|
|
57
|
+
label: string;
|
|
58
|
+
/**
|
|
59
|
+
* One sentence under the state, for the part the state cannot carry: what is
|
|
60
|
+
* affected, when it will be over, what a reader should do.
|
|
61
|
+
*/
|
|
62
|
+
note?: ReactNode;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* One service in the estate: what it is called, what state it is in, and where
|
|
66
|
+
* its own page is.
|
|
67
|
+
*
|
|
68
|
+
* `state` is a `string` and not a union, and the reason is on `IncidentState` in
|
|
69
|
+
* full: a service's own state is a product's vocabulary rather than a lifecycle,
|
|
70
|
+
* so there are as many of them as the product likes. The Page carries the machine
|
|
71
|
+
* value on the row as `data-state`, for a test to key on and for a consumer whose
|
|
72
|
+
* own stylesheet or telemetry reads it, and it draws the words from `stateLabel`.
|
|
73
|
+
* It does not branch on it, which is exactly why it is a string: a Page that
|
|
74
|
+
* branched on a product's vocabulary would need a tone map the caller did not
|
|
75
|
+
* write.
|
|
76
|
+
*
|
|
77
|
+
* The link is a pair rather than one optional prop, and a caller who wants a
|
|
78
|
+
* service row to go somewhere passes both or neither. A link with no words is a
|
|
79
|
+
* control a reader has to guess at, and the second half of the pair is what stops
|
|
80
|
+
* that happening silently.
|
|
81
|
+
*/
|
|
82
|
+
export type StatusPageService = {
|
|
83
|
+
/** The service's stable key. The name is the usual choice and needs no coordination. */
|
|
84
|
+
id: string;
|
|
85
|
+
/** The service's name, as the estate's own inventory spells it. */
|
|
86
|
+
name: string;
|
|
87
|
+
/**
|
|
88
|
+
* The service's state, in the product's own vocabulary, carried as a machine
|
|
89
|
+
* value and never branched on. See the note on the type.
|
|
90
|
+
*/
|
|
91
|
+
state: string;
|
|
92
|
+
/** The words a reader reads for that state. */
|
|
93
|
+
stateLabel: string;
|
|
94
|
+
/** One line under the name, for the part of the service's health the state cannot carry. */
|
|
95
|
+
detail?: ReactNode;
|
|
96
|
+
} & ({
|
|
97
|
+
href?: undefined;
|
|
98
|
+
hrefLabel?: undefined;
|
|
99
|
+
} | {
|
|
100
|
+
href: string;
|
|
101
|
+
hrefLabel: string;
|
|
102
|
+
});
|
|
103
|
+
/**
|
|
104
|
+
* One update on an incident: when the caller's system said it, and what it said.
|
|
105
|
+
*
|
|
106
|
+
* `body` is a node because an update is sometimes a sentence, sometimes a code
|
|
107
|
+
* block of a stack trace and sometimes a list of affected regions, and a string
|
|
108
|
+
* would force the caller to flatten whichever one their incident feed carries.
|
|
109
|
+
*/
|
|
110
|
+
export type StatusPageIncidentUpdate = {
|
|
111
|
+
/** The update's stable key within its incident. */
|
|
112
|
+
id: string;
|
|
113
|
+
/**
|
|
114
|
+
* The moment, in the caller's own value.
|
|
115
|
+
*
|
|
116
|
+
* A string and not a number because the Page does not read it as a date: see
|
|
117
|
+
* `dateLabel` on the incident. The same value is drawn for the incident and for
|
|
118
|
+
* each of its updates, so one formatter covers both.
|
|
119
|
+
*/
|
|
120
|
+
at: string;
|
|
121
|
+
/** What the update says. */
|
|
122
|
+
body: ReactNode;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* One recent incident: what it was, where it has got to, and what has been said
|
|
126
|
+
* about it since.
|
|
127
|
+
*
|
|
128
|
+
* `stateLabel` is required for the same reason `state` is required, in the other
|
|
129
|
+
* order: the dot is the machine value and the words are the fact, and a reader
|
|
130
|
+
* who cannot see the dot still has to be told which moment this is.
|
|
131
|
+
*/
|
|
132
|
+
export type StatusPageIncident = {
|
|
133
|
+
/** The incident's stable key, which is usually the reference a reader quotes. */
|
|
134
|
+
id: string;
|
|
135
|
+
/** The incident's title, in the words a reader will recognise it by. */
|
|
136
|
+
title: string;
|
|
137
|
+
/** Where the incident has got to. See `IncidentState`. */
|
|
138
|
+
state: IncidentState;
|
|
139
|
+
/** The words for that moment, in the product's own vocabulary. */
|
|
140
|
+
stateLabel: string;
|
|
141
|
+
/**
|
|
142
|
+
* When the incident was opened, in the caller's own value.
|
|
143
|
+
*
|
|
144
|
+
* Drawn as passed, or through `dateLabel` when that is given. Prism formats no
|
|
145
|
+
* date here, and the reason is the one `RelativeTime` gives at length: "12
|
|
146
|
+
* minutes ago" is a sentence with a plural that changes shape past a day, and a
|
|
147
|
+
* design system that shipped one of those would put a sentence into every
|
|
148
|
+
* consumer's product that the consumer could not translate, inflect or
|
|
149
|
+
* reorder. So the value is the caller's and the reading is the caller's.
|
|
150
|
+
*/
|
|
151
|
+
at?: string;
|
|
152
|
+
/**
|
|
153
|
+
* The caller's reading of `at`, and of every update's `at`.
|
|
154
|
+
*
|
|
155
|
+
* A function rather than a pre-formatted string, because the same value is
|
|
156
|
+
* drawn in two places per incident and formatting it twice in a consumer's
|
|
157
|
+
* render is a second place for the two to disagree. A caller who wants a
|
|
158
|
+
* localised absolute reading plus relative words composes `RelativeTime` and
|
|
159
|
+
* returns its two halves, or passes the node through `body`.
|
|
160
|
+
*/
|
|
161
|
+
dateLabel?: (value: string) => string;
|
|
162
|
+
/** The incident's own description, one or two sentences or a short block. */
|
|
163
|
+
body?: ReactNode;
|
|
164
|
+
/**
|
|
165
|
+
* The updates in order, oldest first.
|
|
166
|
+
*
|
|
167
|
+
* A list rather than a string because an incident's history is a sequence of
|
|
168
|
+
* moments, and a status page that collapses them into a paragraph is a status
|
|
169
|
+
* page a reader has to trust rather than read. Omit it for an incident whose
|
|
170
|
+
* feed carries one entry, because a list of one is a list of one.
|
|
171
|
+
*/
|
|
172
|
+
updates?: readonly StatusPageIncidentUpdate[];
|
|
173
|
+
} & ({
|
|
174
|
+
href?: undefined;
|
|
175
|
+
hrefLabel?: undefined;
|
|
176
|
+
} | {
|
|
177
|
+
href: string;
|
|
178
|
+
hrefLabel: string;
|
|
179
|
+
});
|
|
180
|
+
/**
|
|
181
|
+
* The props a StatusPage takes.
|
|
182
|
+
*
|
|
183
|
+
* Every string is a prop and the Page ships none: no state word, no "Services",
|
|
184
|
+
* no "Recent incidents", no "All systems operational" and no relative time. The
|
|
185
|
+
* Page owns the arrangement and the five-way treatment of the overall state, and
|
|
186
|
+
* every sentence on the screen is the caller's.
|
|
187
|
+
*/
|
|
188
|
+
export type StatusPageProps = {
|
|
189
|
+
/** The short line above the title, usually the product's name. */
|
|
190
|
+
eyebrow?: ReactNode;
|
|
191
|
+
/**
|
|
192
|
+
* The screen's heading, and its `h1` at the default level.
|
|
193
|
+
*
|
|
194
|
+
* A node because a status page's heading is often the product's own mark beside
|
|
195
|
+
* a word, and flattening that to a string would make every consumer rebuild it
|
|
196
|
+
* in their own layout.
|
|
197
|
+
*/
|
|
198
|
+
title: ReactNode;
|
|
199
|
+
/** One or two sentences under the heading, for anything a reader should know first. */
|
|
200
|
+
description?: ReactNode;
|
|
201
|
+
/**
|
|
202
|
+
* How the estate as a whole is standing.
|
|
203
|
+
*
|
|
204
|
+
* Required, and required as a judgement rather than as a computation: see the
|
|
205
|
+
* Component's own JSDoc for the argument, which is the sharpest sentence in
|
|
206
|
+
* this Item.
|
|
207
|
+
*/
|
|
208
|
+
overall: StatusPageOverall;
|
|
209
|
+
/**
|
|
210
|
+
* The services, in the order a reader should meet them.
|
|
211
|
+
*
|
|
212
|
+
* The order is the caller's, because on a status page the order is a claim
|
|
213
|
+
* about what matters when everything is degraded, and a Page that sorted by
|
|
214
|
+
* severity would be making that claim on the caller's behalf with a rule the
|
|
215
|
+
* caller cannot see.
|
|
216
|
+
*/
|
|
217
|
+
services: readonly StatusPageService[];
|
|
218
|
+
/**
|
|
219
|
+
* The recent incidents, newest first.
|
|
220
|
+
*
|
|
221
|
+
* Optional, and omitted rather than passed empty wherever the estate has never
|
|
222
|
+
* had one: an empty array and no array are the same state, and the difference
|
|
223
|
+
* between them is not one a consumer should have to hold in their own data.
|
|
224
|
+
*/
|
|
225
|
+
incidents?: readonly StatusPageIncident[];
|
|
226
|
+
/**
|
|
227
|
+
* The accessible name of the region holding the incidents.
|
|
228
|
+
*
|
|
229
|
+
* It is a word a reader hears: a screen with two named regions and a list of
|
|
230
|
+
* states under each of them is a screen whose reader needs to know which one
|
|
231
|
+
* they have moved into. "Recent incidents" is this Page's own phrasing; a
|
|
232
|
+
* product that files them as "History" names the same landmark something else.
|
|
233
|
+
*
|
|
234
|
+
* Required, and required even by a caller with no incidents to name, which is
|
|
235
|
+
* a decision rather than an oversight. The alternative was a union that made
|
|
236
|
+
* the label conditional on the array, and a status page's incidents arrive from
|
|
237
|
+
* a fetched payload typed as `StatusPageIncident[] | undefined`, so a union
|
|
238
|
+
* would have asked the caller for a static word in the same expression as a
|
|
239
|
+
* dynamic array and made a rendered page fail to type-check on the day the feed
|
|
240
|
+
* had nothing in it. The cost is stated: a caller whose estate has never had an
|
|
241
|
+
* incident passes a name for a region that is not drawn, and one string in their
|
|
242
|
+
* render is the price for a page that does not change shape with their data.
|
|
243
|
+
*/
|
|
244
|
+
incidentsLabel: string;
|
|
245
|
+
/**
|
|
246
|
+
* A slot for the caller's own way of reading more: a full report, a postmortem,
|
|
247
|
+
* an archive, a feed.
|
|
248
|
+
*
|
|
249
|
+
* A slot rather than a prop because every one of those is a Block, and a Page
|
|
250
|
+
* that took a Block per prop would be a Page whose interface lists the whole
|
|
251
|
+
* catalogue.
|
|
252
|
+
*/
|
|
253
|
+
updates?: ReactNode;
|
|
254
|
+
/**
|
|
255
|
+
* A slot for the caller's own subscribe control, drawn under the incidents.
|
|
256
|
+
*
|
|
257
|
+
* A slot and not a button, because subscribing is a form with the caller's
|
|
258
|
+
* fields, their consent line and their own endpoint, and a Page that drew a
|
|
259
|
+
* button here would be a control that cannot act.
|
|
260
|
+
*/
|
|
261
|
+
subscribe?: ReactNode;
|
|
262
|
+
/**
|
|
263
|
+
* The caller's own node for an estate with no recent incidents.
|
|
264
|
+
*
|
|
265
|
+
* Required, and the reason is specific: this is the one line on a status page
|
|
266
|
+
* that a reader is guaranteed to read, because it is the line that tells them
|
|
267
|
+
* nothing is wrong. A Page that drew nothing there would leave a reader unable
|
|
268
|
+
* to tell an all-clear from a feed that failed, and a status page that cannot
|
|
269
|
+
* be trusted to say "nothing has happened" is not one anybody will keep open in
|
|
270
|
+
* a second tab.
|
|
271
|
+
*/
|
|
272
|
+
empty: ReactNode;
|
|
273
|
+
/**
|
|
274
|
+
* Heading level for the screen's own heading, and one below it for the incident
|
|
275
|
+
* titles. @defaultValue 'h1'
|
|
276
|
+
*/
|
|
277
|
+
headingLevel?: HeadingLevel;
|
|
278
|
+
/** Layout only. Changing a Prism-owned visual property from here is prohibited. */
|
|
279
|
+
className?: string;
|
|
280
|
+
};
|
|
281
|
+
/**
|
|
282
|
+
* A complete service-status screen: the estate's own state, the services under
|
|
283
|
+
* it, the incidents that shaped it, and the caller's ways to follow along.
|
|
284
|
+
*
|
|
285
|
+
* **The overall state is the caller's judgement and not a computation over the
|
|
286
|
+
* rows, and this is the sharpest decision in the Item.** A screen that computed
|
|
287
|
+
* it would be self-maintaining: rows change, the banner follows, and the Page
|
|
288
|
+
* could not ship a wrong one. The reason that is not enough is that the rows are
|
|
289
|
+
* not the estate. An estate can be degrading in a way no single service admits
|
|
290
|
+
* to: every node is individually healthy, every job finished, every replica
|
|
291
|
+
* caught up, and the product is unusable because the thing a reader came for is
|
|
292
|
+
* the sum of those services rather than any of them. A Page that computed the
|
|
293
|
+
* overall state from its own rows would be forced into one of two failures, and
|
|
294
|
+
* both are on the same screen. It would over-report, painting a red banner over
|
|
295
|
+
* one degraded node out of forty that nobody can feel, which trains a reader to
|
|
296
|
+
* ignore the banner and is how a real outage gets read as routine. Or it would
|
|
297
|
+
* under-report, drawing green beside forty green rows while the product is down,
|
|
298
|
+
* which is the failure that costs a trust once and does not get it back. Neither
|
|
299
|
+
* is something a design system can decide for a product, because the weight of a
|
|
300
|
+
* service, the shape of a dependency between them and the definition of degraded
|
|
301
|
+
* are all facts about the product and none of them are visible from a row. So
|
|
302
|
+
* `overall` is a prop: the caller already knows, because the caller's monitoring
|
|
303
|
+
* already decided it, and the cost is stated rather than hidden. The caller can
|
|
304
|
+
* get it wrong, and a caller whose banner disagrees with their own rows has a bug
|
|
305
|
+
* in their own state, which is a bug in one repository rather than a wrong
|
|
306
|
+
* sentence in five.
|
|
307
|
+
*
|
|
308
|
+
* **Two vocabularies are in this Page and only one of them is closed.** The
|
|
309
|
+
* estate's state is one of five because an estate has one, and the four incident
|
|
310
|
+
* states are closed because an incident is a lifecycle, and a lifecycle has one
|
|
311
|
+
* right order: looked into, cause found, fix watched, over. A *service's* state is
|
|
312
|
+
* a plain string, because that is a product's own vocabulary with as many words in
|
|
313
|
+
* it as the product likes, and a Page that branched on it would need a tone map
|
|
314
|
+
* the caller never wrote. The consequence is visible on the screen and is the
|
|
315
|
+
* right consequence: the estate and each incident get a dot, because Prism owns
|
|
316
|
+
* how those two look, and a service's state is drawn as the caller's words with
|
|
317
|
+
* the machine value on the row as `data-state`, because a service row with a dot
|
|
318
|
+
* and no words is the thing `Status` refuses to render.
|
|
319
|
+
*
|
|
320
|
+
* **The two states are drawn with `Status`, so the dot is never the signal.** The
|
|
321
|
+
* label is required on every state on this screen, the dot is `aria-hidden` inside
|
|
322
|
+
* that Component, and a reader who cannot separate `warning` from `destructive`
|
|
323
|
+
* reads the same fact from the words. That is also why the two overall states that
|
|
324
|
+
* share a tone are safe to share it: the cost of a five-way palette on a status
|
|
325
|
+
* page is that some pairs collide, and the alternative is a state role invented
|
|
326
|
+
* for this Page, which would be a second source of truth for colour in a package
|
|
327
|
+
* whose whole claim is that there is one.
|
|
328
|
+
*
|
|
329
|
+
* **Prism formats no date on this screen.** `at` is the caller's value and
|
|
330
|
+
* `dateLabel` is the caller's reading of it, for the reason `RelativeTime` gives:
|
|
331
|
+
* a relative phrase is a sentence in the reader's language, not a number with a
|
|
332
|
+
* suffix, and shipping one would put a sentence into every consumer's product that
|
|
333
|
+
* they could not translate. The cost is named: a reader's browser cannot read the
|
|
334
|
+
* incident date off this Page as a machine value, and a caller who needs that
|
|
335
|
+
* composes `RelativeTime` where their own `datetime` is, which is the right place
|
|
336
|
+
* for it.
|
|
337
|
+
*
|
|
338
|
+
* **The services band and the incidents band carry no visible heading, and the
|
|
339
|
+
* incidents region is named instead.** Their names are the caller's words and this
|
|
340
|
+
* Page ships none, so the incidents band is a `<section>` named by
|
|
341
|
+
* `incidentsLabel` and the services band is a plain list. The incident titles are
|
|
342
|
+
* headings one step below the screen's own, so a reader navigating by heading meets
|
|
343
|
+
* each incident rather than a wall of links.
|
|
344
|
+
*
|
|
345
|
+
* **Nothing here refreshes itself, and that is the decision a status page most
|
|
346
|
+
* wants to get wrong.** There is no timer, no subscription and no interval in
|
|
347
|
+
* this file, because a banner that changes under a reader is a claim about the
|
|
348
|
+
* estate made by a design system that cannot see the estate, and a reader who
|
|
349
|
+
* cannot tell a real change from a repaint stops reading the banner at all. A
|
|
350
|
+
* consumer that wants a live status page renders this Page again from new props,
|
|
351
|
+
* which is a decision about their data and not about this screen, and
|
|
352
|
+
* `ToolLedger01` is the surface in this package for the case where the change has
|
|
353
|
+
* to arrive without a render.
|
|
354
|
+
*
|
|
355
|
+
* **It is a server Component.** It holds no state, runs no hook, imports no
|
|
356
|
+
* router and fetches nothing, so a consumer renders it from whichever route their
|
|
357
|
+
* framework names. The one function prop it takes, `dateLabel`, is called while
|
|
358
|
+
* this Page renders, which is a server-to-server call and not the thing the client
|
|
359
|
+
* boundary forbids: a callback cannot cross *out of* a server Component into a
|
|
360
|
+
* client one, and nothing on this screen is a client one. Every control a status
|
|
361
|
+
* page usually carries is a `ReactNode` slot instead, because a slot is how a
|
|
362
|
+
* consumer injects their own client control without this Page owning any state.
|
|
363
|
+
*/
|
|
364
|
+
export declare function StatusPage({ eyebrow, title, description, overall, services, incidents, incidentsLabel, updates, subscribe, empty, headingLevel, className, }: StatusPageProps): import("react").JSX.Element;
|
|
365
|
+
export default StatusPage;
|
|
366
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pages/status-page/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,EAAuC,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAIpG;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,mBAAmB,GAC3B,aAAa,GACb,UAAU,GACV,gBAAgB,GAChB,cAAc,GACd,aAAa,CAAA;AAEjB;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,YAAY,GAAG,YAAY,GAAG,UAAU,CAAA;AAEtF;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;;;OAMG;IACH,KAAK,EAAE,mBAAmB,CAAA;IAC1B,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wFAAwF;IACxF,EAAE,EAAE,MAAM,CAAA;IACV,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAA;IAClB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB,GAAG,CACA;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CACtC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAA;IACV;;;;;;OAMG;IACH,EAAE,EAAE,MAAM,CAAA;IACV,4BAA4B;IAC5B,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iFAAiF;IACjF,EAAE,EAAE,MAAM,CAAA;IACV,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAA;IACb,0DAA0D;IAC1D,KAAK,EAAE,aAAa,CAAA;IACpB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;;;;;OASG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACrC,6EAA6E;IAC7E,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAA;CAC9C,GAAG,CAAC;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEvF;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,kEAAkE;IAClE,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;;;;OAMG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB,uFAAuF;IACvF,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB;;;;;;OAMG;IACH,OAAO,EAAE,iBAAiB,CAAA;IAC1B;;;;;;;OAOG;IACH,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;IACtC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACzC;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB;;;;;;;;;OASG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAsCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,KAAK,EACL,WAAW,EACX,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAc,EACd,OAAO,EACP,SAAS,EACT,KAAK,EACL,YAAmB,EACnB,SAAS,GACV,EAAE,eAAe,+BAwMjB;AAED,eAAe,UAAU,CAAA"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { CtaLink } from '../../components/ui/cta-link.js';
|
|
3
|
+
import { Section, SectionHeading, childLevel } from '../../components/ui/section.js';
|
|
4
|
+
import { Status } from '../../components/ui/status.js';
|
|
5
|
+
import { Heading } from '../../components/ui/typography.js';
|
|
6
|
+
/**
|
|
7
|
+
* The dot each of the five overall states is drawn in.
|
|
8
|
+
*
|
|
9
|
+
* `degraded` and `partial-outage` share `warning`, and that is a cost rather than
|
|
10
|
+
* an oversight: `StatusTone` publishes three state roles and a dot that is the
|
|
11
|
+
* only signal is invisible to a reader who cannot separate them anyway, so the
|
|
12
|
+
* two states are told apart by the words beside them, which are the caller's and
|
|
13
|
+
* are required. `maintenance` takes `info`, which is the one role in the contract
|
|
14
|
+
* that means "not an alarm" and is the honest reading of planned work.
|
|
15
|
+
*/
|
|
16
|
+
const OVERALL_TONE = {
|
|
17
|
+
operational: 'success',
|
|
18
|
+
degraded: 'warning',
|
|
19
|
+
'partial-outage': 'warning',
|
|
20
|
+
'major-outage': 'destructive',
|
|
21
|
+
maintenance: 'info',
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* The dot each of the four incident states is drawn in, which is the lifecycle
|
|
25
|
+
* read as a scale: a warning while it is being looked into, a warning once the
|
|
26
|
+
* cause is known, the neutral role while a fix is watched, and a success when it
|
|
27
|
+
* is over.
|
|
28
|
+
*
|
|
29
|
+
* The first two share `warning` for the reason the two overall states do, and
|
|
30
|
+
* there is a reason the second is not `info`: an identified cause is not yet an
|
|
31
|
+
* all-clear, and a dot that relaxes the moment somebody knows what is wrong
|
|
32
|
+
* teaches a reader to distrust the colour.
|
|
33
|
+
*/
|
|
34
|
+
const INCIDENT_TONE = {
|
|
35
|
+
investigating: 'warning',
|
|
36
|
+
identified: 'warning',
|
|
37
|
+
monitoring: 'info',
|
|
38
|
+
resolved: 'success',
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* A complete service-status screen: the estate's own state, the services under
|
|
42
|
+
* it, the incidents that shaped it, and the caller's ways to follow along.
|
|
43
|
+
*
|
|
44
|
+
* **The overall state is the caller's judgement and not a computation over the
|
|
45
|
+
* rows, and this is the sharpest decision in the Item.** A screen that computed
|
|
46
|
+
* it would be self-maintaining: rows change, the banner follows, and the Page
|
|
47
|
+
* could not ship a wrong one. The reason that is not enough is that the rows are
|
|
48
|
+
* not the estate. An estate can be degrading in a way no single service admits
|
|
49
|
+
* to: every node is individually healthy, every job finished, every replica
|
|
50
|
+
* caught up, and the product is unusable because the thing a reader came for is
|
|
51
|
+
* the sum of those services rather than any of them. A Page that computed the
|
|
52
|
+
* overall state from its own rows would be forced into one of two failures, and
|
|
53
|
+
* both are on the same screen. It would over-report, painting a red banner over
|
|
54
|
+
* one degraded node out of forty that nobody can feel, which trains a reader to
|
|
55
|
+
* ignore the banner and is how a real outage gets read as routine. Or it would
|
|
56
|
+
* under-report, drawing green beside forty green rows while the product is down,
|
|
57
|
+
* which is the failure that costs a trust once and does not get it back. Neither
|
|
58
|
+
* is something a design system can decide for a product, because the weight of a
|
|
59
|
+
* service, the shape of a dependency between them and the definition of degraded
|
|
60
|
+
* are all facts about the product and none of them are visible from a row. So
|
|
61
|
+
* `overall` is a prop: the caller already knows, because the caller's monitoring
|
|
62
|
+
* already decided it, and the cost is stated rather than hidden. The caller can
|
|
63
|
+
* get it wrong, and a caller whose banner disagrees with their own rows has a bug
|
|
64
|
+
* in their own state, which is a bug in one repository rather than a wrong
|
|
65
|
+
* sentence in five.
|
|
66
|
+
*
|
|
67
|
+
* **Two vocabularies are in this Page and only one of them is closed.** The
|
|
68
|
+
* estate's state is one of five because an estate has one, and the four incident
|
|
69
|
+
* states are closed because an incident is a lifecycle, and a lifecycle has one
|
|
70
|
+
* right order: looked into, cause found, fix watched, over. A *service's* state is
|
|
71
|
+
* a plain string, because that is a product's own vocabulary with as many words in
|
|
72
|
+
* it as the product likes, and a Page that branched on it would need a tone map
|
|
73
|
+
* the caller never wrote. The consequence is visible on the screen and is the
|
|
74
|
+
* right consequence: the estate and each incident get a dot, because Prism owns
|
|
75
|
+
* how those two look, and a service's state is drawn as the caller's words with
|
|
76
|
+
* the machine value on the row as `data-state`, because a service row with a dot
|
|
77
|
+
* and no words is the thing `Status` refuses to render.
|
|
78
|
+
*
|
|
79
|
+
* **The two states are drawn with `Status`, so the dot is never the signal.** The
|
|
80
|
+
* label is required on every state on this screen, the dot is `aria-hidden` inside
|
|
81
|
+
* that Component, and a reader who cannot separate `warning` from `destructive`
|
|
82
|
+
* reads the same fact from the words. That is also why the two overall states that
|
|
83
|
+
* share a tone are safe to share it: the cost of a five-way palette on a status
|
|
84
|
+
* page is that some pairs collide, and the alternative is a state role invented
|
|
85
|
+
* for this Page, which would be a second source of truth for colour in a package
|
|
86
|
+
* whose whole claim is that there is one.
|
|
87
|
+
*
|
|
88
|
+
* **Prism formats no date on this screen.** `at` is the caller's value and
|
|
89
|
+
* `dateLabel` is the caller's reading of it, for the reason `RelativeTime` gives:
|
|
90
|
+
* a relative phrase is a sentence in the reader's language, not a number with a
|
|
91
|
+
* suffix, and shipping one would put a sentence into every consumer's product that
|
|
92
|
+
* they could not translate. The cost is named: a reader's browser cannot read the
|
|
93
|
+
* incident date off this Page as a machine value, and a caller who needs that
|
|
94
|
+
* composes `RelativeTime` where their own `datetime` is, which is the right place
|
|
95
|
+
* for it.
|
|
96
|
+
*
|
|
97
|
+
* **The services band and the incidents band carry no visible heading, and the
|
|
98
|
+
* incidents region is named instead.** Their names are the caller's words and this
|
|
99
|
+
* Page ships none, so the incidents band is a `<section>` named by
|
|
100
|
+
* `incidentsLabel` and the services band is a plain list. The incident titles are
|
|
101
|
+
* headings one step below the screen's own, so a reader navigating by heading meets
|
|
102
|
+
* each incident rather than a wall of links.
|
|
103
|
+
*
|
|
104
|
+
* **Nothing here refreshes itself, and that is the decision a status page most
|
|
105
|
+
* wants to get wrong.** There is no timer, no subscription and no interval in
|
|
106
|
+
* this file, because a banner that changes under a reader is a claim about the
|
|
107
|
+
* estate made by a design system that cannot see the estate, and a reader who
|
|
108
|
+
* cannot tell a real change from a repaint stops reading the banner at all. A
|
|
109
|
+
* consumer that wants a live status page renders this Page again from new props,
|
|
110
|
+
* which is a decision about their data and not about this screen, and
|
|
111
|
+
* `ToolLedger01` is the surface in this package for the case where the change has
|
|
112
|
+
* to arrive without a render.
|
|
113
|
+
*
|
|
114
|
+
* **It is a server Component.** It holds no state, runs no hook, imports no
|
|
115
|
+
* router and fetches nothing, so a consumer renders it from whichever route their
|
|
116
|
+
* framework names. The one function prop it takes, `dateLabel`, is called while
|
|
117
|
+
* this Page renders, which is a server-to-server call and not the thing the client
|
|
118
|
+
* boundary forbids: a callback cannot cross *out of* a server Component into a
|
|
119
|
+
* client one, and nothing on this screen is a client one. Every control a status
|
|
120
|
+
* page usually carries is a `ReactNode` slot instead, because a slot is how a
|
|
121
|
+
* consumer injects their own client control without this Page owning any state.
|
|
122
|
+
*/
|
|
123
|
+
export function StatusPage({ eyebrow, title, description, overall, services, incidents, incidentsLabel, updates, subscribe, empty, headingLevel = 'h1', className, }) {
|
|
124
|
+
// An incident's title is a heading one step below the screen's own, so the
|
|
125
|
+
// outline a reader learns here is the one they meet on every other Page.
|
|
126
|
+
const IncidentTitle = childLevel(headingLevel);
|
|
127
|
+
return (_jsx(Section, { "data-slot": "status-page", className: className, children: _jsxs("div", { "data-slot": "status-page-body", className: "flex flex-col gap-12", children: [_jsx(SectionHeading, { as: headingLevel, align: "left", eyebrow: eyebrow, title: title, description: description }), _jsxs("div", { "data-slot": "status-page-overall", "data-state": overall.state, className: "border-border flex flex-col gap-2 rounded-lg border p-6", children: [_jsx(Status, { "data-slot": "status-page-overall-state", tone: OVERALL_TONE[overall.state], label: overall.label }), overall.note ? (_jsx("p", { "data-slot": "status-page-overall-note", className: "text-muted-foreground max-w-measure text-pretty text-sm", children: overall.note })) : null] }), _jsx("ul", { "data-slot": "status-page-services", className: "border-border flex flex-col border-t", children: services.map((service) => (_jsxs("li", { "data-slot": "status-page-service", "data-state": service.state, className: "border-border flex flex-col gap-1 border-b py-4 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6", children: [_jsxs("div", { className: "flex min-w-0 flex-col gap-1", children: [_jsx("span", { className: "text-foreground text-sm font-medium", children: service.name }), service.detail ? (_jsx("span", { className: "text-muted-foreground text-pretty text-sm", children: service.detail })) : null] }), _jsxs("div", { className: "flex shrink-0 items-center gap-3", children: [_jsx("span", { className: "text-muted-foreground font-mono text-xs", children: service.stateLabel }), service.hrefLabel === undefined ? null : (_jsx(CtaLink, { href: service.href, variant: "ghost", size: "sm", className: "self-start", children: service.hrefLabel }))] })] }, service.id))) }), incidents === undefined || incidents.length === 0 ? (
|
|
128
|
+
/*
|
|
129
|
+
* The caller's own all-clear, drawn where the incidents would have been, so
|
|
130
|
+
* a reader is not told the estate is quiet twice.
|
|
131
|
+
*/
|
|
132
|
+
_jsx("p", { "data-slot": "status-page-empty", className: "text-muted-foreground max-w-measure text-pretty text-sm", children: empty })) : (_jsx("section", { "data-slot": "status-page-incidents", "aria-label": incidentsLabel, className: "flex flex-col gap-6", children: _jsx("ol", { "data-slot": "status-page-incident-list", className: "flex flex-col gap-8", children: incidents.map((incident) => (_jsxs("li", { "data-slot": "status-page-incident", "data-state": incident.state, className: "flex flex-col gap-3", children: [_jsxs("div", { className: "flex flex-wrap items-baseline justify-between gap-x-4 gap-y-2", children: [_jsx(Heading, { as: IncidentTitle, size: "lg", className: "text-foreground", children: incident.title }), _jsx(Status, { "data-slot": "status-page-incident-state", tone: INCIDENT_TONE[incident.state], label: incident.stateLabel, size: "sm" })] }), incident.at === undefined ? null : (_jsx("p", { "data-slot": "status-page-incident-at", className: "text-muted-foreground font-mono text-xs", children: incident.dateLabel === undefined
|
|
133
|
+
? incident.at
|
|
134
|
+
: incident.dateLabel(incident.at) })), incident.body ? (_jsx("div", { "data-slot": "status-page-incident-body", className: "text-pretty text-sm", children: incident.body })) : null, incident.updates === undefined || incident.updates.length === 0 ? null : (_jsx("ol", { "data-slot": "status-page-incident-updates", className: "border-border flex flex-col gap-3 border-t pt-4", children: incident.updates.map((update) => (_jsxs("li", { "data-slot": "status-page-incident-update", className: "flex flex-col gap-1", children: [incident.dateLabel === undefined ? (_jsx("span", { className: "text-muted-foreground font-mono text-xs", children: update.at })) : (_jsx("span", { className: "text-muted-foreground font-mono text-xs", children: incident.dateLabel(update.at) })), _jsx("div", { className: "text-pretty text-sm", children: update.body })] }, update.id))) })), incident.hrefLabel === undefined ? null : (_jsx(CtaLink, { href: incident.href, variant: "ghost", size: "sm", className: "self-start", children: incident.hrefLabel }))] }, incident.id))) }) })), updates ? _jsx("div", { "data-slot": "status-page-updates", children: updates }) : null, subscribe ? _jsx("div", { "data-slot": "status-page-subscribe", children: subscribe }) : null] }) }));
|
|
135
|
+
}
|
|
136
|
+
export default StatusPage;
|