@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,286 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type HeadingLevel } from '../../components/ui/section.js';
|
|
3
|
+
/**
|
|
4
|
+
* How a task is arranged, and the two questions the choice answers.
|
|
5
|
+
*
|
|
6
|
+
* `list` puts everything about a task under its title, so a task can carry a note
|
|
7
|
+
* and a reading and an owner and still read as one block. `checklist` puts the
|
|
8
|
+
* title on a line of its own and the owner, the moment and the mark at the
|
|
9
|
+
* trailing edge of it, so a reader scanning the left edge of a long list sees
|
|
10
|
+
* titles and a column of names without reading a paragraph to do it.
|
|
11
|
+
*
|
|
12
|
+
* The difference is arrangement and not content. Both draw the same fields and
|
|
13
|
+
* neither drops one, because a variant that hid a field would be a variant that
|
|
14
|
+
* decided which facts matter, and that is a claim about the caller's work rather
|
|
15
|
+
* than a shape. What a checklist costs is the note: it is the piece that goes
|
|
16
|
+
* second when the row runs out of width, so a list of tasks with long notes is a
|
|
17
|
+
* list, and a list of short ones is a checklist.
|
|
18
|
+
*
|
|
19
|
+
* **The type is `Todo01Form` and the prop is `variant`, and the two names
|
|
20
|
+
* differing is the surface gate working rather than a slip.**
|
|
21
|
+
* `check-surface.mjs` refuses to let a public entry export a name ending in
|
|
22
|
+
* `Variant`, because in this package that shape names a cva map: a recipe a
|
|
23
|
+
* consumer could read and compose with. This union is the two arrangements the
|
|
24
|
+
* Block can draw and it is named for the arrangement. The prop keeps the name
|
|
25
|
+
* `variant` because a Component is allowed to take one. `ChartForm` and
|
|
26
|
+
* `ContentGrid01Form` are named the same way for the same reason.
|
|
27
|
+
*/
|
|
28
|
+
export type Todo01Form = 'list' | 'checklist';
|
|
29
|
+
/** One task in a list. */
|
|
30
|
+
export type Todo01Task = {
|
|
31
|
+
/** The task's stable key within the list. */
|
|
32
|
+
id: string;
|
|
33
|
+
/**
|
|
34
|
+
* What the task is, in the words a reader would use about it in conversation.
|
|
35
|
+
*
|
|
36
|
+
* It is also the checkbox's own `<label>`, which is the whole of the keyboard
|
|
37
|
+
* story on this Block: see the Component JSDoc.
|
|
38
|
+
*/
|
|
39
|
+
title: string;
|
|
40
|
+
/**
|
|
41
|
+
* One line about the task, under its title.
|
|
42
|
+
*
|
|
43
|
+
* A node because the honest second line of a task is not always a sentence: it
|
|
44
|
+
* is a link, a quoted line, a code reference, a warning. The Block draws it in
|
|
45
|
+
* the muted ink and never truncates it, because a truncated note on a task is a
|
|
46
|
+
* note the reader has to open the task to read, which is a worse queue than one
|
|
47
|
+
* that says less.
|
|
48
|
+
*/
|
|
49
|
+
note?: ReactNode;
|
|
50
|
+
/** Who has it, in the product's own words. A person, a team, a role. */
|
|
51
|
+
owner?: string;
|
|
52
|
+
/**
|
|
53
|
+
* The owner's picture, when there is one.
|
|
54
|
+
*
|
|
55
|
+
* A `name` is required and the `src` is not, because the name is what the
|
|
56
|
+
* fallback initials are made from and a face with no name beside it identifies
|
|
57
|
+
* nobody. Both are the caller's: a task list that fetched a directory would be a
|
|
58
|
+
* task list that had a data client in it.
|
|
59
|
+
*/
|
|
60
|
+
ownerAvatar?: {
|
|
61
|
+
src?: string;
|
|
62
|
+
name: string;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* When the task is wanted, in whichever of the three forms the caller holds it.
|
|
66
|
+
*
|
|
67
|
+
* Drawn through `relative-time`, so a number arrives as a date in the reader's
|
|
68
|
+
* own locale and a string is handed to the platform untouched. The rejected
|
|
69
|
+
* alternative was drawing the value as passed, which puts a raw epoch on the
|
|
70
|
+
* page for every caller whose data layer holds milliseconds, and a due date
|
|
71
|
+
* printed as an integer is the one field on a task list nobody can act on.
|
|
72
|
+
*/
|
|
73
|
+
due?: number | string | ReactNode;
|
|
74
|
+
/**
|
|
75
|
+
* The caller's own words for the moment, given the moment they passed.
|
|
76
|
+
*
|
|
77
|
+
* Optional, and used only when `due` is a value: it is the relative half, and
|
|
78
|
+
* the absolute half is the platform's, which is the split `relative-time`
|
|
79
|
+
* states at length. A caller who wants both halves in their own voice passes a
|
|
80
|
+
* node as `due` instead, and this is not called.
|
|
81
|
+
*/
|
|
82
|
+
dueLabel?: (due: number | string) => string;
|
|
83
|
+
/** Whether the task is finished. */
|
|
84
|
+
done?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Where the task goes. Its presence makes the title's row carry a link beside
|
|
87
|
+
* the title rather than the title itself, because a task's title is its checkbox
|
|
88
|
+
* label and a link cannot be a label without taking the control away from the
|
|
89
|
+
* reader.
|
|
90
|
+
*/
|
|
91
|
+
href?: string;
|
|
92
|
+
/** The words on that link, and required whenever `href` is. */
|
|
93
|
+
hrefLabel?: string;
|
|
94
|
+
/**
|
|
95
|
+
* Whether the task is blocked, and the words for that.
|
|
96
|
+
*
|
|
97
|
+
* A mark and not a lock, and the reason is worth stating because the obvious
|
|
98
|
+
* arrangement is a disabled checkbox: a control that has stopped asking is a
|
|
99
|
+
* control the reader has stopped reading, and a task somebody unblocked two
|
|
100
|
+
* minutes ago would need the page to re-render before its checkbox came back.
|
|
101
|
+
* The Block marks the row and leaves the control live, and the caller's handler
|
|
102
|
+
* decides what a blocked task may become.
|
|
103
|
+
*/
|
|
104
|
+
blocked?: boolean;
|
|
105
|
+
/** The words for a blocked task, in the product's own vocabulary. */
|
|
106
|
+
blockedLabel?: string;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* The props a Todo01 takes.
|
|
110
|
+
*
|
|
111
|
+
* Every string is a prop and the Block ships none. There is no sample task, no
|
|
112
|
+
* owner, no due reading, no progress sentence and no wording for an empty list,
|
|
113
|
+
* and the absence of the first two is the sharpest version of the rule: a task
|
|
114
|
+
* list is a claim about what a team has agreed to do, and a Block that shipped
|
|
115
|
+
* three of them would be publishing somebody else's commitments.
|
|
116
|
+
*
|
|
117
|
+
* The last two members are a union rather than three independent optional props,
|
|
118
|
+
* for the reason the authoring contract gives: `progressLabel` is required in one
|
|
119
|
+
* shape and forbidden in the other, and an optional prop cannot say that. A
|
|
120
|
+
* caller who turns the bar off must not be left holding a function nothing reads,
|
|
121
|
+
* and a caller who leaves it on must not be able to forget the words.
|
|
122
|
+
*/
|
|
123
|
+
export type Todo01Props = {
|
|
124
|
+
/** Optional label above the section title. See the No-Default-Eyebrow Rule. */
|
|
125
|
+
eyebrow?: string;
|
|
126
|
+
/**
|
|
127
|
+
* The section title.
|
|
128
|
+
*
|
|
129
|
+
* Optional, because a task list is very often composed inside a page that
|
|
130
|
+
* already owns a heading for it, and a Block that insisted on a second one
|
|
131
|
+
* would put two `h2`s in the same place.
|
|
132
|
+
*/
|
|
133
|
+
title?: ReactNode;
|
|
134
|
+
/** One or two sentences under the title. */
|
|
135
|
+
description?: ReactNode;
|
|
136
|
+
/**
|
|
137
|
+
* The tasks, in the order a reader should meet them.
|
|
138
|
+
*
|
|
139
|
+
* Order is the caller's and the Block does not sort. A task list is very often
|
|
140
|
+
* already ordered by the thing that produced it, and a Block that sorted by due
|
|
141
|
+
* date would put an undated task last for no reason the reader can see, which is
|
|
142
|
+
* the failure a hand-rolled list avoids by not sorting at all.
|
|
143
|
+
*/
|
|
144
|
+
tasks: readonly Todo01Task[];
|
|
145
|
+
/**
|
|
146
|
+
* Called with a task's `id` and the state it is being changed to, when the
|
|
147
|
+
* reader ticks or unticks its checkbox.
|
|
148
|
+
*
|
|
149
|
+
* A callback and not state the Block holds, for the reason the whole package
|
|
150
|
+
* holds: a task list is the consumer's data and the consumer is the only one who
|
|
151
|
+
* can persist a change to it. The Block reports the change and re-renders from
|
|
152
|
+
* whatever the caller passes next, so a server-rendered list and a client store
|
|
153
|
+
* drive the same Block. Omit it and the checkboxes render read-only, which is
|
|
154
|
+
* the honest state for a list nobody can change.
|
|
155
|
+
*/
|
|
156
|
+
onToggle?: (id: string, done: boolean) => void;
|
|
157
|
+
/**
|
|
158
|
+
* What the Block renders in place of the list when there are none.
|
|
159
|
+
*
|
|
160
|
+
* Required and a node, for the reason it is required on every Block in this
|
|
161
|
+
* package: an empty task list is a claim, and "nothing to do" is a different
|
|
162
|
+
* claim in a product where the week is quiet and in a product where the query
|
|
163
|
+
* failed.
|
|
164
|
+
*/
|
|
165
|
+
empty: ReactNode;
|
|
166
|
+
/**
|
|
167
|
+
* How a task is arranged. @defaultValue 'list'
|
|
168
|
+
*
|
|
169
|
+
* See `Todo01Form` for what the two questions are and what each costs.
|
|
170
|
+
*/
|
|
171
|
+
variant?: Todo01Form;
|
|
172
|
+
/** Heading level for the section title. @defaultValue 'h2' */
|
|
173
|
+
headingLevel?: HeadingLevel;
|
|
174
|
+
/**
|
|
175
|
+
* Layout only, exactly as on every Block. Changing a Prism-owned visual property
|
|
176
|
+
* from here is prohibited.
|
|
177
|
+
*/
|
|
178
|
+
className?: string;
|
|
179
|
+
} & ({
|
|
180
|
+
/**
|
|
181
|
+
* Whether the aggregate bar is drawn. @defaultValue true
|
|
182
|
+
*
|
|
183
|
+
* On by default, and the default is the decision: a task list whose progress
|
|
184
|
+
* is not visible makes a reader count the ticked rows, and counting is the
|
|
185
|
+
* one thing this Block can do for them for free.
|
|
186
|
+
*/
|
|
187
|
+
showProgress?: true;
|
|
188
|
+
/**
|
|
189
|
+
* The words for the aggregate, given how many are done and how many there
|
|
190
|
+
* * are.
|
|
191
|
+
*
|
|
192
|
+
* Required whenever the bar is drawn, and the reason is the seam rather than
|
|
193
|
+
* the sentence. This Block is a server Component until `onToggle` is passed
|
|
194
|
+
* and a client Component after it, because a handler is a function and a
|
|
195
|
+
* function is a piece of state. `Progress` is a client Component either way.
|
|
196
|
+
* A function prop cannot cross from a server Component into a client one,
|
|
197
|
+
* so `getAriaValueText` is not expressible from half of the callers this
|
|
198
|
+
* Block has, and `valueText` is: the caller composes the words, the Block
|
|
199
|
+
* counts the rows, and the bar announces a string across the boundary. That
|
|
200
|
+
* rule is `Progress`'s own, and it is worth restating in every Block that
|
|
201
|
+
* composes a client Component with a callback, because a caller who reaches
|
|
202
|
+
* for `getAriaValueText` first will not find it.
|
|
203
|
+
*/
|
|
204
|
+
progressLabel: (done: number, total: number) => string;
|
|
205
|
+
} | {
|
|
206
|
+
/** Turn the aggregate bar off, for a list short enough to read as a whole. */
|
|
207
|
+
showProgress: false;
|
|
208
|
+
/** Forbidden with the bar off, because a function nothing reads is a trap. */
|
|
209
|
+
progressLabel?: never;
|
|
210
|
+
});
|
|
211
|
+
/**
|
|
212
|
+
* A task list: a checkbox, a title, a note, an owner, a moment and a link per
|
|
213
|
+
* task, with an aggregate bar and no state of its own.
|
|
214
|
+
*
|
|
215
|
+
* **The checkbox is `checkbox.tsx` and a `div` with an `onClick` is not an
|
|
216
|
+
* alternative, for the reason the Component JSDoc gives and the reason a keyboard
|
|
217
|
+
* reader feels.** `Checkbox` owns its focus ring at full strength, it owns a hit
|
|
218
|
+
* target that grows to 44 pixels on a coarse pointer, and it renders a hidden
|
|
219
|
+
* native input beside itself so the whole thing submits and validates like a
|
|
220
|
+
* checkbox in a form. A `div` with an `onClick` has none of those: it is not in
|
|
221
|
+
* the tab order at all, it cannot be operated with Space, and a screen reader
|
|
222
|
+
* announces a group of text rather than a control that can be changed. On a task
|
|
223
|
+
* list that defect is not a nicety, because ticking a box is the only thing a
|
|
224
|
+
* reader does with a task list, and a list whose every control is unreachable is a
|
|
225
|
+
* list a keyboard user cannot use to do their job.
|
|
226
|
+
*
|
|
227
|
+
* **The title is the checkbox's `<label>`, and that is a decision about the hit
|
|
228
|
+
* target as much as the name.** A bare sixteen pixel control is a control a reader
|
|
229
|
+
* has to aim at, and a task list is a list of things people read on a phone
|
|
230
|
+
* while walking. Labelling the control with the whole title makes the target the
|
|
231
|
+
* width of the task, which is the single cheapest thing this Block does for a
|
|
232
|
+
* coarse pointer, and it makes the accessible name the same text the row shows, so
|
|
233
|
+
* the two cannot drift. The rejected arrangement is an `aria-label` per checkbox,
|
|
234
|
+
* which announces a sentence the reader cannot see on the page.
|
|
235
|
+
*
|
|
236
|
+
* **The aggregate bar is `Progress` with `valueText` and not with
|
|
237
|
+
* `getAriaValueText`, and the reason is the server boundary rather than taste.**
|
|
238
|
+
* This Block is a server Component until `onToggle` is passed and a client
|
|
239
|
+
* Component after it, because a handler is a function, a function is a piece of
|
|
240
|
+
* state, and state is a client module. `Progress` is a client Component either
|
|
241
|
+
* way. A function prop from a server Component into a client Component is a build
|
|
242
|
+
* error rather than a warning, so `getAriaValueText` is not expressible from half
|
|
243
|
+
* of the callers this Block has, and a Block that shipped it would be a Block
|
|
244
|
+
* half its callers cannot render. `valueText` is the form that crosses: the
|
|
245
|
+
* caller composes the words, the Block counts the rows it was given, and the bar
|
|
246
|
+
* announces a string. The rule is worth stating once per Block that composes a
|
|
247
|
+
* client Component with a callback, and this is the place it cost somebody a
|
|
248
|
+
* release.
|
|
249
|
+
*
|
|
250
|
+
* **The words travel as a string and are not drawn a second time.** `valueText`
|
|
251
|
+
* is what the bar announces, and printing the same sentence beside the bar means
|
|
252
|
+
* a screen reader reads it once as the bar's value and once as loose text on the
|
|
253
|
+
* page. A caller who wants the aggregate visible as well as announced passes their
|
|
254
|
+
* own node above the list, which is a sentence they can place, style and
|
|
255
|
+
* translate.
|
|
256
|
+
*
|
|
257
|
+
* **A finished task stays in the list, struck through and muted, and it is still
|
|
258
|
+
* reachable by keyboard.** Both halves of that are the decision. Hiding a finished
|
|
259
|
+
* task makes a list look shorter every time it works, which is a queue that
|
|
260
|
+
* rewards the reader for not checking it, and a completed task a reader cannot
|
|
261
|
+
* find is a task they will redo: the failure mode is not an aesthetic complaint
|
|
262
|
+
* about a strikethrough, it is duplicated work. So the row stays, the checkbox
|
|
263
|
+
* stays focusable and unticked-able, and the two utilities are the whole of the
|
|
264
|
+
* change. The cost is real and worth naming: a long list of finished tasks is a
|
|
265
|
+
* list a reader has to scan past, and the answer is the consumer's own filter,
|
|
266
|
+
* which is the only one who knows whether the reader wanted the history on the
|
|
267
|
+
* page.
|
|
268
|
+
*
|
|
269
|
+
* **Nothing here holds the state, and the checkboxes say so when nobody is
|
|
270
|
+
* listening.** With no `onToggle` the control renders `readOnly` rather than
|
|
271
|
+
* `disabled`, which is a real distinction: a disabled checkbox is skipped by the
|
|
272
|
+
* tab order and announced as unavailable, so a list of them tells a keyboard
|
|
273
|
+
* reader that the whole list is broken, while a read-only one is focusable and
|
|
274
|
+
* announces its state. A list nobody can change is a list someone is reading, and
|
|
275
|
+
* reading is a use.
|
|
276
|
+
*
|
|
277
|
+
* It is a client Component, and the reason is the callback rather than the state,
|
|
278
|
+
* as in every other Block in this wave. `onToggle` is a function, a function is a
|
|
279
|
+
* piece of state, and state is a client module: a server component cannot hand an
|
|
280
|
+
* event handler to a `<button>`, so a caller rendering this from a server
|
|
281
|
+
* component would get a list whose checkboxes do nothing. The rest of the
|
|
282
|
+
* rendering is a list and a bar, which is the price of that and a small one.
|
|
283
|
+
*/
|
|
284
|
+
export declare function Todo01({ eyebrow, title, description, tasks, onToggle, empty, variant, headingLevel, className, showProgress, progressLabel, }: Todo01Props): import("react").JSX.Element;
|
|
285
|
+
export default Todo01;
|
|
286
|
+
//# sourceMappingURL=todo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"todo.d.ts","sourceRoot":"","sources":["../../../src/blocks/todo-01/todo.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAO7C,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAIxF;;;;;;;;;;;;;;;;;;;;;;;;IAwBI;AACJ,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,WAAW,CAAA;AAE7C,0BAA0B;AAC1B,MAAM,MAAM,UAAU,GAAG;IACvB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAA;IACV;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACjC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;IAC3C,oCAAoC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB;;;;;;;OAOG;IACH,KAAK,EAAE,SAAS,UAAU,EAAE,CAAA;IAC5B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC9C;;;;;;;OAOG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,CACA;IACE;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB;;;;;;;;;;;;;;;OAeG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CACvD,GACD;IACE,8EAA8E;IAC9E,YAAY,EAAE,KAAK,CAAA;IACnB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,KAAK,CAAA;CACtB,CACJ,CAAA;AAsCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AACH,wBAAgB,MAAM,CAAC,EACrB,OAAO,EACP,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,KAAK,EACL,OAAgB,EAChB,YAAmB,EACnB,SAAS,EACT,YAAmB,EACnB,aAAa,GACd,EAAE,WAAW,+BAgLb;AAED,eAAe,MAAM,CAAA"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useId } from 'react';
|
|
4
|
+
import { Avatar, AvatarFallback, AvatarImage } from '../../components/ui/avatar.js';
|
|
5
|
+
import { CtaLink } from '../../components/ui/cta-link.js';
|
|
6
|
+
import { Checkbox } from '../../components/ui/checkbox.js';
|
|
7
|
+
import { Progress } from '../../components/ui/progress.js';
|
|
8
|
+
import { RelativeTime } from '../../components/ui/relative-time.js';
|
|
9
|
+
import { Section, SectionHeading } from '../../components/ui/section.js';
|
|
10
|
+
import { Status } from '../../components/ui/status.js';
|
|
11
|
+
import { cn } from '../../lib/utils.js';
|
|
12
|
+
/**
|
|
13
|
+
* The classes the two arrangements give the row, and the classes a finished task
|
|
14
|
+
* gives its own text.
|
|
15
|
+
*
|
|
16
|
+
* A finished task is muted and struck through, and nothing else about it changes.
|
|
17
|
+
* The two utilities are here rather than written on the elements because they are
|
|
18
|
+
* one decision about one state, and three places that each decide it is three
|
|
19
|
+
* places that can disagree about what a finished task looks like.
|
|
20
|
+
*/
|
|
21
|
+
const ROW = {
|
|
22
|
+
list: 'flex flex-col gap-1.5 py-4',
|
|
23
|
+
checklist: 'flex flex-wrap items-baseline gap-x-3 gap-y-1 py-2.5',
|
|
24
|
+
};
|
|
25
|
+
/** The moment half of a row, which is a value, a node, or nothing at all. */
|
|
26
|
+
function dueOf(task) {
|
|
27
|
+
if (task.due === undefined)
|
|
28
|
+
return null;
|
|
29
|
+
if (typeof task.due !== 'string' && typeof task.due !== 'number')
|
|
30
|
+
return task.due;
|
|
31
|
+
return _jsx(RelativeTime, { date: task.due, relative: task.dueLabel?.(task.due) });
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The two-letter mark a face falls back to, from a name the caller already holds.
|
|
35
|
+
*
|
|
36
|
+
* Two letters and not three, because the circle this sits in is sixteen pixels
|
|
37
|
+
* across and a third letter is a mark narrower than the gap between two of them.
|
|
38
|
+
* The name is a caller's data, so this reads it and invents nothing: a name with
|
|
39
|
+
* one word gives that word's first letter, because that is the only letter there
|
|
40
|
+
* is.
|
|
41
|
+
*/
|
|
42
|
+
function initialsOf(name) {
|
|
43
|
+
const parts = name.trim().split(/\s+/).filter(Boolean);
|
|
44
|
+
const letters = parts.slice(0, 2).map((part) => part.charAt(0));
|
|
45
|
+
return letters.join('').toUpperCase();
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* A task list: a checkbox, a title, a note, an owner, a moment and a link per
|
|
49
|
+
* task, with an aggregate bar and no state of its own.
|
|
50
|
+
*
|
|
51
|
+
* **The checkbox is `checkbox.tsx` and a `div` with an `onClick` is not an
|
|
52
|
+
* alternative, for the reason the Component JSDoc gives and the reason a keyboard
|
|
53
|
+
* reader feels.** `Checkbox` owns its focus ring at full strength, it owns a hit
|
|
54
|
+
* target that grows to 44 pixels on a coarse pointer, and it renders a hidden
|
|
55
|
+
* native input beside itself so the whole thing submits and validates like a
|
|
56
|
+
* checkbox in a form. A `div` with an `onClick` has none of those: it is not in
|
|
57
|
+
* the tab order at all, it cannot be operated with Space, and a screen reader
|
|
58
|
+
* announces a group of text rather than a control that can be changed. On a task
|
|
59
|
+
* list that defect is not a nicety, because ticking a box is the only thing a
|
|
60
|
+
* reader does with a task list, and a list whose every control is unreachable is a
|
|
61
|
+
* list a keyboard user cannot use to do their job.
|
|
62
|
+
*
|
|
63
|
+
* **The title is the checkbox's `<label>`, and that is a decision about the hit
|
|
64
|
+
* target as much as the name.** A bare sixteen pixel control is a control a reader
|
|
65
|
+
* has to aim at, and a task list is a list of things people read on a phone
|
|
66
|
+
* while walking. Labelling the control with the whole title makes the target the
|
|
67
|
+
* width of the task, which is the single cheapest thing this Block does for a
|
|
68
|
+
* coarse pointer, and it makes the accessible name the same text the row shows, so
|
|
69
|
+
* the two cannot drift. The rejected arrangement is an `aria-label` per checkbox,
|
|
70
|
+
* which announces a sentence the reader cannot see on the page.
|
|
71
|
+
*
|
|
72
|
+
* **The aggregate bar is `Progress` with `valueText` and not with
|
|
73
|
+
* `getAriaValueText`, and the reason is the server boundary rather than taste.**
|
|
74
|
+
* This Block is a server Component until `onToggle` is passed and a client
|
|
75
|
+
* Component after it, because a handler is a function, a function is a piece of
|
|
76
|
+
* state, and state is a client module. `Progress` is a client Component either
|
|
77
|
+
* way. A function prop from a server Component into a client Component is a build
|
|
78
|
+
* error rather than a warning, so `getAriaValueText` is not expressible from half
|
|
79
|
+
* of the callers this Block has, and a Block that shipped it would be a Block
|
|
80
|
+
* half its callers cannot render. `valueText` is the form that crosses: the
|
|
81
|
+
* caller composes the words, the Block counts the rows it was given, and the bar
|
|
82
|
+
* announces a string. The rule is worth stating once per Block that composes a
|
|
83
|
+
* client Component with a callback, and this is the place it cost somebody a
|
|
84
|
+
* release.
|
|
85
|
+
*
|
|
86
|
+
* **The words travel as a string and are not drawn a second time.** `valueText`
|
|
87
|
+
* is what the bar announces, and printing the same sentence beside the bar means
|
|
88
|
+
* a screen reader reads it once as the bar's value and once as loose text on the
|
|
89
|
+
* page. A caller who wants the aggregate visible as well as announced passes their
|
|
90
|
+
* own node above the list, which is a sentence they can place, style and
|
|
91
|
+
* translate.
|
|
92
|
+
*
|
|
93
|
+
* **A finished task stays in the list, struck through and muted, and it is still
|
|
94
|
+
* reachable by keyboard.** Both halves of that are the decision. Hiding a finished
|
|
95
|
+
* task makes a list look shorter every time it works, which is a queue that
|
|
96
|
+
* rewards the reader for not checking it, and a completed task a reader cannot
|
|
97
|
+
* find is a task they will redo: the failure mode is not an aesthetic complaint
|
|
98
|
+
* about a strikethrough, it is duplicated work. So the row stays, the checkbox
|
|
99
|
+
* stays focusable and unticked-able, and the two utilities are the whole of the
|
|
100
|
+
* change. The cost is real and worth naming: a long list of finished tasks is a
|
|
101
|
+
* list a reader has to scan past, and the answer is the consumer's own filter,
|
|
102
|
+
* which is the only one who knows whether the reader wanted the history on the
|
|
103
|
+
* page.
|
|
104
|
+
*
|
|
105
|
+
* **Nothing here holds the state, and the checkboxes say so when nobody is
|
|
106
|
+
* listening.** With no `onToggle` the control renders `readOnly` rather than
|
|
107
|
+
* `disabled`, which is a real distinction: a disabled checkbox is skipped by the
|
|
108
|
+
* tab order and announced as unavailable, so a list of them tells a keyboard
|
|
109
|
+
* reader that the whole list is broken, while a read-only one is focusable and
|
|
110
|
+
* announces its state. A list nobody can change is a list someone is reading, and
|
|
111
|
+
* reading is a use.
|
|
112
|
+
*
|
|
113
|
+
* It is a client Component, and the reason is the callback rather than the state,
|
|
114
|
+
* as in every other Block in this wave. `onToggle` is a function, a function is a
|
|
115
|
+
* piece of state, and state is a client module: a server component cannot hand an
|
|
116
|
+
* event handler to a `<button>`, so a caller rendering this from a server
|
|
117
|
+
* component would get a list whose checkboxes do nothing. The rest of the
|
|
118
|
+
* rendering is a list and a bar, which is the price of that and a small one.
|
|
119
|
+
*/
|
|
120
|
+
export function Todo01({ eyebrow, title, description, tasks, onToggle, empty, variant = 'list', headingLevel = 'h2', className, showProgress = true, progressLabel, }) {
|
|
121
|
+
const uid = useId();
|
|
122
|
+
for (const task of tasks) {
|
|
123
|
+
if (task.href !== undefined && task.hrefLabel === undefined) {
|
|
124
|
+
throw new Error(`Todo01: the task "${task.title}" declares an href with no hrefLabel, so the row would carry a ` +
|
|
125
|
+
'link with no words of its own and a reader would not know what activating it does. Pass the ' +
|
|
126
|
+
'words that say what it does, or omit the href.');
|
|
127
|
+
}
|
|
128
|
+
if (task.blocked === true && task.blockedLabel === undefined) {
|
|
129
|
+
throw new Error(`Todo01: the task "${task.title}" is blocked and no blockedLabel, so the mark beside it would be ` +
|
|
130
|
+
'a coloured dot with no sentence beside it. Pass the words for the state, or drop the flag.');
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Counted from the array that is about to be rendered rather than from a second
|
|
134
|
+
// pass, so a caller whose label disagrees with the page has a bug in their own
|
|
135
|
+
// function rather than a Block that passed one number and drew another.
|
|
136
|
+
const total = tasks.length;
|
|
137
|
+
const done = tasks.reduce((count, task) => count + (task.done === true ? 1 : 0), 0);
|
|
138
|
+
if (total === 0) {
|
|
139
|
+
return (_jsxs(Section, { "data-slot": "todo-01", className: cn(className), children: [title === undefined ? null : (_jsx(SectionHeading, { as: headingLevel, align: "left", eyebrow: eyebrow, title: title, description: description, className: "mb-8" })), _jsx("p", { "data-slot": "todo-01-empty", className: "text-muted-foreground text-pretty", children: empty })] }));
|
|
140
|
+
}
|
|
141
|
+
return (_jsxs(Section, { "data-slot": "todo-01", className: cn(className), children: [title === undefined ? null : (_jsx(SectionHeading, { as: headingLevel, align: "left", eyebrow: eyebrow, title: title, description: description, className: "mb-8" })), showProgress ? (_jsx(Progress, { "data-slot": "todo-01-progress", className: "mb-6", value: done, max: total, valueText: progressLabel?.(done, total) })) : null, _jsx("ul", { "data-slot": "todo-01-list", "data-variant": variant, className: "flex flex-col", children: tasks.map((task, index) => {
|
|
142
|
+
const inputId = `${uid}-${index}`;
|
|
143
|
+
const finished = task.done === true;
|
|
144
|
+
const titleNode = (_jsx("label", { htmlFor: inputId, className: cn('text-sm font-medium', finished ? 'text-muted-foreground line-through' : null), children: task.title }));
|
|
145
|
+
const meta = (_jsxs("div", { "data-slot": "todo-01-meta", className: "flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1 text-xs", children: [task.ownerAvatar === undefined && task.owner === undefined ? null : (_jsxs("span", { "data-slot": "todo-01-owner", className: "text-muted-foreground inline-flex min-w-0 items-center gap-1.5", children: [task.ownerAvatar === undefined ? null : (_jsxs(Avatar, { className: "size-5", children: [task.ownerAvatar.src === undefined ? null : (_jsx(AvatarImage, { src: task.ownerAvatar.src, alt: "" })), _jsx(AvatarFallback, { children: initialsOf(task.ownerAvatar.name) })] })), task.owner ?? task.ownerAvatar?.name] })), task.due === undefined ? null : (_jsx("span", { "data-slot": "todo-01-due", className: "text-muted-foreground", children: dueOf(task) })), task.blocked === true && task.blockedLabel !== undefined ? (_jsx(Status, { size: "sm", tone: "warning", label: task.blockedLabel })) : null, task.href === undefined || task.hrefLabel === undefined ? null : (_jsx(CtaLink, { href: task.href, variant: "ghost", size: "sm", children: task.hrefLabel }))] }));
|
|
146
|
+
return (_jsxs("li", { "data-slot": "todo-01-task", "data-done": finished ? 'true' : undefined, "data-blocked": task.blocked === true ? 'true' : undefined, className: cn('border-border flex items-start gap-3 border-b first:border-t', ROW[variant]), children: [_jsx(Checkbox, { id: inputId, checked: finished, readOnly: onToggle === undefined, onCheckedChange: onToggle === undefined ? undefined : (checked) => onToggle(task.id, checked), className: "mt-0.5" }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [titleNode, variant === 'checklist' ? meta : null, task.note === undefined ? null : (_jsx("span", { className: "text-muted-foreground text-pretty text-sm", children: task.note })), variant === 'list' ? meta : null] })] }, task.id));
|
|
147
|
+
}) })] }));
|
|
148
|
+
}
|
|
149
|
+
export default Todo01;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blocks/trend-01/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAI1C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Trend01, default } from './trend.js';
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type HeadingLevel } from '../../components/ui/section.js';
|
|
3
|
+
/**
|
|
4
|
+
* One row of a trend list: a name, what it is at now, how it moved, and a shape
|
|
5
|
+
* beside it.
|
|
6
|
+
*
|
|
7
|
+
* Every field except `id` and `label` is optional because a trend list is
|
|
8
|
+
* heterogeneous by nature. Some of the things a list tracks have a series behind
|
|
9
|
+
* them and some have only a reading, some moved and some did not, and a shape
|
|
10
|
+
* that made every field required would be a list where two thirds of every row is
|
|
11
|
+
* an empty cell drawn as a placeholder.
|
|
12
|
+
*/
|
|
13
|
+
export type Trend01Item = {
|
|
14
|
+
/** A stable key for the row. */
|
|
15
|
+
id: string;
|
|
16
|
+
/**
|
|
17
|
+
* The name of the thing being tracked, as a reader would name it in
|
|
18
|
+
* conversation. It is the label the metric carries, and it is the last thing
|
|
19
|
+
* read on the row because the figure and the direction come first.
|
|
20
|
+
*/
|
|
21
|
+
label: string;
|
|
22
|
+
/**
|
|
23
|
+
* The current reading, already formatted by the caller.
|
|
24
|
+
*
|
|
25
|
+
* A `ReactNode` and not a `number`, for the reason `MetricProps.value` gives:
|
|
26
|
+
* a caller's figure is often a value it formatted itself, with its own grouped
|
|
27
|
+
* thousands, its own currency and its own unit, and a `number` here would push
|
|
28
|
+
* that formatting onto every call site twice. Prism takes the node and formats
|
|
29
|
+
* nothing.
|
|
30
|
+
*/
|
|
31
|
+
value: ReactNode;
|
|
32
|
+
/**
|
|
33
|
+
* The change against the previous reading, as a number whose sign is the
|
|
34
|
+
* direction. See `MetricDelta` on the Component.
|
|
35
|
+
*/
|
|
36
|
+
delta?: number;
|
|
37
|
+
/**
|
|
38
|
+
* The words for that change, given the number. Required whenever `delta` is
|
|
39
|
+
* set, and the Block throws without it. See the Component JSDoc for the full
|
|
40
|
+
* argument.
|
|
41
|
+
*/
|
|
42
|
+
deltaLabel?: (delta: number) => string;
|
|
43
|
+
/**
|
|
44
|
+
* The readings behind the current one, oldest first, in the caller's own units.
|
|
45
|
+
*
|
|
46
|
+
* Raw magnitudes rather than percentages of a maximum, which is the contract
|
|
47
|
+
* `Sparkline` states: a caller that pre-normalises has two chances to get the
|
|
48
|
+
* shape wrong, and a series drawn against an axis nobody can see is a picture
|
|
49
|
+
* of somebody's arithmetic.
|
|
50
|
+
*/
|
|
51
|
+
series?: number[];
|
|
52
|
+
/**
|
|
53
|
+
* The name of that series, and the only thing a screen reader reads from the
|
|
54
|
+
* shape. Required whenever `series` is set, and the Block throws without it.
|
|
55
|
+
*/
|
|
56
|
+
seriesLabel?: string;
|
|
57
|
+
/** Where the row goes. Rendered as a native anchor, so the destination is real. */
|
|
58
|
+
href?: string;
|
|
59
|
+
/** The words on that link. Required whenever `href` is set. */
|
|
60
|
+
hrefLabel?: string;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* The props a Trend01 takes.
|
|
64
|
+
*
|
|
65
|
+
* Every string and every number is a prop and the Block ships none. There is no
|
|
66
|
+
* sample list, no default metric, no default series and no default direction, and
|
|
67
|
+
* the reason is the one the whole Block rests on: the list a page shows is that
|
|
68
|
+
* page's own claim about what is rising, and a Block that invented one would be
|
|
69
|
+
* publishing a trend nobody collected.
|
|
70
|
+
*/
|
|
71
|
+
export type Trend01Props = {
|
|
72
|
+
/** Optional label above the section title. See the No-Default-Eyebrow Rule. */
|
|
73
|
+
eyebrow?: string;
|
|
74
|
+
/** The section title. Required, because a list with no heading is a fragment. */
|
|
75
|
+
title: ReactNode;
|
|
76
|
+
/** One or two sentences under the title. */
|
|
77
|
+
description?: ReactNode;
|
|
78
|
+
/**
|
|
79
|
+
* The rows, in the order a reader should meet them. See the Component JSDoc
|
|
80
|
+
* for why the Block does not sort them.
|
|
81
|
+
*/
|
|
82
|
+
items: readonly Trend01Item[];
|
|
83
|
+
/**
|
|
84
|
+
* How many rows to render. Defaults to the whole set.
|
|
85
|
+
*
|
|
86
|
+
* A cap and not a page. A trend list that runs long is a long list of the same
|
|
87
|
+
* kind of row, and a reader who wants the rest of it wants the top of it, so
|
|
88
|
+
* the useful control is where to stop rather than which page they are on. A
|
|
89
|
+
* paged list of trends is a table with a `DataTable01` in it, and this Block is
|
|
90
|
+
* not that.
|
|
91
|
+
*/
|
|
92
|
+
limit?: number;
|
|
93
|
+
/**
|
|
94
|
+
* What the Block renders in place of the rows when there are none.
|
|
95
|
+
*
|
|
96
|
+
* A slot rather than a string, and required at the call site in the sense that
|
|
97
|
+
* a Block cannot write the sentence: "nothing is rising" is a claim, and it is
|
|
98
|
+
* a different claim in a product where the answer is honest and a product where
|
|
99
|
+
* the pipeline is down. Omit it and a list with no rows renders nothing at all,
|
|
100
|
+
* which is the honest state for a section that has nothing to say.
|
|
101
|
+
*/
|
|
102
|
+
empty?: ReactNode;
|
|
103
|
+
/**
|
|
104
|
+
* Heading level for the section title. @defaultValue 'h2'
|
|
105
|
+
*
|
|
106
|
+
* See `HeadingLevel`.
|
|
107
|
+
*/
|
|
108
|
+
headingLevel?: HeadingLevel;
|
|
109
|
+
/**
|
|
110
|
+
* Layout only, exactly as on every Block. Changing a Prism-owned visual
|
|
111
|
+
* property from here is prohibited.
|
|
112
|
+
*/
|
|
113
|
+
className?: string;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* A ranked list of rising values: a name, a current reading, the change against
|
|
117
|
+
* the previous one, and a small series beside it.
|
|
118
|
+
*
|
|
119
|
+
* **A trend row is a metric with a shape beside it, so the Block composes
|
|
120
|
+
* `Metric` and `Sparkline` rather than drawing either of them.** Both halves of
|
|
121
|
+
* that sentence are load-bearing. `Metric` owns the arrangement a headline figure
|
|
122
|
+
* is read in, which puts the figure first and the name under it, and it owns the
|
|
123
|
+
* three things a hand-rolled version of that gets wrong: that the direction is
|
|
124
|
+
* derived from the sign of the number rather than declared beside it, that the
|
|
125
|
+
* rising mark is a glyph so assistive technology names it in the reader's own
|
|
126
|
+
* language rather than through an English `aria-label`, and that a string value
|
|
127
|
+
* is set in the mono face while a composed one is not. `Sparkline` owns the shape
|
|
128
|
+
* and, more importantly, owns the fact that the numbers behind the shape are in
|
|
129
|
+
* the document: a ninety-six pixel line with no axis is a picture a reader cannot
|
|
130
|
+
* query, so the Component renders the same array as a table a screen reader can
|
|
131
|
+
* walk and a crawler can index. A Block that hand-rolled either would be a second
|
|
132
|
+
* implementation of a Component that already owns it, and the second
|
|
133
|
+
* implementation would be the one without the table, because the table is the part
|
|
134
|
+
* nobody draws by hand and it is the part that matters.
|
|
135
|
+
*
|
|
136
|
+
* **`deltaLabel` is required whenever any row carries a `delta`, and the reason
|
|
137
|
+
* is that the Block cannot know which of three sentences the caller means.**
|
|
138
|
+
* "up 12 percent", "+12%" and "12 higher than last week" are three sentences
|
|
139
|
+
* about one number, and they are not formats of one another: the first is a
|
|
140
|
+
* phrase with a unit, the second is a signed figure for a reader who is already
|
|
141
|
+
* looking at a number, and the third is a comparison against a named period that
|
|
142
|
+
* a reader who cannot see the period will misread as a comparison against
|
|
143
|
+
* whatever they assumed. Worse, the fallback a Block would reach for is the worst
|
|
144
|
+
* of the three, because a bare "+12" printed beside a figure is a number with an
|
|
145
|
+
* arithmetic symbol on it, and a screen reader reads that as a formula rather
|
|
146
|
+
* than as a change. So the prop is required and the Block throws without it
|
|
147
|
+
* rather than printing the sign itself, and the cost of the throw is that a
|
|
148
|
+
* caller who genuinely has no unit has to write the formatter that says so.
|
|
149
|
+
*
|
|
150
|
+
* **`seriesLabel` is required whenever any row carries a `series`, for the reason
|
|
151
|
+
* the `Sparkline` JSDoc gives in full: a figure with no name is not announced
|
|
152
|
+
* and not linkable.** A trend list is a column of small pictures, and a column of
|
|
153
|
+
* unnamed pictures is a column of shapes a reader has to guess the meaning of from
|
|
154
|
+
* the number beside them, which is the guess the whole figure exists to remove.
|
|
155
|
+
* Two rows whose series are both "the last thirty days" and one row whose series
|
|
156
|
+
* is the same thirty days as a percentage are three pictures that look identical
|
|
157
|
+
* and mean three things, and only a name tells them apart.
|
|
158
|
+
*
|
|
159
|
+
* **The order is the caller's, and there is deliberately no `sort`.** A trend list
|
|
160
|
+
* is ranked, and the rank is the Block's premise, but the Block cannot see what
|
|
161
|
+
* it is ranking by: the caller may have ranked by the delta, by the current value,
|
|
162
|
+
* by a measure of their own that is not in the data at all, or by nothing at all
|
|
163
|
+
* because the list is a hand-picked set of five. A `sort` prop would have to name
|
|
164
|
+
* a key, and any key it named would be wrong for at least one of those four
|
|
165
|
+
* callers, and the failure would be silent: a list sorted by the wrong column
|
|
166
|
+
* still looks ranked. The other answer, deriving the order from the data, is
|
|
167
|
+
* worse, because it makes this Block a second derivation the caller then has to
|
|
168
|
+
* keep in step with their own data, and two orderings of one list that disagree is
|
|
169
|
+
* a list whose order nobody can fix without changing code in two places. So the
|
|
170
|
+
* rank is the position in the array, the ordinal is drawn from it, and the caller
|
|
171
|
+
* holds the one claim that ordering a ranked list makes.
|
|
172
|
+
*
|
|
173
|
+
* **The rows are one `<ol>`.** A list that was split by a cap, or by a variant,
|
|
174
|
+
* or by whether a row had a series, would be several lists and a screen reader
|
|
175
|
+
* would announce it as several. The cap shortens the list rather than dividing it,
|
|
176
|
+
* and a row with no series is a shorter row, not a different kind of row.
|
|
177
|
+
*
|
|
178
|
+
* It is a server Component: no hook, no state, no client code and no router. The
|
|
179
|
+
* two Components it composes are both server Components, so a trend list costs a
|
|
180
|
+
* consumer nothing in client JavaScript.
|
|
181
|
+
*/
|
|
182
|
+
export declare function Trend01({ eyebrow, title, description, items, limit, empty, headingLevel, className, }: Trend01Props): import("react").JSX.Element | null;
|
|
183
|
+
export default Trend01;
|
|
184
|
+
//# sourceMappingURL=trend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trend.d.ts","sourceRoot":"","sources":["../../../src/blocks/trend-01/trend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAIxF;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAA;IACV;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;;OAQG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACtC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iFAAiF;IACjF,KAAK,EAAE,SAAS,CAAA;IAChB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB;;;OAGG;IACH,KAAK,EAAE,SAAS,WAAW,EAAE,CAAA;IAC7B;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,KAAK,EACL,WAAW,EACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,YAAmB,EACnB,SAAS,GACV,EAAE,YAAY,sCA6Gd;AAED,eAAe,OAAO,CAAA"}
|