@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,312 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type HeadingLevel } from '../../components/ui/section.js';
|
|
3
|
+
/**
|
|
4
|
+
* What every record carries, whichever contact fields it has.
|
|
5
|
+
*
|
|
6
|
+
* The base is split out so the contact arms below can be a union over the two
|
|
7
|
+
* contact pairs rather than four independent optionals. That is the same mechanism
|
|
8
|
+
* `Contact01Address` uses for its `email` pair and `ShowcaseAction` uses for its
|
|
9
|
+
* `href`, and the reason is the same: a prop that is required in one shape and
|
|
10
|
+
* forbidden in another cannot be said by an optional.
|
|
11
|
+
*/
|
|
12
|
+
type AddressBook01RecordBase = {
|
|
13
|
+
/** The record's stable key within the book. */
|
|
14
|
+
id: string;
|
|
15
|
+
/** The person's or the organisation's own name, as they spell it. */
|
|
16
|
+
name: string;
|
|
17
|
+
/**
|
|
18
|
+
* The firm, team or account this record belongs to.
|
|
19
|
+
*
|
|
20
|
+
* Optional rather than required, because a personal address book has no
|
|
21
|
+
* organisation column and an estate one has no name column, and a shape that made
|
|
22
|
+
* both required would be a table where one of the two is always empty.
|
|
23
|
+
*/
|
|
24
|
+
organisation?: string;
|
|
25
|
+
/**
|
|
26
|
+
* The postal lines, one per entry, in the order a reader reads them.
|
|
27
|
+
*
|
|
28
|
+
* Required and non-empty, and the run throws on an empty one, because a record
|
|
29
|
+
* with no address is a record with nothing to record. A contact with a name, an
|
|
30
|
+
* organisation and two telephone numbers is a real thing and belongs in the
|
|
31
|
+
* caller's own store beside this Block rather than in an address book, so the
|
|
32
|
+
* refusal here is not a gap in the type: it is the type declining to be a contact
|
|
33
|
+
* card. Draw a name and a phone number here and a reader is looking at a list of
|
|
34
|
+
* people they cannot post anything to, which is not what an address book is for.
|
|
35
|
+
*/
|
|
36
|
+
lines: string[];
|
|
37
|
+
/**
|
|
38
|
+
* The caller's own label for this record: a site, a region, a category.
|
|
39
|
+
*
|
|
40
|
+
* Drawn in the muted ink and searched, and it is the one field that classifies a
|
|
41
|
+
* record rather than identifying it. A caller with four of them composes `Badge`
|
|
42
|
+
* in the `actions` slot instead and keeps this one a word.
|
|
43
|
+
*/
|
|
44
|
+
tag?: string;
|
|
45
|
+
/**
|
|
46
|
+
* The controls that act on this one record: edit, remove, set as default.
|
|
47
|
+
*
|
|
48
|
+
* A slot, because which actions an address book has is the caller's fact. The
|
|
49
|
+
* trailing controls are never the only route to the record, which is the rule
|
|
50
|
+
* `Item` states: a row whose only destination is a kebab menu hides its own
|
|
51
|
+
* content from a reader who is not looking for a menu.
|
|
52
|
+
*/
|
|
53
|
+
actions?: ReactNode;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* The four contact shapes a record can be in, and only four.
|
|
57
|
+
*
|
|
58
|
+
* A record may have a telephone link, an email link, both, or neither, and the two
|
|
59
|
+
* pairs are required together in whichever arms they appear. Four arms rather than two
|
|
60
|
+
* independent unions, and the reason is mechanical as much as it is editorial: two
|
|
61
|
+
* parenthesised unions intersected with each other distribute into four arms anyway,
|
|
62
|
+
* and the two intersections collide in the compiler rather than in a reader's head.
|
|
63
|
+
* Naming the four here is the same four either way, written once.
|
|
64
|
+
*/
|
|
65
|
+
type AddressBook01Contact = {
|
|
66
|
+
/** The number, and the words that name the link to it. */
|
|
67
|
+
phone: string;
|
|
68
|
+
/** The words on the `tel:` link, and its accessible name. */
|
|
69
|
+
phoneLabel: string;
|
|
70
|
+
/** The address the `mailto:` link points at. */
|
|
71
|
+
email: string;
|
|
72
|
+
/** The words on the `mailto:` link, and its accessible name. */
|
|
73
|
+
emailLabel: string;
|
|
74
|
+
} | {
|
|
75
|
+
/** The number, and the words that name the link to it. */
|
|
76
|
+
phone: string;
|
|
77
|
+
/** The words on the `tel:` link, and its accessible name. */
|
|
78
|
+
phoneLabel: string;
|
|
79
|
+
/** No link, so no accessible name to owe. */
|
|
80
|
+
email?: never;
|
|
81
|
+
emailLabel?: never;
|
|
82
|
+
} | {
|
|
83
|
+
/** No link, so no accessible name to owe. */
|
|
84
|
+
phone?: never;
|
|
85
|
+
phoneLabel?: never;
|
|
86
|
+
/** The address the `mailto:` link points at. */
|
|
87
|
+
email: string;
|
|
88
|
+
/** The words on the `mailto:` link, and its accessible name. */
|
|
89
|
+
emailLabel: string;
|
|
90
|
+
} | {
|
|
91
|
+
/** No link, so no accessible name to owe. */
|
|
92
|
+
phone?: never;
|
|
93
|
+
phoneLabel?: never;
|
|
94
|
+
/** No link, so no accessible name to owe. */
|
|
95
|
+
email?: never;
|
|
96
|
+
emailLabel?: never;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* One address record, as an address book shows it: a name, an organisation, the
|
|
100
|
+
* postal lines, a phone, an email, a label, and the caller's own controls.
|
|
101
|
+
*
|
|
102
|
+
* **The three contact fields are links and they are links that are named.** A
|
|
103
|
+
* `tel:` anchor whose accessible name is the number is announced as a run of
|
|
104
|
+
* characters read one at a time, and a `mailto:` anchor whose accessible name is the
|
|
105
|
+
* address is announced as the word mailto followed by the same run, which is the one
|
|
106
|
+
* link on the record a screen reader user cannot follow and the one a mouse reader
|
|
107
|
+
* cannot copy either, because the words they select are the label rather than the
|
|
108
|
+
* address. So `phoneLabel` is required inside the arm where `phone` is and
|
|
109
|
+
* `emailLabel` inside the arm where `email` is, and the run throws for a JavaScript
|
|
110
|
+
* caller and for a value that came out of a store with the type's guarantee already
|
|
111
|
+
* gone. The addresses live in the `href`, where the browser's own affordances can
|
|
112
|
+
* show them, and the caller's sentence is what a reader meets.
|
|
113
|
+
*
|
|
114
|
+
* The cost of the union is that a caller assembling records generically from a store
|
|
115
|
+
* has to narrow before it can type the array, and the answer to that is a narrowing
|
|
116
|
+
* function in their own code rather than four optionals here. What the union buys is
|
|
117
|
+
* that a caller cannot build a record with a number and no sentence, or a sentence and
|
|
118
|
+
* no number, without the compiler saying so.
|
|
119
|
+
*/
|
|
120
|
+
export type AddressBook01Record = AddressBook01RecordBase & AddressBook01Contact;
|
|
121
|
+
/**
|
|
122
|
+
* How the records are drawn: a grid of cards or a list of full-width rows.
|
|
123
|
+
*
|
|
124
|
+
* The type is `AddressBook01Form` and the prop is `variant`, and the two names
|
|
125
|
+
* differing is the surface gate working rather than a slip: `check-surface.mjs`
|
|
126
|
+
* refuses a public entry export whose name ends in `Variant`, because in this
|
|
127
|
+
* package that shape names a cva map. This union is the two arrangements the Block
|
|
128
|
+
* can draw and it is named for the arrangement.
|
|
129
|
+
*/
|
|
130
|
+
export type AddressBook01Form = 'cards' | 'rows';
|
|
131
|
+
/**
|
|
132
|
+
* The props an AddressBook01 takes.
|
|
133
|
+
*
|
|
134
|
+
* Every string is a prop and the Block ships none: no name, no organisation, no
|
|
135
|
+
* postal line, no number, no address, no tag and not one word of the three
|
|
136
|
+
* sentences the search field needs. An address book with Prism's words in it would
|
|
137
|
+
* be a directory of somebody else's contacts.
|
|
138
|
+
*/
|
|
139
|
+
export type AddressBook01Props = {
|
|
140
|
+
/** The short line above the title, usually what the book is for. */
|
|
141
|
+
eyebrow?: ReactNode;
|
|
142
|
+
/** The heading. Required, because an index with no heading is a list in a page. */
|
|
143
|
+
title: ReactNode;
|
|
144
|
+
/** One supporting line under the heading, for the part the title cannot carry. */
|
|
145
|
+
description?: ReactNode;
|
|
146
|
+
/**
|
|
147
|
+
* The query, as the caller holds it.
|
|
148
|
+
*
|
|
149
|
+
* Required and controlled, for the reason `SearchField` gives in full: a search
|
|
150
|
+
* field that owns its own text cannot be emptied from outside itself, and an
|
|
151
|
+
* address book whose field cannot be cleared is a field a reader has to select
|
|
152
|
+
* and delete one character at a time. It is also what this Block is for, so the
|
|
153
|
+
* two are the same prop rather than one of them being derived.
|
|
154
|
+
*/
|
|
155
|
+
value: string;
|
|
156
|
+
/**
|
|
157
|
+
* Called with the query as the reader changes it, and with an empty string when
|
|
158
|
+
* the clear control is pressed.
|
|
159
|
+
*/
|
|
160
|
+
onValueChange: (value: string) => void;
|
|
161
|
+
/**
|
|
162
|
+
* The field's visible name and its accessible name.
|
|
163
|
+
*
|
|
164
|
+
* Required and a `string`, because a field has one name and that name is the
|
|
165
|
+
* caller's. A control with no name is announced as a search box, which is the one
|
|
166
|
+
* name every other field of its kind on the page shares.
|
|
167
|
+
*/
|
|
168
|
+
label: string;
|
|
169
|
+
/**
|
|
170
|
+
* The accessible name of the control that empties the field.
|
|
171
|
+
*
|
|
172
|
+
* Required, and it is what makes the control exist rather than a name for
|
|
173
|
+
* something already on screen: `SearchField` draws the clear control whenever
|
|
174
|
+
* this is passed and draws nothing when it is not. The words are the caller's
|
|
175
|
+
* because a screen reader reads them.
|
|
176
|
+
*/
|
|
177
|
+
clearLabel: string;
|
|
178
|
+
/**
|
|
179
|
+
* The records, in the order a reader should meet them.
|
|
180
|
+
*
|
|
181
|
+
* The caller holds the whole book, because this Block fetches nothing: see the
|
|
182
|
+
* JSDoc on the Block for why that is a law and not a limitation.
|
|
183
|
+
*/
|
|
184
|
+
records: readonly AddressBook01Record[];
|
|
185
|
+
/**
|
|
186
|
+
* The caller's own sentence for a query that matched nothing.
|
|
187
|
+
*
|
|
188
|
+
* Required, and the reason is the one `Help01` states: a reader who has typed
|
|
189
|
+
* something and got nothing is reading exactly one line, and a Block that wrote
|
|
190
|
+
* it would write it in this package's language, in every product that installs
|
|
191
|
+
* it, inside a design system rather than inside a product's copy, which is where
|
|
192
|
+
* a translation tool is least likely to look. It is a node because the honest
|
|
193
|
+
* no-results line is sometimes a sentence and sometimes a link to the caller's own
|
|
194
|
+
* support address.
|
|
195
|
+
*/
|
|
196
|
+
empty: ReactNode;
|
|
197
|
+
/**
|
|
198
|
+
* The caller's own line about what the query found.
|
|
199
|
+
*
|
|
200
|
+
* A function and not a node, because the count a reader reads is a sentence whose
|
|
201
|
+
* word order and noun inflection belong to their language, and a Block that
|
|
202
|
+
* composed it would compose the English one. A function is also what lets a
|
|
203
|
+
* caller say nothing before the reader has typed anything, by returning null for
|
|
204
|
+
* a count they do not want to announce, which is the case every results line has
|
|
205
|
+
* on its first paint.
|
|
206
|
+
*/
|
|
207
|
+
summary?: (matches: number) => ReactNode;
|
|
208
|
+
/**
|
|
209
|
+
* How the set is drawn.
|
|
210
|
+
*
|
|
211
|
+
* @defaultValue 'cards'
|
|
212
|
+
*
|
|
213
|
+
* `cards` is right for a book of fewer than about forty records read at a glance,
|
|
214
|
+
* where a record is a thing a reader recognises rather than compares. `rows` is
|
|
215
|
+
* right for a long book or a narrow column, where the postal lines want to wrap
|
|
216
|
+
* under the name and a grid would put four columns of address in a phone's width.
|
|
217
|
+
*/
|
|
218
|
+
variant?: AddressBook01Form;
|
|
219
|
+
/** Heading level for the section heading. See `HeadingLevel`. */
|
|
220
|
+
headingLevel?: HeadingLevel;
|
|
221
|
+
/**
|
|
222
|
+
* Layout only, exactly as on every Block. Changing a Prism-owned visual property
|
|
223
|
+
* from here is prohibited.
|
|
224
|
+
*/
|
|
225
|
+
className?: string;
|
|
226
|
+
};
|
|
227
|
+
/**
|
|
228
|
+
* An address book: a search field, a set of records, and the caller's own empty
|
|
229
|
+
* sentence for the query that matched nothing.
|
|
230
|
+
*
|
|
231
|
+
* **This Block filters what it was given and it fetches nothing. It holds no
|
|
232
|
+
* book, it fetches no book, and there is no prop that points at one.** That is a
|
|
233
|
+
* law and not a limitation, and the gate that holds it is
|
|
234
|
+
* `packages/ui/scripts/check-block-imports.mjs`, which fails a Block that imports a
|
|
235
|
+
* router or a data client or calls a network function. A Block that fetched an
|
|
236
|
+
* address book would be a Block every consumer whose contacts live in its own store
|
|
237
|
+
* has to rewrite: four consumers with four stores would each either patch the fetch
|
|
238
|
+
* or fork the Block, and the corpus publishes it as a product-agnostic section, so an
|
|
239
|
+
* agent composing a page from it composes a request the consumer never asked for.
|
|
240
|
+
* The Block that exists instead is a frame over an array, and the frame is the part
|
|
241
|
+
* a consumer can install.
|
|
242
|
+
*
|
|
243
|
+
* **The three contact fields are real links and they carry the caller's sentence,
|
|
244
|
+
* and that is the whole of the accessibility argument for them.** A `tel:` anchor
|
|
245
|
+
* whose accessible name is the number is announced as characters read one at a
|
|
246
|
+
* time, and a `mailto:` anchor whose accessible name is the address is announced as
|
|
247
|
+
* the word mailto followed by the same run, which is the one link on a record a
|
|
248
|
+
* screen reader user cannot follow and the one a mouse reader cannot copy either,
|
|
249
|
+
* because the words they select are the label rather than the address. So the label
|
|
250
|
+
* is required inside the arm where the address is, the type is a union so a
|
|
251
|
+
* TypeScript caller cannot build a record with one and not the other, and the run
|
|
252
|
+
* throws for the JavaScript caller and for a value that came out of a store with the
|
|
253
|
+
* type's guarantee already gone. The addresses live in the `href`, where the status
|
|
254
|
+
* bar and the context menu and the middle click can all reach them. The rejected
|
|
255
|
+
* alternative was a bare `<a>` around the address, and the alternative to the
|
|
256
|
+
* union was two optionals with a check, which is the check that is here anyway.
|
|
257
|
+
*
|
|
258
|
+
* **`lines` is required and non-empty, and the refusal is a refusal to be a
|
|
259
|
+
* contact card.** An address book is a set of places, and a record with a name, an
|
|
260
|
+
* organisation and two telephone numbers and no place in it is not a record in an
|
|
261
|
+
* address book. Drawing it would put a list of people a reader cannot post anything
|
|
262
|
+
* to in a surface whose whole purpose is posting to them, and the fix is a contact
|
|
263
|
+
* store beside this Block rather than a fourth contact field here. The cost is
|
|
264
|
+
* stated rather than hidden: a consumer who wants a personal contacts list reaches
|
|
265
|
+
* for a different Block, and the honest answer is that the two lists are read in
|
|
266
|
+
* opposite directions.
|
|
267
|
+
*
|
|
268
|
+
* **Only the fields a reader can see are searched, and the two that are left out
|
|
269
|
+
* are the phone number and the email address.** A reader looking for a colleague
|
|
270
|
+
* remembers the name, the firm, the street or the city, or the label the caller's
|
|
271
|
+
* own product puts on the record. A reader who remembers the number already has the
|
|
272
|
+
* record. Adding two fields to the haystack would change no result a reader wanted
|
|
273
|
+
* and would make the haystack longer on every keystroke for every record. The tag
|
|
274
|
+
* is included because it is the one field that classifies a record rather than
|
|
275
|
+
* identifying it, and a reader filtering by a label they can see is doing exactly
|
|
276
|
+
* what a search is for.
|
|
277
|
+
*
|
|
278
|
+
* **The record's name is a heading one step below the section, in both
|
|
279
|
+
* arrangements.** A reader who searches an address book and then navigates by
|
|
280
|
+
* heading wants to land on the record, not on a list item in a column, and a name in
|
|
281
|
+
* a `span` is a name they cannot come back to. The two arrangements draw the same
|
|
282
|
+
* tree rather than two, so a record is one heading whether it is on a card or a row
|
|
283
|
+
* and a consumer who switches `variant` at render time gets one list in the
|
|
284
|
+
* accessibility tree rather than two. The alternative was a name in a `span` in the
|
|
285
|
+
* cards arrangement only, which would have made the outline depend on a layout
|
|
286
|
+
* prop.
|
|
287
|
+
*
|
|
288
|
+
* **The field composes `SearchField`, so the clear control, the polite result
|
|
289
|
+
* region and the one tab stop are that Component's rather than a second
|
|
290
|
+
* implementation here.** The result line is where `summary` goes: `SearchField`
|
|
291
|
+
* draws it as a polite live region and announces it when the count changes, which is
|
|
292
|
+
* the only thing on the page reporting the consequence of typing and the only place
|
|
293
|
+
* a screen reader user learns that a search ran. A caller who starts passing a
|
|
294
|
+
* summary after the first render brings the region into the document together with
|
|
295
|
+
* its content, which `SearchField` says is the one case a live region is least
|
|
296
|
+
* reliable about, so pass an empty summary on the first paint.
|
|
297
|
+
*
|
|
298
|
+
* **This Block does not own the search landmark, for the reason `SearchField`
|
|
299
|
+
* gives.** A `<search>` element names a region of the page rather than a control,
|
|
300
|
+
* and a page has two real search regions only when its two fields answer two
|
|
301
|
+
* different questions, so put the landmark on the container if the page really does
|
|
302
|
+
* have one search.
|
|
303
|
+
*
|
|
304
|
+
* It is a client Component, and the reason is the filtering rather than the field:
|
|
305
|
+
* the query is a prop the caller holds, the set that results is derived from it on
|
|
306
|
+
* every keystroke, and a server component cannot re-render its own children. The
|
|
307
|
+
* filtering itself is a substring test per record and holds no index of its own, so
|
|
308
|
+
* the client cost is the derivation and not a running loop.
|
|
309
|
+
*/
|
|
310
|
+
export declare function AddressBook01({ eyebrow, title, description, value, onValueChange, label, clearLabel, records, empty, summary, variant, headingLevel, className, }: AddressBook01Props): import("react").JSX.Element;
|
|
311
|
+
export default AddressBook01;
|
|
312
|
+
//# sourceMappingURL=address-book-01.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address-book-01.d.ts","sourceRoot":"","sources":["../../../src/blocks/address-book-01/address-book-01.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAA;AA8DpC;;;;;;;;GAQG;AACH,KAAK,uBAAuB,GAAG;IAC7B,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAA;IACV,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;;;;;OAUG;IACH,KAAK,EAAE,MAAM,EAAE,CAAA;IACf;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,CAAA;AAED;;;;;;;;;GASG;AACH,KAAK,oBAAoB,GACrB;IACE,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAA;IACb,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAA;CACnB,GACD;IACE,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAA;IACb,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAA;IAClB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,UAAU,CAAC,EAAE,KAAK,CAAA;CACnB,GACD;IACE,6CAA6C;IAC7C,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAA;CACnB,GACD;IACE,6CAA6C;IAC7C,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,UAAU,CAAC,EAAE,KAAK,CAAA;CACnB,CAAA;AAEL;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG,oBAAoB,CAAA;AAEhF;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAA;AAEhD;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,oEAAoE;IACpE,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,mFAAmF;IACnF,KAAK,EAAE,SAAS,CAAA;IAChB,kFAAkF;IAClF,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAA;IACvC;;;;;;;;;;OAUG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,CAAA;IACxC;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,iEAAiE;IACjE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AA2CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,KAAK,EACL,WAAW,EACX,KAAK,EACL,aAAa,EACb,KAAK,EACL,UAAU,EACV,OAAO,EACP,KAAK,EACL,OAAO,EACP,OAAiB,EACjB,YAAmB,EACnB,SAAS,GACV,EAAE,kBAAkB,+BA4JpB;AAoED,eAAe,aAAa,CAAA"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import { Badge } from '../../components/ui/badge.js';
|
|
5
|
+
import { CtaLink } from '../../components/ui/cta-link.js';
|
|
6
|
+
import { SearchField } from '../../components/ui/search-field.js';
|
|
7
|
+
import { Section, SectionHeading, childLevel, } from '../../components/ui/section.js';
|
|
8
|
+
import { cn } from '../../lib/utils.js';
|
|
9
|
+
/**
|
|
10
|
+
* The query in the form the match reads it: case folded, split on whitespace, with
|
|
11
|
+
* the empty tokens dropped.
|
|
12
|
+
*
|
|
13
|
+
* The tokens are AND rather than OR, and the reason is the one `SearchDialog` and
|
|
14
|
+
* `Help01` each state: a reader who types two words is narrowing, and with OR an
|
|
15
|
+
* address book returns nearly everything, which is not a result but a list the
|
|
16
|
+
* reader has to work through themselves.
|
|
17
|
+
*/
|
|
18
|
+
function tokensOf(query) {
|
|
19
|
+
return query.toLowerCase().split(/\s+/).filter((token) => token.length > 0);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Whether every token appears somewhere in one case-folded string.
|
|
23
|
+
*
|
|
24
|
+
* A substring test with no stemming and no typo tolerance, which is the same
|
|
25
|
+
* downgrade `Help01` takes and for the same reason: a fuzzy engine is a large
|
|
26
|
+
* dependency whose ranking a consumer cannot restyle, audit against this package's
|
|
27
|
+
* gates or replace without forking the Block.
|
|
28
|
+
*/
|
|
29
|
+
function containsAll(haystack, tokens) {
|
|
30
|
+
return tokens.every((token) => haystack.includes(token));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The words a record can be found by, as one case-folded string.
|
|
34
|
+
*
|
|
35
|
+
* **The name, the organisation, the address lines and the tag, and deliberately
|
|
36
|
+
* not the phone number or the email address.** The first four are the things a
|
|
37
|
+
* reader can see on the record, so searching them is searching what they can read. A
|
|
38
|
+
* phone number and an address are the two fields nobody types into a search box:
|
|
39
|
+
* a reader looking for a colleague remembers the name, the firm, the street or the
|
|
40
|
+
* city, and a reader who does remember the number already has the record they were
|
|
41
|
+
* looking for. Including them would add two fields to the haystack and change no
|
|
42
|
+
* result a reader wanted. The tag is included because it is the one field on a
|
|
43
|
+
* record that classifies it rather than identifying it, and a reader who filters a
|
|
44
|
+
* list by tag is filtering by something they can see.
|
|
45
|
+
*/
|
|
46
|
+
function haystackOf(record) {
|
|
47
|
+
return [record.name, record.organisation, record.tag, ...record.lines]
|
|
48
|
+
.filter((part) => typeof part === 'string')
|
|
49
|
+
.join(` `)
|
|
50
|
+
.toLowerCase();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* How many records the filter left on the page, which is what the caller's summary
|
|
54
|
+
* is built from.
|
|
55
|
+
*
|
|
56
|
+
* A separate step rather than a value in the same pass so the number cannot drift
|
|
57
|
+
* from the rows: it is counted from the array that was rendered, so a caller whose
|
|
58
|
+
* summary disagrees with the page has a bug in their own function rather than a
|
|
59
|
+
* Block that passed one number and drew another.
|
|
60
|
+
*/
|
|
61
|
+
function countRecords(records) {
|
|
62
|
+
return records.length;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The refusals, checked before anything is drawn so a caller's mistake is one
|
|
66
|
+
* diagnostic in a console rather than a nameless link on a page.
|
|
67
|
+
*
|
|
68
|
+
* Three, and each one is a control that cannot be used. A record with no postal
|
|
69
|
+
* lines is a record with nothing to record. A telephone link with no sentence is
|
|
70
|
+
* announced as a run of characters. An email link with no sentence is the same run
|
|
71
|
+
* behind the word mailto, which is worse because the word before it looks like a
|
|
72
|
+
* name. Each message names the record, because a caller with two hundred records
|
|
73
|
+
* needs to know which one and not which number.
|
|
74
|
+
*/
|
|
75
|
+
function assertRecords(records) {
|
|
76
|
+
for (const record of records) {
|
|
77
|
+
if (record.lines.length === 0) {
|
|
78
|
+
throw new Error(`AddressBook01: the record "${record.name}" passes no address lines, so the record has a name and ` +
|
|
79
|
+
'nothing to record. A contact with a name and a number is a real thing and belongs in your own ' +
|
|
80
|
+
'store beside this Block rather than in an address book, because a reader looking at a list of ' +
|
|
81
|
+
'people they cannot post anything to is not reading an address book. Pass the lines, or keep the ' +
|
|
82
|
+
'record out of this set.');
|
|
83
|
+
}
|
|
84
|
+
if ((record.phone === undefined) !== (record.phoneLabel === undefined)) {
|
|
85
|
+
throw new Error(`AddressBook01: the record "${record.name}" declares one of phone and phoneLabel without the other, ` +
|
|
86
|
+
'so the control would be a link announced as a run of characters read one at a time, or a sentence ' +
|
|
87
|
+
'with no number beside it. Pass both, or neither.');
|
|
88
|
+
}
|
|
89
|
+
if ((record.email === undefined) !== (record.emailLabel === undefined)) {
|
|
90
|
+
throw new Error(`AddressBook01: the record "${record.name}" declares one of email and emailLabel without the other, ` +
|
|
91
|
+
'so the control would be a mailto link announced as the word mailto followed by a run of ' +
|
|
92
|
+
'characters, which is the one link on the record no reader can follow. Pass both, or neither.');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* An address book: a search field, a set of records, and the caller's own empty
|
|
98
|
+
* sentence for the query that matched nothing.
|
|
99
|
+
*
|
|
100
|
+
* **This Block filters what it was given and it fetches nothing. It holds no
|
|
101
|
+
* book, it fetches no book, and there is no prop that points at one.** That is a
|
|
102
|
+
* law and not a limitation, and the gate that holds it is
|
|
103
|
+
* `packages/ui/scripts/check-block-imports.mjs`, which fails a Block that imports a
|
|
104
|
+
* router or a data client or calls a network function. A Block that fetched an
|
|
105
|
+
* address book would be a Block every consumer whose contacts live in its own store
|
|
106
|
+
* has to rewrite: four consumers with four stores would each either patch the fetch
|
|
107
|
+
* or fork the Block, and the corpus publishes it as a product-agnostic section, so an
|
|
108
|
+
* agent composing a page from it composes a request the consumer never asked for.
|
|
109
|
+
* The Block that exists instead is a frame over an array, and the frame is the part
|
|
110
|
+
* a consumer can install.
|
|
111
|
+
*
|
|
112
|
+
* **The three contact fields are real links and they carry the caller's sentence,
|
|
113
|
+
* and that is the whole of the accessibility argument for them.** A `tel:` anchor
|
|
114
|
+
* whose accessible name is the number is announced as characters read one at a
|
|
115
|
+
* time, and a `mailto:` anchor whose accessible name is the address is announced as
|
|
116
|
+
* the word mailto followed by the same run, which is the one link on a record a
|
|
117
|
+
* screen reader user cannot follow and the one a mouse reader cannot copy either,
|
|
118
|
+
* because the words they select are the label rather than the address. So the label
|
|
119
|
+
* is required inside the arm where the address is, the type is a union so a
|
|
120
|
+
* TypeScript caller cannot build a record with one and not the other, and the run
|
|
121
|
+
* throws for the JavaScript caller and for a value that came out of a store with the
|
|
122
|
+
* type's guarantee already gone. The addresses live in the `href`, where the status
|
|
123
|
+
* bar and the context menu and the middle click can all reach them. The rejected
|
|
124
|
+
* alternative was a bare `<a>` around the address, and the alternative to the
|
|
125
|
+
* union was two optionals with a check, which is the check that is here anyway.
|
|
126
|
+
*
|
|
127
|
+
* **`lines` is required and non-empty, and the refusal is a refusal to be a
|
|
128
|
+
* contact card.** An address book is a set of places, and a record with a name, an
|
|
129
|
+
* organisation and two telephone numbers and no place in it is not a record in an
|
|
130
|
+
* address book. Drawing it would put a list of people a reader cannot post anything
|
|
131
|
+
* to in a surface whose whole purpose is posting to them, and the fix is a contact
|
|
132
|
+
* store beside this Block rather than a fourth contact field here. The cost is
|
|
133
|
+
* stated rather than hidden: a consumer who wants a personal contacts list reaches
|
|
134
|
+
* for a different Block, and the honest answer is that the two lists are read in
|
|
135
|
+
* opposite directions.
|
|
136
|
+
*
|
|
137
|
+
* **Only the fields a reader can see are searched, and the two that are left out
|
|
138
|
+
* are the phone number and the email address.** A reader looking for a colleague
|
|
139
|
+
* remembers the name, the firm, the street or the city, or the label the caller's
|
|
140
|
+
* own product puts on the record. A reader who remembers the number already has the
|
|
141
|
+
* record. Adding two fields to the haystack would change no result a reader wanted
|
|
142
|
+
* and would make the haystack longer on every keystroke for every record. The tag
|
|
143
|
+
* is included because it is the one field that classifies a record rather than
|
|
144
|
+
* identifying it, and a reader filtering by a label they can see is doing exactly
|
|
145
|
+
* what a search is for.
|
|
146
|
+
*
|
|
147
|
+
* **The record's name is a heading one step below the section, in both
|
|
148
|
+
* arrangements.** A reader who searches an address book and then navigates by
|
|
149
|
+
* heading wants to land on the record, not on a list item in a column, and a name in
|
|
150
|
+
* a `span` is a name they cannot come back to. The two arrangements draw the same
|
|
151
|
+
* tree rather than two, so a record is one heading whether it is on a card or a row
|
|
152
|
+
* and a consumer who switches `variant` at render time gets one list in the
|
|
153
|
+
* accessibility tree rather than two. The alternative was a name in a `span` in the
|
|
154
|
+
* cards arrangement only, which would have made the outline depend on a layout
|
|
155
|
+
* prop.
|
|
156
|
+
*
|
|
157
|
+
* **The field composes `SearchField`, so the clear control, the polite result
|
|
158
|
+
* region and the one tab stop are that Component's rather than a second
|
|
159
|
+
* implementation here.** The result line is where `summary` goes: `SearchField`
|
|
160
|
+
* draws it as a polite live region and announces it when the count changes, which is
|
|
161
|
+
* the only thing on the page reporting the consequence of typing and the only place
|
|
162
|
+
* a screen reader user learns that a search ran. A caller who starts passing a
|
|
163
|
+
* summary after the first render brings the region into the document together with
|
|
164
|
+
* its content, which `SearchField` says is the one case a live region is least
|
|
165
|
+
* reliable about, so pass an empty summary on the first paint.
|
|
166
|
+
*
|
|
167
|
+
* **This Block does not own the search landmark, for the reason `SearchField`
|
|
168
|
+
* gives.** A `<search>` element names a region of the page rather than a control,
|
|
169
|
+
* and a page has two real search regions only when its two fields answer two
|
|
170
|
+
* different questions, so put the landmark on the container if the page really does
|
|
171
|
+
* have one search.
|
|
172
|
+
*
|
|
173
|
+
* It is a client Component, and the reason is the filtering rather than the field:
|
|
174
|
+
* the query is a prop the caller holds, the set that results is derived from it on
|
|
175
|
+
* every keystroke, and a server component cannot re-render its own children. The
|
|
176
|
+
* filtering itself is a substring test per record and holds no index of its own, so
|
|
177
|
+
* the client cost is the derivation and not a running loop.
|
|
178
|
+
*/
|
|
179
|
+
export function AddressBook01({ eyebrow, title, description, value, onValueChange, label, clearLabel, records, empty, summary, variant = 'cards', headingLevel = 'h2', className, }) {
|
|
180
|
+
// A record's name is a heading one step below the section that introduces the
|
|
181
|
+
// set, derived rather than written, so a Block embedded one level deeper carries
|
|
182
|
+
// its names with it.
|
|
183
|
+
const Title = childLevel(headingLevel);
|
|
184
|
+
const asCards = variant === 'cards';
|
|
185
|
+
const tokens = useMemo(() => tokensOf(value), [value]);
|
|
186
|
+
const visible = useMemo(() => {
|
|
187
|
+
// An empty query draws the whole book, which is the resting state of an address
|
|
188
|
+
// book and not a special case: a reader who has typed nothing is browsing.
|
|
189
|
+
if (tokens.length === 0)
|
|
190
|
+
return records;
|
|
191
|
+
return records.filter((record) => containsAll(haystackOf(record), tokens));
|
|
192
|
+
}, [records, tokens]);
|
|
193
|
+
assertRecords(records);
|
|
194
|
+
const shown = countRecords(visible);
|
|
195
|
+
return (_jsx(Section, { "data-slot": "address-book-01", className: cn(className), children: _jsxs("div", { "data-slot": "address-book-01-body", className: "flex flex-col gap-10", children: [_jsx(SectionHeading, { eyebrow: eyebrow, title: title, description: description, align: "left", as: headingLevel }), _jsx("div", { "data-slot": "address-book-01-search", className: "w-full max-w-measure-narrow", children: _jsx(SearchField, { value: value, onValueChange: onValueChange, label: label, clearLabel: clearLabel, ...(summary === undefined ? null : { resultSummary: summary(shown) }) }) }), visible.length === 0 ? (
|
|
196
|
+
/*
|
|
197
|
+
* The caller's own sentence, drawn where the records would have been
|
|
198
|
+
* rather than above them, so the reader is not told there is nothing at
|
|
199
|
+
* the foot of a page that shows a book. A `text-pretty` wrapper is here
|
|
200
|
+
* because the honest no-results line is sometimes a paragraph and
|
|
201
|
+
* `text-balance` would leave a one-word last line in it.
|
|
202
|
+
*/
|
|
203
|
+
_jsx("p", { "data-slot": "address-book-01-empty", className: "text-muted-foreground max-w-measure-narrow text-pretty", children: empty })) : asCards ? (_jsx("ul", { "data-slot": "address-book-01-records", "data-variant": variant, className: "grid items-start gap-6 sm:grid-cols-2 lg:grid-cols-3", children: visible.map((record) => (_jsxs("li", { "data-slot": "address-book-01-card", "data-record": record.id, className: "border-border bg-card flex h-full flex-col gap-4 rounded-xl border p-5", children: [record.tag === undefined ? null : (_jsx("span", { "data-slot": "address-book-01-tag", className: "self-start", children: _jsx(Badge, { variant: "secondary", children: record.tag }) })), _jsx(Title, { "data-slot": "address-book-01-name", className: "text-base font-semibold", children: record.name }), record.organisation === undefined ? null : (_jsx("span", { "data-slot": "address-book-01-organisation", className: "text-muted-foreground text-sm", children: record.organisation })), _jsx(Contact, { record: record }), record.actions === undefined ? null : (_jsx("div", { "data-slot": "address-book-01-actions", className: "mt-auto flex flex-wrap items-center gap-2 pt-2", children: record.actions }))] }, record.id))) })) : (_jsx("ul", { "data-slot": "address-book-01-records", "data-variant": variant, className: "border-border flex flex-col border-t", children: visible.map((record) => (_jsxs("li", { "data-slot": "address-book-01-row", "data-record": record.id, className: "border-border flex flex-col gap-3 border-b py-5 sm:flex-row sm:items-start sm:gap-8", children: [_jsxs("div", { "data-slot": "address-book-01-identity", className: "flex min-w-0 flex-1 flex-col gap-1", children: [_jsx(Title, { "data-slot": "address-book-01-name", className: "text-sm font-semibold", children: record.name }), record.organisation === undefined ? null : (_jsx("span", { "data-slot": "address-book-01-organisation", className: "text-muted-foreground text-sm", children: record.organisation })), record.tag === undefined ? null : (_jsx("span", { "data-slot": "address-book-01-tag", className: "text-muted-foreground text-xs", children: record.tag }))] }), _jsx(Contact, { record: record }), record.actions === undefined ? null : (_jsx("div", { "data-slot": "address-book-01-actions", className: "flex shrink-0 flex-wrap items-center gap-2", children: record.actions }))] }, record.id))) }))] }) }));
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* The address and the two contact links of one record, drawn the same way in both
|
|
207
|
+
* arrangements.
|
|
208
|
+
*
|
|
209
|
+
* One helper rather than the markup written twice, and the reason is the same one
|
|
210
|
+
* `Download01` gives for its single `FileMeta`: two copies of this markup would be
|
|
211
|
+
* two answers to what a record's contact block looks like, and the second one is the
|
|
212
|
+
* one that goes stale. A caller who switches `variant` gets the same links in the
|
|
213
|
+
* same order, which also means a reader who has learned one arrangement has learned
|
|
214
|
+
* the other.
|
|
215
|
+
*
|
|
216
|
+
* **The postal lines are an `address` element, and the only reason for the one
|
|
217
|
+
* display utility on it is a platform default.** The element is right because that is
|
|
218
|
+
* what the content is, and a `div` would be a set of lines with no element saying so.
|
|
219
|
+
* The platform renders an `address` in italics and no token in this stylesheet
|
|
220
|
+
* resets that, so `not-italic` restores the reading type. It is a platform default
|
|
221
|
+
* rather than a design decision, which is why it is corrected here in the Block
|
|
222
|
+
* rather than authored into the token tier.
|
|
223
|
+
*
|
|
224
|
+
* **The links are `CtaLink` and not bare anchors, so each one carries the focus
|
|
225
|
+
* ring, the hover state and the announced role of one, and so the address is in the
|
|
226
|
+
* `href` where a reader can copy it rather than being the only words on the
|
|
227
|
+
* control.** The label is the caller's, and the type has already refused to build a
|
|
228
|
+
* record without one.
|
|
229
|
+
*/
|
|
230
|
+
function Contact({ record }) {
|
|
231
|
+
return (_jsxs("div", { "data-slot": "address-book-01-contact", className: "flex min-w-0 flex-1 flex-col gap-2", children: [_jsx("address", { "data-slot": "address-book-01-address", className: "text-muted-foreground flex flex-col not-italic", children: record.lines.map((line, index) => (_jsx("span", { "data-slot": "address-book-01-line", className: "block", children: line }, `${record.id}-${index}`))) }), record.phone === undefined || record.phoneLabel === undefined ? null : (_jsx(CtaLink, { "data-slot": "address-book-01-phone", href: `tel:${record.phone}`, variant: "ghost", size: "sm", className: "self-start", children: record.phoneLabel })), record.email === undefined || record.emailLabel === undefined ? null : (_jsx(CtaLink, { "data-slot": "address-book-01-email", href: `mailto:${record.email}`, variant: "ghost", size: "sm", className: "self-start", children: record.emailLabel }))] }));
|
|
232
|
+
}
|
|
233
|
+
export default AddressBook01;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blocks/address-book-01/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAK1D,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { AddressBook01, default } from './address-book-01.js';
|