@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,323 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type HeadingLevel } from '../../components/ui/section.js';
|
|
3
|
+
/**
|
|
4
|
+
* The five states a project can be in.
|
|
5
|
+
*
|
|
6
|
+
* Five, and the words for them are the caller's rather than the type's, so this
|
|
7
|
+
* list is a set of positions rather than a vocabulary. That is the whole reason
|
|
8
|
+
* `stateLabel` exists and why it is required: four NaniSoft products each track
|
|
9
|
+
* this differently, and between them they use eleven words for these five
|
|
10
|
+
* positions, where "In progress" and "Active" and "Running" are one position and
|
|
11
|
+
* "Shipped" and "Done" and "Delivered" are another.
|
|
12
|
+
*
|
|
13
|
+
* A sixth state would be the one that splits a position that does not need
|
|
14
|
+
* splitting: `at-risk` over `blocked`, or a `live` that is not `complete`. Each
|
|
15
|
+
* one is a colour a reader has to learn and a word a maintainer has to keep true,
|
|
16
|
+
* and a ladder with more rungs than positions is how a status column stops being
|
|
17
|
+
* readable. What the caller wants to say about a project is `summary` and the
|
|
18
|
+
* caller's own `stateLabel`; the five below are the positions a project is in.
|
|
19
|
+
*/
|
|
20
|
+
export type ProjectState = 'planning' | 'active' | 'blocked' | 'complete' | 'archived';
|
|
21
|
+
/**
|
|
22
|
+
* One person: the name, the portrait where there is one, and a destination where
|
|
23
|
+
* the consumer publishes one.
|
|
24
|
+
*
|
|
25
|
+
* The same shape `Team01` takes for a person, repeated rather than imported for
|
|
26
|
+
* the reason that file gives: a Block that is not a card grid is not a place a
|
|
27
|
+
* person's identity belongs, and a caller drawing a person in a project header and
|
|
28
|
+
* the same person on a team page is better served by one field name than by a type
|
|
29
|
+
* exported from whichever Block they found first.
|
|
30
|
+
*/
|
|
31
|
+
export type Project01Owner = {
|
|
32
|
+
/** The person's own name, as they publish it. */
|
|
33
|
+
name: string;
|
|
34
|
+
/**
|
|
35
|
+
* The portrait, with the name the initials come from.
|
|
36
|
+
*
|
|
37
|
+
* A name rather than a string, because an `Avatar` with no fallback is an empty
|
|
38
|
+
* circle for exactly as long as the image takes to arrive and forever if it
|
|
39
|
+
* never does.
|
|
40
|
+
*/
|
|
41
|
+
avatar?: {
|
|
42
|
+
/** The photograph. Omit it, or pass a URL that fails, for the initials. */
|
|
43
|
+
src?: string;
|
|
44
|
+
/** The person's name, which is the initials' source. */
|
|
45
|
+
name: string;
|
|
46
|
+
};
|
|
47
|
+
/** Where the person goes. Rendered as a native anchor, so the destination is real. */
|
|
48
|
+
href?: string;
|
|
49
|
+
/**
|
|
50
|
+
* The words on that link, and required whenever `href` is set.
|
|
51
|
+
*
|
|
52
|
+
* A link whose only words are a person's name tells a reader nothing about what
|
|
53
|
+
* activating it will do, which is the same defect `Contact01` refuses. The
|
|
54
|
+
* sentence saying that following the link is a thing you can do belongs to the
|
|
55
|
+
* caller, because the destination is theirs.
|
|
56
|
+
*/
|
|
57
|
+
hrefLabel?: string;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* One figure about the project: what it measures, what it reads, and the change
|
|
61
|
+
* against the last reading.
|
|
62
|
+
*
|
|
63
|
+
* `value` is a node and not a number, for the reason `MetricProps.value` gives: a
|
|
64
|
+
* caller's figure is very often a value it formatted itself, with its own grouped
|
|
65
|
+
* thousands, its own currency and its own unit, and a `number` here would push
|
|
66
|
+
* that formatting onto every call site twice.
|
|
67
|
+
*/
|
|
68
|
+
export type Project01Figure = {
|
|
69
|
+
/** What the figure measures, read under it. */
|
|
70
|
+
label: string;
|
|
71
|
+
/** The figure itself, already formatted by the caller. */
|
|
72
|
+
value: ReactNode;
|
|
73
|
+
/**
|
|
74
|
+
* The change against the previous reading, as a number whose sign is the
|
|
75
|
+
* direction. See `MetricDelta` on the Component.
|
|
76
|
+
*/
|
|
77
|
+
delta?: number;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* One stage of the project: what it is called, when it happened or is due, and
|
|
81
|
+
* where it stands.
|
|
82
|
+
*
|
|
83
|
+
* `name` is the anchor and it is what the rail is scanned for, so it is kept to
|
|
84
|
+
* the words a reader would use in conversation. The moment and the state are
|
|
85
|
+
* separate fields because they are separate facts, and a stage that has a date and
|
|
86
|
+
* no state is a real one.
|
|
87
|
+
*/
|
|
88
|
+
export type Project01Stage = {
|
|
89
|
+
/** A stable key for the stage. */
|
|
90
|
+
id: string;
|
|
91
|
+
/** What the stage is called, in the caller's own words. */
|
|
92
|
+
name: string;
|
|
93
|
+
/**
|
|
94
|
+
* When the stage happened, or is due.
|
|
95
|
+
*
|
|
96
|
+
* Epoch milliseconds, a `Date`, or a string the platform parses, and Prism
|
|
97
|
+
* hands it to `RelativeTime` untouched, so the reading a reader sees is the
|
|
98
|
+
* platform's in their own locale. See the Block JSDoc for why this Block
|
|
99
|
+
* formats nothing and takes the sentence from the caller instead.
|
|
100
|
+
*/
|
|
101
|
+
at?: number | string;
|
|
102
|
+
/**
|
|
103
|
+
* Where the stage stands.
|
|
104
|
+
*
|
|
105
|
+
* `done` is behind the reader, `current` is where they are, and `upcoming` is
|
|
106
|
+
* ahead. A stage's state is a position in a sequence rather than a judgement
|
|
107
|
+
* about the project, which is why this list is three and `ProjectState` is five:
|
|
108
|
+
* a project can be blocked, and a stage in a sequence cannot, because a blocked
|
|
109
|
+
* stage is a fact about the project and belongs in its state.
|
|
110
|
+
*/
|
|
111
|
+
state: 'done' | 'current' | 'upcoming';
|
|
112
|
+
/**
|
|
113
|
+
* The words for that state, in the product's own vocabulary.
|
|
114
|
+
*
|
|
115
|
+
* Required whenever a stage carries a state, and every stage does, so the run
|
|
116
|
+
* throws without it. The mark `Steps` draws is a shape, and a shape is not a
|
|
117
|
+
* sentence a reader can act on: "Shipped", "In review", "Signed off" and
|
|
118
|
+
* "Delivered" are the same position in four products' words.
|
|
119
|
+
*/
|
|
120
|
+
stateLabel?: string;
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* The props a Project01 takes, and the one conditional pair among them.
|
|
124
|
+
*
|
|
125
|
+
* Every string and every number is a prop and the Block ships none: no project, no
|
|
126
|
+
* state, no stage, no figure, no date and not one word of the sentence that says
|
|
127
|
+
* where a project is. The absence of the project itself is the sharpest version
|
|
128
|
+
* of the rule, because a project header drawn with a name in it is the single
|
|
129
|
+
* easiest thing in this package to write by accident and the single most likely
|
|
130
|
+
* to be somebody else's project.
|
|
131
|
+
*
|
|
132
|
+
* `progress` and `progressLabel` are a union rather than two optionals, and the
|
|
133
|
+
* reason is the one the authoring contract states: a prop that is required in one
|
|
134
|
+
* shape and forbidden in another cannot be an optional. The bar's own value is a
|
|
135
|
+
* number and a number is not a sentence, so the words beside it are the caller's,
|
|
136
|
+
* and a caller who has a fill and no words for it has a bar that announces a bare
|
|
137
|
+
* figure meaning whatever the reader assumes it is a percentage of.
|
|
138
|
+
*/
|
|
139
|
+
export type Project01Props = {
|
|
140
|
+
/**
|
|
141
|
+
* The project's own name.
|
|
142
|
+
*
|
|
143
|
+
* Required, and it is the section heading rather than a field inside the
|
|
144
|
+
* surface, because a project detail whose name is a line of body text has
|
|
145
|
+
* already lost the outline: a reader navigating by heading would meet the
|
|
146
|
+
* section and then nothing until the fields.
|
|
147
|
+
*/
|
|
148
|
+
name: string;
|
|
149
|
+
/** One or two sentences about what this project is, under the name. */
|
|
150
|
+
summary?: ReactNode;
|
|
151
|
+
/** Where the project stands. See `ProjectState`. */
|
|
152
|
+
state: ProjectState;
|
|
153
|
+
/**
|
|
154
|
+
* The words for that state, in the product's own vocabulary.
|
|
155
|
+
*
|
|
156
|
+
* Required and not derived from `state`, for the reason `ProjectState` gives:
|
|
157
|
+
* the state is a colour and the words are a claim, and four products use eleven
|
|
158
|
+
* words for five positions between them.
|
|
159
|
+
*/
|
|
160
|
+
stateLabel: (state: ProjectState) => string;
|
|
161
|
+
/** Who owns it. Omit it for a project nobody owns, which is a real state. */
|
|
162
|
+
owner?: Project01Owner;
|
|
163
|
+
/** When the project opened. Handed to `RelativeTime` untouched. */
|
|
164
|
+
startsAt?: number | string;
|
|
165
|
+
/** When it is due to close. Handed to `RelativeTime` untouched. */
|
|
166
|
+
endsAt?: number | string;
|
|
167
|
+
/**
|
|
168
|
+
* The sentence for a moment in the span, given the moment.
|
|
169
|
+
*
|
|
170
|
+
* Optional, and its absence is a legitimate state rather than a gap: a project
|
|
171
|
+
* with a start and no end is an open project, and a project whose reader wants
|
|
172
|
+
* no relative words at all is a printed report. When it is given, it is the
|
|
173
|
+
* caller's words beside the platform's absolute reading, which is the one
|
|
174
|
+
* arrangement in this package where a date is neither formatted nor left bare.
|
|
175
|
+
*/
|
|
176
|
+
dateLabel?: (value: number | string) => string;
|
|
177
|
+
/** The figures, in the order a reader should meet them. */
|
|
178
|
+
figures?: Project01Figure[];
|
|
179
|
+
/**
|
|
180
|
+
* The stages, in the order the project runs them.
|
|
181
|
+
*
|
|
182
|
+
* Order is the caller's because it is a claim about a sequence, and the rail
|
|
183
|
+
* this Block composes says "steps" to every reader and to every crawler, so a
|
|
184
|
+
* list in an order the project does not have is a wrong diagram rather than a
|
|
185
|
+
* layout problem.
|
|
186
|
+
*/
|
|
187
|
+
stages?: Project01Stage[];
|
|
188
|
+
/**
|
|
189
|
+
* The controls that act on the project as a whole: pause, archive, cancel, open
|
|
190
|
+
* it somewhere.
|
|
191
|
+
*
|
|
192
|
+
* A slot and not a set of named buttons, because which controls a project has is
|
|
193
|
+
* the caller's fact: an estate that can archive a project and a pipeline that
|
|
194
|
+
* can cancel one share a header and nothing else. A Block that drew a pause
|
|
195
|
+
* control would hand every consumer a permission its product may not grant.
|
|
196
|
+
*/
|
|
197
|
+
actions?: ReactNode;
|
|
198
|
+
/**
|
|
199
|
+
* Whether the facts sit in an aside beside the body or above it.
|
|
200
|
+
*
|
|
201
|
+
* `stacked` is the default because a project detail is read top to bottom, and
|
|
202
|
+
* the facts above the fold are the two a reader checks first. `split` puts the
|
|
203
|
+
* state, the owner, the span and the controls in a narrow column at the leading
|
|
204
|
+
* edge and gives the figures and the stages the width, which is right on a wide
|
|
205
|
+
* page where the reader is comparing this project against another one in the same
|
|
206
|
+
* session, and wrong on a phone where the main column would be at half the
|
|
207
|
+
* reading measure.
|
|
208
|
+
*
|
|
209
|
+
* The two facts and the controls are in one place in both arrangements, so a
|
|
210
|
+
* caller who switches `layout` does not move a single control: what changes is
|
|
211
|
+
* the column they sit in and nothing else.
|
|
212
|
+
*
|
|
213
|
+
* There is no third arrangement that changes Prism's drawing rather than this
|
|
214
|
+
* Block's spacing, because `className` is layout only.
|
|
215
|
+
*/
|
|
216
|
+
layout?: 'stacked' | 'split';
|
|
217
|
+
/** Heading level for the section heading. See `HeadingLevel`. */
|
|
218
|
+
headingLevel?: HeadingLevel;
|
|
219
|
+
/** Layout only, exactly as on every Block. Changing a Prism-owned visual
|
|
220
|
+
* property from here is prohibited. */
|
|
221
|
+
className?: string;
|
|
222
|
+
} & ({
|
|
223
|
+
/**
|
|
224
|
+
* How far along the project is, on `Progress`'s own scale of 0 to 100.
|
|
225
|
+
*
|
|
226
|
+
* Omit it for a project that is not measured, and the Block draws no bar
|
|
227
|
+
* rather than a bar at zero, because a bar at zero is a claim that nothing
|
|
228
|
+
* has happened and a planning project is a thing that has not started.
|
|
229
|
+
*/
|
|
230
|
+
progress: number;
|
|
231
|
+
/**
|
|
232
|
+
* The sentence the bar announces, given the value and the project's name.
|
|
233
|
+
*
|
|
234
|
+
* Required, and a function rather than a template for the reason
|
|
235
|
+
* `RelativeTime` gives in full: a bar is a percentage of something this
|
|
236
|
+
* Block cannot see, and forty per cent of a migration is not the same fact
|
|
237
|
+
* as forty per cent of a rollout. The name is in the argument because a
|
|
238
|
+
* project with two bars on one page is a page a reader has to be told which
|
|
239
|
+
* bar is which, and this is the cheap half of the answer: the caller has
|
|
240
|
+
* both names and this one has been passed.
|
|
241
|
+
*/
|
|
242
|
+
progressLabel: (value: number, project: string) => string;
|
|
243
|
+
} | {
|
|
244
|
+
/** No fill, so no sentence is owed and none is accepted. */
|
|
245
|
+
progress?: never;
|
|
246
|
+
progressLabel?: never;
|
|
247
|
+
});
|
|
248
|
+
/**
|
|
249
|
+
* A project in full: its name, where it stands, who owns it, when it runs, how far
|
|
250
|
+
* along it is, what it reads, and the stages it is on.
|
|
251
|
+
*
|
|
252
|
+
* **The reader here is looking for one project, so everything in this Block is
|
|
253
|
+
* scannable and the two things a reader reaches for are a state and an owner.**
|
|
254
|
+
* That is the fact the whole arrangement is built on, and it is why the state and
|
|
255
|
+
* the owner sit on the first line under the name rather than in a field list at
|
|
256
|
+
* the bottom: a reader who has opened a project to find out whether it is stuck
|
|
257
|
+
* has two questions, and neither of them is a figure. Scanability and keyboard
|
|
258
|
+
* reach outrank expression at this tier, and a state nobody can find in a glance
|
|
259
|
+
* is a state this Block has failed to ship whatever else it got right.
|
|
260
|
+
*
|
|
261
|
+
* **The state is `Status` and the figures are `Metric`, and neither was redrawn.**
|
|
262
|
+
* `Status` is a dot in one of five tones beside the caller's own words, and it
|
|
263
|
+
* owns the arrangement that matters here: the dot is `aria-hidden` and the words
|
|
264
|
+
* carry the state, so a reader who cannot separate `warning` from `destructive`
|
|
265
|
+
* still reads which is which, and a state is never colour alone. A hand-drawn dot
|
|
266
|
+
* beside a word in this Block would be a second implementation of that Component
|
|
267
|
+
* and the second one is the one that gets the `aria-hidden` wrong. `Metric` owns
|
|
268
|
+
* the arrangement a headline figure is read in, which puts the figure first and
|
|
269
|
+
* the name under it, and it owns the fact that a string figure is set in the mono
|
|
270
|
+
* face while a composed one is not. The one thing it cannot do is print a delta it
|
|
271
|
+
* has no unit for, and the cost of that is stated on `Project01Figure`.
|
|
272
|
+
*
|
|
273
|
+
* **The fill is `Progress` with `valueText`, and the reason is the seam rather
|
|
274
|
+
* than the bar.** A hand-drawn filled bar is a div with a width on it, and a div
|
|
275
|
+
* with a width is a picture of a value that no screen reader, no crawler and no
|
|
276
|
+
* print stylesheet can read, which is the exact failure `Progress` exists to close
|
|
277
|
+
* because it exposes the value, the minimum and the maximum through ARIA. The
|
|
278
|
+
* second half is why the words travel as a string: this Block is a server
|
|
279
|
+
* Component and `Progress` is a client one, so a callback handed down from here is
|
|
280
|
+
* a build error rather than a warning, and `Progress` therefore publishes
|
|
281
|
+
* `valueText` for exactly this case. The cost of composing it is real and is named
|
|
282
|
+
* here: `Progress` is a client Component, so a project with a fill is a client
|
|
283
|
+
* island and a caller with forty projects on one page is paying for forty. The
|
|
284
|
+
* answer is to leave `progress` off the projects that are not measured.
|
|
285
|
+
*
|
|
286
|
+
* **The stage list is `Steps`, because the rail is a Component and the three
|
|
287
|
+
* marks are already right.** The alternative was a hand-drawn list of discs and
|
|
288
|
+
* rules, and it is a second implementation of three things `Steps` has already
|
|
289
|
+
* settled: that the states differ by shape before they differ by colour, so a
|
|
290
|
+
* reader who cannot separate a filled disc from a ring is not being told two
|
|
291
|
+
* different things about two different stages; that exactly one step carries
|
|
292
|
+
* `aria-current`, because two current steps is a rail with two answers to where
|
|
293
|
+
* the reader is; and that the rule between the steps carries how far along they
|
|
294
|
+
* are, rather than a bar per step restating "done" once per stage and leaving the
|
|
295
|
+
* arithmetic to the reader. The cost is stated rather than hidden, and it is the
|
|
296
|
+
* rail's own limitation rather than this Block's: `Steps`'s qualifier is a string,
|
|
297
|
+
* and a stage's moment is a node, so the rail cannot hold a date. The moments are
|
|
298
|
+
* drawn beneath it as the definition list they are, and a caller whose stages are
|
|
299
|
+
* mostly dates wants `MilestoneTimeline01`, which is the Block built for a dated
|
|
300
|
+
* sequence.
|
|
301
|
+
*
|
|
302
|
+
* **The dates are the caller's and the sentence is the caller's, and this is the
|
|
303
|
+
* same rule the rest of this roster keeps arriving at from three directions.** The
|
|
304
|
+
* moments are passed to `RelativeTime` untouched, so the absolute reading a reader
|
|
305
|
+
* sees is the platform's own in the language they have, and `dateLabel` supplies
|
|
306
|
+
* the sentence beside it, which is the one string in the pair that is English by
|
|
307
|
+
* nature: it has a plural, it changes shape past a day, and every language words
|
|
308
|
+
* it differently. A Block that formatted the moment instead would ship one
|
|
309
|
+
* locale's format into every consumer's project, and a Block that wrote the
|
|
310
|
+
* sentence would ship English. The honest cost is a small one and it is named
|
|
311
|
+
* here: `dateLabel` is given the moment and not the role, so it cannot say whether
|
|
312
|
+
* a reading is the start of the span or the end of it, and the order is what
|
|
313
|
+
* carries that. A caller whose product names its two ends differently composes the
|
|
314
|
+
* two readings themselves, which is the same amount of work and one more prop.
|
|
315
|
+
*
|
|
316
|
+
* **It is a server Component.** No hook, no state, no client code of its own and
|
|
317
|
+
* no router. The only client code it can pull in is one `Progress` island on the
|
|
318
|
+
* project that asks for a fill, and the portrait is `Avatar`, whose only client
|
|
319
|
+
* work is measuring whether an image has loaded.
|
|
320
|
+
*/
|
|
321
|
+
export declare function Project01({ name, summary, state, stateLabel, owner, startsAt, endsAt, dateLabel, figures, stages, actions, progress, progressLabel, layout, headingLevel, className, }: Project01Props): import("react").JSX.Element;
|
|
322
|
+
export default Project01;
|
|
323
|
+
//# sourceMappingURL=project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/blocks/project-01/project.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAOtC,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAKxF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAA;AA+BtF;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;OAMG;IACH,MAAM,CAAC,EAAE;QACP,2EAA2E;QAC3E,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,wDAAwD;QACxD,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAA;IACb,0DAA0D;IAC1D,KAAK,EAAE,SAAS,CAAA;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;OAOG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;IACtC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAkBD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,uEAAuE;IACvE,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,oDAAoD;IACpD,KAAK,EAAE,YAAY,CAAA;IACnB;;;;;;OAMG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAA;IAC3C,6EAA6E;IAC7E,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;IAC9C,2DAA2D;IAC3D,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;IAC3B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,cAAc,EAAE,CAAA;IACzB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAC5B,iEAAiE;IACjE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;2CACuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,CACA;IACE;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;;;;;;OAUG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAA;CAC1D,GACD;IACE,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,aAAa,CAAC,EAAE,KAAK,CAAA;CACtB,CACJ,CAAA;AA4CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,OAAO,EACP,KAAK,EACL,UAAU,EACV,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,OAAO,EACP,MAAM,EACN,OAAO,EACP,QAAQ,EACR,aAAa,EACb,MAAkB,EAClB,YAAmB,EACnB,SAAS,GACV,EAAE,cAAc,+BA8NhB;AAED,eAAe,SAAS,CAAA"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Avatar, AvatarFallback, AvatarImage } from '../../components/ui/avatar.js';
|
|
3
|
+
import { CtaLink } from '../../components/ui/cta-link.js';
|
|
4
|
+
import { Metric } from '../../components/ui/metric.js';
|
|
5
|
+
import { Progress } from '../../components/ui/progress.js';
|
|
6
|
+
import { RelativeTime } from '../../components/ui/relative-time.js';
|
|
7
|
+
import { Section, SectionHeading } from '../../components/ui/section.js';
|
|
8
|
+
import { Status } from '../../components/ui/status.js';
|
|
9
|
+
import { Steps } from '../../components/ui/steps.js';
|
|
10
|
+
import { cn } from '../../lib/utils.js';
|
|
11
|
+
/**
|
|
12
|
+
* The tone each state is drawn in, from the semantic contract and no other.
|
|
13
|
+
*
|
|
14
|
+
* Two of the five share a role and the sharing is deliberate rather than lazy.
|
|
15
|
+
* `active` and `complete` are both `success`, because a project that is running
|
|
16
|
+
* and a project that finished are the two states a reader is glad to see, and the
|
|
17
|
+
* words beside the dot are what tell them apart, which is the arrangement the
|
|
18
|
+
* whole tier rests on: colour is never the only channel. `planning` is `info`,
|
|
19
|
+
* the contract's cool role that means not an alarm, because work being shaped is
|
|
20
|
+
* not a fault. `archived` is `neutral`, because a project nobody is working on is
|
|
21
|
+
* not in dispute and must not be drawn as though it were.
|
|
22
|
+
*
|
|
23
|
+
* `blocked` is `warning` and not `destructive`, for the reason `FieldMap01` gives
|
|
24
|
+
* for an unmapped field: an unmapped field is a thing to do rather than a
|
|
25
|
+
* breakage, and a table of thirty projects where four are amber is a table with
|
|
26
|
+
* four tasks in it, while the same four in red reads as four incidents and sends
|
|
27
|
+
* a reader looking for a failure that is not happening. The cost is named here
|
|
28
|
+
* because it is real: a blocked project is a genuine problem, and this tone says
|
|
29
|
+
* "attend to it" rather than "something is broken". A caller whose product treats
|
|
30
|
+
* a block as a failure has no seam here, and the answer is `summary`.
|
|
31
|
+
*/
|
|
32
|
+
const STATE_TONE = {
|
|
33
|
+
planning: 'info',
|
|
34
|
+
active: 'success',
|
|
35
|
+
blocked: 'warning',
|
|
36
|
+
complete: 'success',
|
|
37
|
+
archived: 'neutral',
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* The state a stage's mark is drawn from.
|
|
41
|
+
*
|
|
42
|
+
* Three entries for three positions. `done` becomes `complete` because that is
|
|
43
|
+
* the word `Steps` uses for a stage behind the reader, and the two vocabularies
|
|
44
|
+
* differ only there. A map rather than a lookup at the call site because the
|
|
45
|
+
* translation is a fact about the Component and not about the data, and a Block
|
|
46
|
+
* that spelled `complete` in five places would be five chances to spell it once
|
|
47
|
+
* wrong.
|
|
48
|
+
*/
|
|
49
|
+
const RAIL_STATE = {
|
|
50
|
+
done: 'complete',
|
|
51
|
+
current: 'current',
|
|
52
|
+
upcoming: 'upcoming',
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* The initials a name produces, and the rule that produces them.
|
|
56
|
+
*
|
|
57
|
+
* Two letters from the first and last words, and the first two characters of a
|
|
58
|
+
* single word. It is the same rule `AvatarGroup` and `Team01` apply and it is
|
|
59
|
+
* repeated here for the reason `Team01` states in full: that helper is private to
|
|
60
|
+
* its module and exporting it would make a private derivation part of the
|
|
61
|
+
* published surface of a Component in order to save six lines in a Block. The cost
|
|
62
|
+
* of the repetition is named rather than hidden, because three modules now carry
|
|
63
|
+
* this rule and a change to it is a change in three. A caller who needs a case it
|
|
64
|
+
* does not cover passes their own node through the `avatar` slot's `name` and a
|
|
65
|
+
* monogram of their own choosing.
|
|
66
|
+
*/
|
|
67
|
+
function initialsOf(name) {
|
|
68
|
+
const words = name.trim().split(/\s+/).filter(Boolean);
|
|
69
|
+
const first = words[0];
|
|
70
|
+
if (first === undefined)
|
|
71
|
+
return '';
|
|
72
|
+
if (words.length === 1)
|
|
73
|
+
return first.slice(0, 2).toUpperCase();
|
|
74
|
+
return `${first.charAt(0)}${words[words.length - 1].charAt(0)}`.toUpperCase();
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* The stage the rail is on, and the reason this Block picks it rather than asking.
|
|
78
|
+
*
|
|
79
|
+
* `Steps` requires exactly one current step and throws without one, and a
|
|
80
|
+
* project's stage list is a place where that is genuinely absent: a project whose
|
|
81
|
+
* stages are all done has no current stage, and a project nobody has started has
|
|
82
|
+
* one that is not declared. So the rail's position is derived when the caller has
|
|
83
|
+
* not declared it: the first stage that has not been done, and the last stage
|
|
84
|
+
* when everything is done, which is the only position a finished rail can hold.
|
|
85
|
+
*
|
|
86
|
+
* The caller who has declared one gets it, and the caller who has declared two is
|
|
87
|
+
* a caller whose data contradicts itself, which the guard above refuses rather
|
|
88
|
+
* than a position this Block guesses at.
|
|
89
|
+
*/
|
|
90
|
+
function railCurrent(stages) {
|
|
91
|
+
const declared = stages.findIndex((stage) => stage.state === 'current');
|
|
92
|
+
if (declared !== -1)
|
|
93
|
+
return declared;
|
|
94
|
+
const firstOpen = stages.findIndex((stage) => stage.state === 'upcoming');
|
|
95
|
+
return firstOpen === -1 ? stages.length - 1 : firstOpen;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* A project in full: its name, where it stands, who owns it, when it runs, how far
|
|
99
|
+
* along it is, what it reads, and the stages it is on.
|
|
100
|
+
*
|
|
101
|
+
* **The reader here is looking for one project, so everything in this Block is
|
|
102
|
+
* scannable and the two things a reader reaches for are a state and an owner.**
|
|
103
|
+
* That is the fact the whole arrangement is built on, and it is why the state and
|
|
104
|
+
* the owner sit on the first line under the name rather than in a field list at
|
|
105
|
+
* the bottom: a reader who has opened a project to find out whether it is stuck
|
|
106
|
+
* has two questions, and neither of them is a figure. Scanability and keyboard
|
|
107
|
+
* reach outrank expression at this tier, and a state nobody can find in a glance
|
|
108
|
+
* is a state this Block has failed to ship whatever else it got right.
|
|
109
|
+
*
|
|
110
|
+
* **The state is `Status` and the figures are `Metric`, and neither was redrawn.**
|
|
111
|
+
* `Status` is a dot in one of five tones beside the caller's own words, and it
|
|
112
|
+
* owns the arrangement that matters here: the dot is `aria-hidden` and the words
|
|
113
|
+
* carry the state, so a reader who cannot separate `warning` from `destructive`
|
|
114
|
+
* still reads which is which, and a state is never colour alone. A hand-drawn dot
|
|
115
|
+
* beside a word in this Block would be a second implementation of that Component
|
|
116
|
+
* and the second one is the one that gets the `aria-hidden` wrong. `Metric` owns
|
|
117
|
+
* the arrangement a headline figure is read in, which puts the figure first and
|
|
118
|
+
* the name under it, and it owns the fact that a string figure is set in the mono
|
|
119
|
+
* face while a composed one is not. The one thing it cannot do is print a delta it
|
|
120
|
+
* has no unit for, and the cost of that is stated on `Project01Figure`.
|
|
121
|
+
*
|
|
122
|
+
* **The fill is `Progress` with `valueText`, and the reason is the seam rather
|
|
123
|
+
* than the bar.** A hand-drawn filled bar is a div with a width on it, and a div
|
|
124
|
+
* with a width is a picture of a value that no screen reader, no crawler and no
|
|
125
|
+
* print stylesheet can read, which is the exact failure `Progress` exists to close
|
|
126
|
+
* because it exposes the value, the minimum and the maximum through ARIA. The
|
|
127
|
+
* second half is why the words travel as a string: this Block is a server
|
|
128
|
+
* Component and `Progress` is a client one, so a callback handed down from here is
|
|
129
|
+
* a build error rather than a warning, and `Progress` therefore publishes
|
|
130
|
+
* `valueText` for exactly this case. The cost of composing it is real and is named
|
|
131
|
+
* here: `Progress` is a client Component, so a project with a fill is a client
|
|
132
|
+
* island and a caller with forty projects on one page is paying for forty. The
|
|
133
|
+
* answer is to leave `progress` off the projects that are not measured.
|
|
134
|
+
*
|
|
135
|
+
* **The stage list is `Steps`, because the rail is a Component and the three
|
|
136
|
+
* marks are already right.** The alternative was a hand-drawn list of discs and
|
|
137
|
+
* rules, and it is a second implementation of three things `Steps` has already
|
|
138
|
+
* settled: that the states differ by shape before they differ by colour, so a
|
|
139
|
+
* reader who cannot separate a filled disc from a ring is not being told two
|
|
140
|
+
* different things about two different stages; that exactly one step carries
|
|
141
|
+
* `aria-current`, because two current steps is a rail with two answers to where
|
|
142
|
+
* the reader is; and that the rule between the steps carries how far along they
|
|
143
|
+
* are, rather than a bar per step restating "done" once per stage and leaving the
|
|
144
|
+
* arithmetic to the reader. The cost is stated rather than hidden, and it is the
|
|
145
|
+
* rail's own limitation rather than this Block's: `Steps`'s qualifier is a string,
|
|
146
|
+
* and a stage's moment is a node, so the rail cannot hold a date. The moments are
|
|
147
|
+
* drawn beneath it as the definition list they are, and a caller whose stages are
|
|
148
|
+
* mostly dates wants `MilestoneTimeline01`, which is the Block built for a dated
|
|
149
|
+
* sequence.
|
|
150
|
+
*
|
|
151
|
+
* **The dates are the caller's and the sentence is the caller's, and this is the
|
|
152
|
+
* same rule the rest of this roster keeps arriving at from three directions.** The
|
|
153
|
+
* moments are passed to `RelativeTime` untouched, so the absolute reading a reader
|
|
154
|
+
* sees is the platform's own in the language they have, and `dateLabel` supplies
|
|
155
|
+
* the sentence beside it, which is the one string in the pair that is English by
|
|
156
|
+
* nature: it has a plural, it changes shape past a day, and every language words
|
|
157
|
+
* it differently. A Block that formatted the moment instead would ship one
|
|
158
|
+
* locale's format into every consumer's project, and a Block that wrote the
|
|
159
|
+
* sentence would ship English. The honest cost is a small one and it is named
|
|
160
|
+
* here: `dateLabel` is given the moment and not the role, so it cannot say whether
|
|
161
|
+
* a reading is the start of the span or the end of it, and the order is what
|
|
162
|
+
* carries that. A caller whose product names its two ends differently composes the
|
|
163
|
+
* two readings themselves, which is the same amount of work and one more prop.
|
|
164
|
+
*
|
|
165
|
+
* **It is a server Component.** No hook, no state, no client code of its own and
|
|
166
|
+
* no router. The only client code it can pull in is one `Progress` island on the
|
|
167
|
+
* project that asks for a fill, and the portrait is `Avatar`, whose only client
|
|
168
|
+
* work is measuring whether an image has loaded.
|
|
169
|
+
*/
|
|
170
|
+
export function Project01({ name, summary, state, stateLabel, owner, startsAt, endsAt, dateLabel, figures, stages, actions, progress, progressLabel, layout = 'stacked', headingLevel = 'h2', className, }) {
|
|
171
|
+
/*
|
|
172
|
+
* The announced sentence for the bar, bound once after the guard below.
|
|
173
|
+
*
|
|
174
|
+
* The union above is what makes the pair complete, so by the time anything
|
|
175
|
+
* renders the function is there. The type cannot see that, because the check is
|
|
176
|
+
* on one arm of a union and the use is inside a ternary over `progress`, so a
|
|
177
|
+
* closure is bound here and the render reads one name. `labelProgress` never
|
|
178
|
+
* returns an empty string: the guard has already refused that case, and a second
|
|
179
|
+
* refusal inside the render would be the same diagnostic twice.
|
|
180
|
+
*/
|
|
181
|
+
const labelProgress = (value) => {
|
|
182
|
+
if (progressLabel === undefined) {
|
|
183
|
+
throw new Error('Project01: reached the bar with no progressLabel, which the union above should have made ' +
|
|
184
|
+
'impossible. The two are separate so that the diagnostic names the prop rather than the render.');
|
|
185
|
+
}
|
|
186
|
+
return progressLabel(value, name);
|
|
187
|
+
};
|
|
188
|
+
if (owner !== undefined && owner.href !== undefined && !owner.hrefLabel) {
|
|
189
|
+
throw new Error(`Project01: the owner of "${name}" declares an href with no hrefLabel, so the link would be ` +
|
|
190
|
+
'announced by its destination alone. A person\'s name is a name, and the sentence saying that ' +
|
|
191
|
+
'following the link is a thing you can do belongs to the caller.');
|
|
192
|
+
}
|
|
193
|
+
const currents = stages?.filter((stage) => stage.state === 'current').length ?? 0;
|
|
194
|
+
if (currents > 1) {
|
|
195
|
+
throw new Error(`Project01: the stages of "${name}" declare ${currents} current stages, and a rail has one ` +
|
|
196
|
+
'position. Two current stages is a reader told they are in two places at once. Declare one, or ' +
|
|
197
|
+
'leave the state to the order.');
|
|
198
|
+
}
|
|
199
|
+
for (const stage of stages ?? []) {
|
|
200
|
+
if (!stage.stateLabel) {
|
|
201
|
+
throw new Error(`Project01: the stage "${stage.id}" declares a state and no stateLabel, so the mark beside it ` +
|
|
202
|
+
'would be a shape with no sentence, and a shape a reader can only see is a state nobody can act ' +
|
|
203
|
+
'on. Pass the words your readers use for that position.');
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
const rail = (stages ?? []).map((stage) => ({
|
|
207
|
+
label: stage.name,
|
|
208
|
+
description: stage.stateLabel,
|
|
209
|
+
// The states are the caller's rather than the rail's whenever the caller
|
|
210
|
+
// declared a position, because a project that reached a stage out of band is
|
|
211
|
+
// real and a rail derived from the order would draw a claim the data
|
|
212
|
+
// contradicts. With no declared position the rail derives every mark, which is
|
|
213
|
+
// the arrangement that cannot disagree with itself.
|
|
214
|
+
...(currents === 1 ? { state: RAIL_STATE[stage.state] } : null),
|
|
215
|
+
}));
|
|
216
|
+
const dated = (stages ?? []).filter((stage) => stage.at !== undefined);
|
|
217
|
+
const hasSpan = startsAt !== undefined || endsAt !== undefined;
|
|
218
|
+
const aside = (_jsxs("div", { "data-slot": "project-01-aside", className: "flex min-w-0 flex-col gap-6", children: [_jsxs("div", { "data-slot": "project-01-facts", className: "flex flex-wrap items-center gap-x-6 gap-y-3", children: [_jsx(Status, { tone: STATE_TONE[state], label: stateLabel(state) }), owner === undefined ? null : (_jsxs("span", { "data-slot": "project-01-owner", className: "flex min-w-0 items-center gap-2", children: [owner.avatar === undefined ? null : (_jsxs(Avatar, { className: "size-6", children: [owner.avatar.src === undefined ? null : (_jsx(AvatarImage, { src: owner.avatar.src, alt: "" })), _jsx(AvatarFallback, { className: "text-mono", children: initialsOf(owner.avatar.name) })] })), owner.href === undefined || owner.hrefLabel === undefined ? (_jsx("span", { "data-slot": "project-01-owner-name", className: "text-sm", children: owner.name })) : (_jsx(CtaLink, { href: owner.href, size: "sm", variant: "ghost", children: owner.hrefLabel }))] })), hasSpan ? (
|
|
219
|
+
/*
|
|
220
|
+
The two ends of the span, in the order the span runs, with no separator
|
|
221
|
+
between them. The gap is the separator and it is deliberate: a dash, a
|
|
222
|
+
comma or a "to" would be a word or a piece of punctuation this Block
|
|
223
|
+
chose, and the caller's `dateLabel` is the only thing on this line
|
|
224
|
+
allowed to say anything. `data-slot` names each end so a test and a
|
|
225
|
+
caller can find one of them, which is what a reader cannot do.
|
|
226
|
+
*/
|
|
227
|
+
_jsxs("span", { "data-slot": "project-01-span", className: "text-muted-foreground flex flex-wrap items-baseline gap-x-3 text-sm", children: [startsAt === undefined ? null : (_jsx(RelativeTime, { "data-slot": "project-01-start", date: startsAt, relative: dateLabel?.(startsAt) })), endsAt === undefined ? null : (_jsx(RelativeTime, { "data-slot": "project-01-end", date: endsAt, relative: dateLabel?.(endsAt) }))] })) : null] }), actions === undefined ? null : (_jsx("div", { "data-slot": "project-01-actions", className: "flex flex-wrap items-center gap-2", children: actions }))] }));
|
|
228
|
+
const body = (_jsxs(_Fragment, { children: [progress === undefined ? null : (_jsx("div", { "data-slot": "project-01-progress", className: "flex flex-col gap-2", children: _jsx(Progress, { value: progress, valueText: labelProgress(progress) }) })), figures === undefined || figures.length === 0 ? null : (_jsx("div", { "data-slot": "project-01-figures", className: "grid gap-6 sm:grid-cols-2 lg:grid-cols-4", children: figures.map((figure) => (_jsx(Metric, { "data-slot": "project-01-figure", value: figure.value, label: figure.label, delta: figure.delta }, figure.label))) })), stages === undefined || stages.length === 0 ? null : (_jsxs("div", { "data-slot": "project-01-stages", className: "flex flex-col gap-6", children: [_jsx(Steps, { steps: rail, current: railCurrent(stages) }), dated.length === 0 ? null : (
|
|
229
|
+
/*
|
|
230
|
+
The moments, which the rail has no room for. See the JSDoc above: a
|
|
231
|
+
`Step`'s qualifier is a string, and a date is a node, so the two ends
|
|
232
|
+
of the same fact cannot both go in the rail. A definition list is the
|
|
233
|
+
honest shape for a set of names and their moments, and it is drawn
|
|
234
|
+
only when there is a moment to draw, because a list of nothing is a
|
|
235
|
+
gap the reader looks through.
|
|
236
|
+
*/
|
|
237
|
+
_jsx("dl", { "data-slot": "project-01-dates", className: "grid gap-x-8 gap-y-2 sm:grid-cols-2", children: dated.map((stage) => (_jsxs("div", { "data-slot": "project-01-date", className: "flex items-baseline gap-3", children: [_jsx("dt", { className: "text-sm font-medium", children: stage.name }), _jsx("dd", { className: "text-muted-foreground text-sm", children: _jsx(RelativeTime, { date: stage.at }) })] }, stage.id))) }))] }))] }));
|
|
238
|
+
return (_jsxs(Section, { "data-slot": "project-01", className: cn(className), children: [_jsx(SectionHeading, { as: headingLevel, align: "left", title: name, description: summary, className: "mb-10" }), _jsx("div", { "data-slot": "project-01-body", "data-layout": layout, className: cn(
|
|
239
|
+
// The two layouts get one display each rather than a base and an
|
|
240
|
+
// override, because `flex` and `grid` are the same property and which
|
|
241
|
+
// one wins is a question about the order of the generated stylesheet
|
|
242
|
+
// rather than about the order of the class names here.
|
|
243
|
+
layout === 'split'
|
|
244
|
+
? 'grid gap-10 lg:grid-cols-[minmax(0,3fr)_minmax(0,2fr)] lg:gap-14'
|
|
245
|
+
: 'flex flex-col gap-10'), children: layout === 'split' ? (_jsxs(_Fragment, { children: [_jsx("div", { "data-slot": "project-01-main", className: "flex min-w-0 flex-col gap-10", children: body }), aside] })) : (_jsxs(_Fragment, { children: [aside, body] })) })] }));
|
|
246
|
+
}
|
|
247
|
+
export default Project01;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blocks/project-dashboard-01/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIjE,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,qBAAqB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ProjectDashboard01, default } from './project-dashboard.js';
|