@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,387 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type PriceProps } from '../../components/ui/price.js';
|
|
3
|
+
import { type HeadingLevel } from '../../components/ui/section.js';
|
|
4
|
+
/**
|
|
5
|
+
* One thing a reader has put aside: what it is, how many of it, what one costs,
|
|
6
|
+
* and what to do about either.
|
|
7
|
+
*
|
|
8
|
+
* **A cart is the storefront's word for a selection, and a selection is what this
|
|
9
|
+
* Block draws, so the translation is a change of subject rather than a change of
|
|
10
|
+
* shape.** A cart holds products a reader is about to buy; this row holds a set
|
|
11
|
+
* of nodes an operator is about to provision onto an estate. The pattern
|
|
12
|
+
* underneath is the same one in both: a line per chosen thing, a quantity the
|
|
13
|
+
* reader can move, a price per unit, a line total, and a control that takes the
|
|
14
|
+
* line out again. Everything the storefront version implies about money and
|
|
15
|
+
* about products is a prop here, and the name, the description, the mark and the
|
|
16
|
+
* note are the caller's own words, because a shared library has no catalogue to
|
|
17
|
+
* describe.
|
|
18
|
+
*
|
|
19
|
+
* `quantity` is the datum and the stepper is a control over it, so `quantity` is
|
|
20
|
+
* required rather than defaulted: a row that opened at one because this Block
|
|
21
|
+
* chose one would be a claim about how much of something a reader wants.
|
|
22
|
+
*/
|
|
23
|
+
export type BundleItem = {
|
|
24
|
+
/** A stable key for the row, and what `onQuantityChange` and `onRemove` report. */
|
|
25
|
+
id: string;
|
|
26
|
+
/**
|
|
27
|
+
* The name of the thing, as the caller writes it: a node, a role, a licence, a
|
|
28
|
+
* region.
|
|
29
|
+
*
|
|
30
|
+
* A short noun phrase. It is the anchor of the row, and a name that wraps to two
|
|
31
|
+
* lines is a row whose figures sit below their neighbours'.
|
|
32
|
+
*/
|
|
33
|
+
name: string;
|
|
34
|
+
/**
|
|
35
|
+
* The line under the name, for whatever the caller wants said about this thing
|
|
36
|
+
* specifically: what it does, what it needs, what it costs more of.
|
|
37
|
+
*
|
|
38
|
+
* A node rather than a string, because three of the four consumer sites put a
|
|
39
|
+
* link in it, pointing at the catalogue entry or at the pricing note, and a
|
|
40
|
+
* `string` would force a flattening that loses whichever of those it could not
|
|
41
|
+
* hold.
|
|
42
|
+
*/
|
|
43
|
+
detail?: ReactNode;
|
|
44
|
+
/**
|
|
45
|
+
* The mark beside the name, clipped to a fixed square so a row's height is the
|
|
46
|
+
* same whichever mark a caller passes.
|
|
47
|
+
*
|
|
48
|
+
* A node and not a `src`, because a mark on a bundle row is not always a
|
|
49
|
+
* picture: it is a monogram, a region code, a product's own glyph. Rendered as
|
|
50
|
+
* given, so whether it is announced is the caller's decision.
|
|
51
|
+
*/
|
|
52
|
+
mark?: ReactNode;
|
|
53
|
+
/**
|
|
54
|
+
* How many of it the reader has asked for.
|
|
55
|
+
*
|
|
56
|
+
* A number rather than a node, for the reason `Leaderboard01Entry.value` gives:
|
|
57
|
+
* a quantity is computed, so a caller whose quantities arrive as pre-formatted
|
|
58
|
+
* strings cannot clamp them, compare them or add them up. The reading is the
|
|
59
|
+
* number as it stands, and the words beside it are the caller's.
|
|
60
|
+
*/
|
|
61
|
+
quantity: number;
|
|
62
|
+
/**
|
|
63
|
+
* The smallest quantity the row will hold, clamped by the field on every path
|
|
64
|
+
* that can produce a value.
|
|
65
|
+
*
|
|
66
|
+
* A number and not a sentence, for the reason `NumberField`'s own JSDoc gives:
|
|
67
|
+
* without a bound a number field is a text field that happens to accept digits,
|
|
68
|
+
* and a bundle whose second node is not provisioned in singles is a bundle
|
|
69
|
+
* whose control lets the reader ask for something that cannot be.
|
|
70
|
+
*/
|
|
71
|
+
min?: number;
|
|
72
|
+
/** The largest quantity the row will hold. See `min`. */
|
|
73
|
+
max?: number;
|
|
74
|
+
/**
|
|
75
|
+
* What one of them costs, with everything about how that amount is written.
|
|
76
|
+
*
|
|
77
|
+
* A `PriceProps` rather than a number and a symbol, and the argument is
|
|
78
|
+
* `RateCard01`'s in full: a symbol says the currency and nothing else, while a
|
|
79
|
+
* price also has a currency code, a precision, a period and a locale, and
|
|
80
|
+
* `Intl` already knows all four. A bundle is a second surface where a
|
|
81
|
+
* hardcoded symbol would be a legal claim about a market, because the figure at
|
|
82
|
+
* the bottom of it is the number a reader is about to be charged.
|
|
83
|
+
*/
|
|
84
|
+
unit?: PriceProps;
|
|
85
|
+
/** Where the thing is described in full. Rendered as a real link. */
|
|
86
|
+
href?: string;
|
|
87
|
+
/**
|
|
88
|
+
* The words on that link, and required whenever `href` is set.
|
|
89
|
+
*
|
|
90
|
+
* A link announced by its address is punctuation rather than a name, which is
|
|
91
|
+
* the same defect `Retention01` throws on. The sentence saying what following
|
|
92
|
+
* it does belongs to the caller, because the destination is theirs.
|
|
93
|
+
*/
|
|
94
|
+
hrefLabel?: string;
|
|
95
|
+
/**
|
|
96
|
+
* The note under the row's figures, for the one thing about this line the
|
|
97
|
+
* figures do not say: that it is prorated, that it is billed yearly, that the
|
|
98
|
+
* second one is free.
|
|
99
|
+
*/
|
|
100
|
+
note?: ReactNode;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* The three names a stepper and its field need, and Prism cannot write any of
|
|
104
|
+
* them.
|
|
105
|
+
*
|
|
106
|
+
* **A stepper is two icons and an icon has no name, so the names are the
|
|
107
|
+
* caller's, and this is not a preference.** `NumberField` requires them for the
|
|
108
|
+
* reason its own JSDoc states: a stepper is announced by whatever it is given, and
|
|
109
|
+
* "increase" is wrong for at least one of every product's two languages. So the
|
|
110
|
+
* pair is required rather than defaulted, and a caller that has not written them
|
|
111
|
+
* yet gets a diagnostic rather than an English verb inside their product.
|
|
112
|
+
*
|
|
113
|
+
* `field` is the accessible name of the quantity field itself, and it is a
|
|
114
|
+
* function rather than a string for the reason every figure in this package takes
|
|
115
|
+
* a function: the name has to carry the row it belongs to, and "Quantity" on
|
|
116
|
+
* three rows is the one name every field in this section shares, which is how two
|
|
117
|
+
* fields in one form become indistinguishable to a screen reader.
|
|
118
|
+
*/
|
|
119
|
+
export type Bundle01QuantityLabels = {
|
|
120
|
+
/** The accessible name of the control that adds one. */
|
|
121
|
+
increment: string;
|
|
122
|
+
/** The accessible name of the control that takes one away. */
|
|
123
|
+
decrement: string;
|
|
124
|
+
/** The accessible name of a row's quantity field, given the row. */
|
|
125
|
+
field: (item: {
|
|
126
|
+
id: string;
|
|
127
|
+
name: string;
|
|
128
|
+
quantity: number;
|
|
129
|
+
}) => string;
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* One line of the breakdown that sits above the total: what it is for, and what
|
|
133
|
+
* it comes to.
|
|
134
|
+
*
|
|
135
|
+
* **The breakdown is required and the total is a prop, and the two decisions are
|
|
136
|
+
* one decision.** A selection with a total and no breakdown is a total the reader
|
|
137
|
+
* cannot check: they can see the figure and they cannot see the arithmetic that
|
|
138
|
+
* produced it, and a number nobody can check is a number a reader has to take on
|
|
139
|
+
* trust. So the caller states the lines, in their own order, and this Block draws
|
|
140
|
+
* them beside the total rather than in a band a reader has to hold in their head
|
|
141
|
+
* alongside it.
|
|
142
|
+
*
|
|
143
|
+
* The rejected alternative was a Block that added the rows up, and it is refused
|
|
144
|
+
* for a reason that has nothing to do with arithmetic being difficult. A caller's
|
|
145
|
+
* catalogue has rules this Block cannot see: a discount that applies over a
|
|
146
|
+
* threshold, a credit already on the account, a tax that depends on where the
|
|
147
|
+
* reader is, a floor under the whole run, a rounding rule applied once at the end
|
|
148
|
+
* rather than per line. A Block that summed the rows would be choosing between
|
|
149
|
+
* those rules without knowing any of them, and the figure it printed would be
|
|
150
|
+
* wrong by exactly the amount a reader cared about. So the total is a prop, which
|
|
151
|
+
* is the same relationship a real invoice has with the thing that issued it.
|
|
152
|
+
*/
|
|
153
|
+
export type BundleSummary = {
|
|
154
|
+
/** A stable key for the line, because a breakdown may repeat a label. */
|
|
155
|
+
id: string;
|
|
156
|
+
/** What this line is for, in the caller's words. */
|
|
157
|
+
label: ReactNode;
|
|
158
|
+
/** What it comes to, already formatted by the caller. */
|
|
159
|
+
value: ReactNode;
|
|
160
|
+
/**
|
|
161
|
+
* Whether this is the line the eye should land on.
|
|
162
|
+
*
|
|
163
|
+
* A weight and a step rather than a fill or a rule, for the reason emphasis on
|
|
164
|
+
* a figure is emphasis on a number: a surface behind a number is a surface a
|
|
165
|
+
* reader has to read through.
|
|
166
|
+
*/
|
|
167
|
+
emphasis?: boolean;
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* The props a Bundle01 takes, and the one conditional pair among them.
|
|
171
|
+
*
|
|
172
|
+
* Every string and every number is a prop and the Block ships none: no item, no
|
|
173
|
+
* quantity, no price, no breakdown line, and not one word of the sentence that
|
|
174
|
+
* says what a row's number counts. The stepper's two names and the remove
|
|
175
|
+
* control's name are the sharpest version of that rule, because a Block that
|
|
176
|
+
* hardcoded them would put an English verb and an English noun into every
|
|
177
|
+
* consumer's product, in sentences the consumer cannot translate and this
|
|
178
|
+
* package cannot see the context of.
|
|
179
|
+
*/
|
|
180
|
+
export type Bundle01Props = {
|
|
181
|
+
/** Optional label above the section title. See the No-Default-Eyebrow Rule. */
|
|
182
|
+
eyebrow?: ReactNode;
|
|
183
|
+
/** The heading. Required, because a selection with no heading is a fragment. */
|
|
184
|
+
title: ReactNode;
|
|
185
|
+
/** One supporting line under the heading, for the part the title cannot carry. */
|
|
186
|
+
description?: ReactNode;
|
|
187
|
+
/**
|
|
188
|
+
* The things that have been put aside, in the order the reader chose them.
|
|
189
|
+
*
|
|
190
|
+
* Order is the caller's because it is a claim about what was chosen first, and a
|
|
191
|
+
* Block that sorted a selection would be reordering a reader's decisions.
|
|
192
|
+
*/
|
|
193
|
+
items: readonly BundleItem[];
|
|
194
|
+
/**
|
|
195
|
+
* Called with a row's `id` and the quantity the reader asked for.
|
|
196
|
+
*
|
|
197
|
+
* Optional, and its absence is a decision rather than a gap: a selection that
|
|
198
|
+
* has been finalised somewhere else is drawn as a list of figures with no
|
|
199
|
+
* control, because a control that changes nothing is a control that lies about
|
|
200
|
+
* what is on the page. When it is absent no stepper is drawn at all.
|
|
201
|
+
*/
|
|
202
|
+
onQuantityChange?: (id: string, quantity: number) => void;
|
|
203
|
+
/**
|
|
204
|
+
* The names the two steppers and the quantity field are announced by.
|
|
205
|
+
*
|
|
206
|
+
* Optional in the type and required in practice whenever `onQuantityChange` is
|
|
207
|
+
* set, and the run throws without it. The same arrangement `AuditLog01` uses
|
|
208
|
+
* for `diffLabels` and `Project01` uses for `progressLabel`: a selection with
|
|
209
|
+
* no handler on it should not have to invent two words for a control that Block
|
|
210
|
+
* is not drawing, and a selection that has one cannot be shipped without them.
|
|
211
|
+
* Two steppers with no names are announced as "button" twice, and a quantity
|
|
212
|
+
* field with no name is announced as "spin button", which is the one name every
|
|
213
|
+
* other field in this section shares.
|
|
214
|
+
*/
|
|
215
|
+
quantityLabels?: Bundle01QuantityLabels;
|
|
216
|
+
/**
|
|
217
|
+
* The name of the control that takes a row out of the selection, given the
|
|
218
|
+
* row.
|
|
219
|
+
*
|
|
220
|
+
* A function for the reason `quantityLabels.field` is one: "Remove" on four
|
|
221
|
+
* rows is one name for four different things, and a reader who hears it cannot
|
|
222
|
+
* tell which node is about to leave the estate. It is in a union with
|
|
223
|
+
* `onRemove` below, and that union is what makes the pairing enforceable rather
|
|
224
|
+
* than a convention.
|
|
225
|
+
*/
|
|
226
|
+
removeLabel?: (item: {
|
|
227
|
+
id: string;
|
|
228
|
+
name: string;
|
|
229
|
+
}) => string;
|
|
230
|
+
/**
|
|
231
|
+
* The breakdown above the total, in the caller's own order.
|
|
232
|
+
*
|
|
233
|
+
* **Required, and the argument is on `BundleSummary`.** A selection with a
|
|
234
|
+
* total and no breakdown is a total the reader cannot check, and a Block that
|
|
235
|
+
* derived the total would be doing arithmetic on a catalogue whose rules it
|
|
236
|
+
* cannot see: a threshold discount, a credit, a tax that depends on the reader,
|
|
237
|
+
* a floor, a rounding applied once at the end. The caller states the lines and
|
|
238
|
+
* the figure they come to, and this Block draws both.
|
|
239
|
+
*/
|
|
240
|
+
summary: readonly BundleSummary[];
|
|
241
|
+
/**
|
|
242
|
+
* What the whole selection comes to.
|
|
243
|
+
*
|
|
244
|
+
* A `PriceProps` and never a number this Block derived, and the cost of that
|
|
245
|
+
* refusal is named rather than hidden: a caller with a flat catalogue writes the
|
|
246
|
+
* sum as well as the lines, and a caller whose rules change changes one place
|
|
247
|
+
* rather than none. That is the cheaper mistake. A total this Block chose would
|
|
248
|
+
* be a number a reader is about to be charged, chosen by a component that was
|
|
249
|
+
* installed to draw a list.
|
|
250
|
+
*/
|
|
251
|
+
total?: PriceProps;
|
|
252
|
+
/**
|
|
253
|
+
* The controls under the total: the control that commits the selection, and the
|
|
254
|
+
* route to the thing that explains it.
|
|
255
|
+
*
|
|
256
|
+
* A slot rather than a pair of named buttons, because which controls a
|
|
257
|
+
* selection has is the caller's fact. An estate that provisions from a
|
|
258
|
+
* selection and a shop that charges for one share this frame and nothing else,
|
|
259
|
+
* and a Block that drew its own commit control would hand every consumer a
|
|
260
|
+
* permission its product may not grant.
|
|
261
|
+
*/
|
|
262
|
+
actions?: ReactNode;
|
|
263
|
+
/**
|
|
264
|
+
* What the Block renders in place of the rows when there are none.
|
|
265
|
+
*
|
|
266
|
+
* Required, and a slot rather than a string, because a selection with nothing
|
|
267
|
+
* in it is either a reader who has not chosen anything yet or a reader whose
|
|
268
|
+
* whole selection has just been provisioned and removed, and those are opposite
|
|
269
|
+
* claims. A Block that wrote either one would be wrong in half the products that
|
|
270
|
+
* installed it.
|
|
271
|
+
*/
|
|
272
|
+
empty: ReactNode;
|
|
273
|
+
/** Heading level for the section heading. See `HeadingLevel`. */
|
|
274
|
+
headingLevel?: HeadingLevel;
|
|
275
|
+
/** Layout only. Changing a Prism-owned visual property from here is prohibited. */
|
|
276
|
+
className?: string;
|
|
277
|
+
} & ({
|
|
278
|
+
/**
|
|
279
|
+
* Called with a row's `id` when the reader takes it out.
|
|
280
|
+
*
|
|
281
|
+
* Required on this arm and forbidden on the other, for the reason the
|
|
282
|
+
* authoring contract states: a prop that is required in one shape and
|
|
283
|
+
* forbidden in another cannot be an optional beside an optional. A caller
|
|
284
|
+
* who wrote `onRemove` and forgot `removeLabel` should not compile.
|
|
285
|
+
*/
|
|
286
|
+
onRemove: (id: string) => void;
|
|
287
|
+
/**
|
|
288
|
+
* The name of the control that takes this row out.
|
|
289
|
+
*
|
|
290
|
+
* Required on this arm, and a function for the reason `removeLabel`'s own
|
|
291
|
+
* entry gives.
|
|
292
|
+
*/
|
|
293
|
+
removeLabel: (item: {
|
|
294
|
+
id: string;
|
|
295
|
+
name: string;
|
|
296
|
+
}) => string;
|
|
297
|
+
} | {
|
|
298
|
+
/** No control, so no name for one. */
|
|
299
|
+
onRemove?: never;
|
|
300
|
+
removeLabel?: never;
|
|
301
|
+
});
|
|
302
|
+
/**
|
|
303
|
+
* A selection of things with quantities, the figures each row carries, the
|
|
304
|
+
* breakdown of what they come to, and the controls that commit them.
|
|
305
|
+
*
|
|
306
|
+
* **The quantity stepper is `NumberField` and the remove control is a `Button`,
|
|
307
|
+
* and the rejected alternative for both is a `div` with a handler on it.** That
|
|
308
|
+
* alternative is the reason this file is a client Component at all, and it is
|
|
309
|
+
* worth saying what it costs in full. A `div` with `onClick` is not focusable, so
|
|
310
|
+
* a keyboard reader cannot reach the control; it carries no role, so a screen
|
|
311
|
+
* reader announces nothing at all where the control is; it has no disabled state,
|
|
312
|
+
* so there is nothing to announce while a request is in flight; and it has no
|
|
313
|
+
* activation semantics, so a reader pressing Space scrolls the page rather than
|
|
314
|
+
* pressing the control. A stepper is worse than a remove control, because a
|
|
315
|
+
* stepper that cannot be reached is a quantity a keyboard reader cannot change at
|
|
316
|
+
* all, and a selection whose quantities cannot be changed is a selection whose
|
|
317
|
+
* reader has to go somewhere else to do it. `NumberField` already answers all
|
|
318
|
+
* four: it renders a real input, it names both steppers from a prop, and it
|
|
319
|
+
* clamps a value that arrives from outside the row's own range rather than
|
|
320
|
+
* displaying one number and submitting another. The `Button` is the same argument
|
|
321
|
+
* in one control: a real `<button>` is in the tab order, announces as a button,
|
|
322
|
+
* takes Space and Enter, and carries the focus ring at full strength.
|
|
323
|
+
*
|
|
324
|
+
* **The line total is the one piece of arithmetic in this file, and it is
|
|
325
|
+
* `quantity` multiplied by the caller's own `unit.amount`, formatted by the
|
|
326
|
+
* caller's own formatter.** The alternative was refusing to draw it, which would
|
|
327
|
+
* have left a row with a per-unit price and no line figure, and that is a cart a
|
|
328
|
+
* reader has to multiply in their head, which is the one thing a cart exists to
|
|
329
|
+
* stop them doing. The multiplication is safe for a reason the total is not: both
|
|
330
|
+
* factors are on this row, in this row's own props, and the reader can see them
|
|
331
|
+
* either side of the result, so nothing here is a claim about a rule they cannot
|
|
332
|
+
* check. A caller whose line total is not a multiple of its unit price has no
|
|
333
|
+
* seam here, and the cost is named: that caller composes their own line figure
|
|
334
|
+
* into `note`, and a selection with a per-line discount drawn as a note is less
|
|
335
|
+
* legible than one where the discount is drawn as the figure it is.
|
|
336
|
+
*
|
|
337
|
+
* **`summary` is required and the total is a prop, and both are the same
|
|
338
|
+
* decision.** A selection with a total and no breakdown is a total the reader
|
|
339
|
+
* cannot check, and a Block that derived the total would be doing arithmetic on
|
|
340
|
+
* a caller's catalogue: a discount that applies over a threshold, a credit
|
|
341
|
+
* already on the account, a tax that depends on where the reader is, a floor
|
|
342
|
+
* under the whole run, a rounding rule applied once at the end rather than per
|
|
343
|
+
* line. A Block that summed the rows would be choosing between those rules
|
|
344
|
+
* without knowing any of them, and the figure it printed would be wrong by
|
|
345
|
+
* exactly the amount a reader cared about. So a derived total is a number the
|
|
346
|
+
* Block chose, this Block never chooses one, and the caller states both the lines
|
|
347
|
+
* and the figure they come to.
|
|
348
|
+
*
|
|
349
|
+
* **The stepper appears only where there is a handler, and that is a decision
|
|
350
|
+
* about controls rather than about layout.** A quantity field with no
|
|
351
|
+
* `onQuantityChange` is drawn as a figure in the mono face, and no control is
|
|
352
|
+
* drawn at all. The alternative was to draw the field read-only, which looks
|
|
353
|
+
* identical to the editable one and differs only in whether the reader can do
|
|
354
|
+
* anything, and a control that looks live and is not is worse than no control: a
|
|
355
|
+
* reader presses it, nothing happens, and they learn that the rest of the page
|
|
356
|
+
* does not respond either. The same argument is why `onRemove` and `removeLabel`
|
|
357
|
+
* are a union rather than two optionals.
|
|
358
|
+
*
|
|
359
|
+
* **The row is a list, not a table, and the reason is that a row's figures are
|
|
360
|
+
* not comparable across rows.** A table is the right answer when a reader's
|
|
361
|
+
* question is a comparison: is this row cheaper than that, does this one come
|
|
362
|
+
* before that. Here the question is a decision about one thing, and a row is read
|
|
363
|
+
* as a unit with its figures at the end of it. A screen reader navigating a table
|
|
364
|
+
* here would hear four column headings per row for a set of values that is not a
|
|
365
|
+
* grid, and a caller who genuinely has a grid of them wants `Summary01`, which is
|
|
366
|
+
* the Block for a set of lines and their total.
|
|
367
|
+
*
|
|
368
|
+
* **An empty selection draws the caller's sentence and nothing else, and the cost
|
|
369
|
+
* is that a heading can survive on a page whose selection has just been
|
|
370
|
+
* committed.** The alternative was to draw the breakdown and the total over no
|
|
371
|
+
* rows, which is a receipt for a purchase that has not happened, and this Block
|
|
372
|
+
* will not print one.
|
|
373
|
+
*
|
|
374
|
+
* It is a client Component, and the reason is the handlers rather than any state
|
|
375
|
+
* of its own. `onQuantityChange` and `onRemove` are functions, a function is a
|
|
376
|
+
* piece of state, and state is a client module: a server Component cannot hand an
|
|
377
|
+
* event handler down to a `<button>`, so a caller rendering this from a server
|
|
378
|
+
* page gets a selection whose controls do nothing. The cost is stated rather than
|
|
379
|
+
* hidden, and it is the cost every form Block in this package pays: a selection
|
|
380
|
+
* with no handler on it is still a client Component, because the directive is a
|
|
381
|
+
* property of the module rather than of a call, and the alternative was a Block
|
|
382
|
+
* whose `onRemove` silently did nothing in a server render, which is worse than
|
|
383
|
+
* a client boundary nobody asked for.
|
|
384
|
+
*/
|
|
385
|
+
export declare function Bundle01({ eyebrow, title, description, items, onQuantityChange, quantityLabels, onRemove, removeLabel, summary, total, actions, empty, headingLevel, className, }: Bundle01Props): import("react").JSX.Element;
|
|
386
|
+
export default Bundle01;
|
|
387
|
+
//# sourceMappingURL=bundle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/blocks/bundle-01/bundle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAGxF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,mFAAmF;IACnF,EAAE,EAAE,MAAM,CAAA;IACV;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;;;;;;OAOG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAA;IACjB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAA;IACjB,oEAAoE;IACpE,KAAK,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAA;CACxE,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,yEAAyE;IACzE,EAAE,EAAE,MAAM,CAAA;IACV,oDAAoD;IACpD,KAAK,EAAE,SAAS,CAAA;IAChB,yDAAyD;IACzD,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,+EAA+E;IAC/E,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,gFAAgF;IAChF,KAAK,EAAE,SAAS,CAAA;IAChB,kFAAkF;IAClF,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB;;;;;OAKG;IACH,KAAK,EAAE,SAAS,UAAU,EAAE,CAAA;IAC5B;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACzD;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAA;IACvC;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAA;IAC5D;;;;;;;;;OASG;IACH,OAAO,EAAE,SAAS,aAAa,EAAE,CAAA;IACjC;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;;;;;;OAQG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB,iEAAiE;IACjE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,CACA;IACE;;;;;;;OAOG;IACH,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B;;;;;OAKG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAA;CAC5D,GACD;IACE,sCAAsC;IACtC,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,WAAW,CAAC,EAAE,KAAK,CAAA;CACpB,CACJ,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,KAAK,EACL,WAAW,EACX,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,WAAW,EACX,OAAO,EACP,KAAK,EACL,OAAO,EACP,KAAK,EACL,YAAmB,EACnB,SAAS,GACV,EAAE,aAAa,+BA2Pf;AAED,eAAe,QAAQ,CAAA"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Button } from '../../components/ui/button.js';
|
|
4
|
+
import { CtaLink } from '../../components/ui/cta-link.js';
|
|
5
|
+
import { NumberField } from '../../components/ui/number-field.js';
|
|
6
|
+
import { Price } from '../../components/ui/price.js';
|
|
7
|
+
import { Section, SectionHeading } from '../../components/ui/section.js';
|
|
8
|
+
import { cn } from '../../lib/utils.js';
|
|
9
|
+
/**
|
|
10
|
+
* A selection of things with quantities, the figures each row carries, the
|
|
11
|
+
* breakdown of what they come to, and the controls that commit them.
|
|
12
|
+
*
|
|
13
|
+
* **The quantity stepper is `NumberField` and the remove control is a `Button`,
|
|
14
|
+
* and the rejected alternative for both is a `div` with a handler on it.** That
|
|
15
|
+
* alternative is the reason this file is a client Component at all, and it is
|
|
16
|
+
* worth saying what it costs in full. A `div` with `onClick` is not focusable, so
|
|
17
|
+
* a keyboard reader cannot reach the control; it carries no role, so a screen
|
|
18
|
+
* reader announces nothing at all where the control is; it has no disabled state,
|
|
19
|
+
* so there is nothing to announce while a request is in flight; and it has no
|
|
20
|
+
* activation semantics, so a reader pressing Space scrolls the page rather than
|
|
21
|
+
* pressing the control. A stepper is worse than a remove control, because a
|
|
22
|
+
* stepper that cannot be reached is a quantity a keyboard reader cannot change at
|
|
23
|
+
* all, and a selection whose quantities cannot be changed is a selection whose
|
|
24
|
+
* reader has to go somewhere else to do it. `NumberField` already answers all
|
|
25
|
+
* four: it renders a real input, it names both steppers from a prop, and it
|
|
26
|
+
* clamps a value that arrives from outside the row's own range rather than
|
|
27
|
+
* displaying one number and submitting another. The `Button` is the same argument
|
|
28
|
+
* in one control: a real `<button>` is in the tab order, announces as a button,
|
|
29
|
+
* takes Space and Enter, and carries the focus ring at full strength.
|
|
30
|
+
*
|
|
31
|
+
* **The line total is the one piece of arithmetic in this file, and it is
|
|
32
|
+
* `quantity` multiplied by the caller's own `unit.amount`, formatted by the
|
|
33
|
+
* caller's own formatter.** The alternative was refusing to draw it, which would
|
|
34
|
+
* have left a row with a per-unit price and no line figure, and that is a cart a
|
|
35
|
+
* reader has to multiply in their head, which is the one thing a cart exists to
|
|
36
|
+
* stop them doing. The multiplication is safe for a reason the total is not: both
|
|
37
|
+
* factors are on this row, in this row's own props, and the reader can see them
|
|
38
|
+
* either side of the result, so nothing here is a claim about a rule they cannot
|
|
39
|
+
* check. A caller whose line total is not a multiple of its unit price has no
|
|
40
|
+
* seam here, and the cost is named: that caller composes their own line figure
|
|
41
|
+
* into `note`, and a selection with a per-line discount drawn as a note is less
|
|
42
|
+
* legible than one where the discount is drawn as the figure it is.
|
|
43
|
+
*
|
|
44
|
+
* **`summary` is required and the total is a prop, and both are the same
|
|
45
|
+
* decision.** A selection with a total and no breakdown is a total the reader
|
|
46
|
+
* cannot check, and a Block that derived the total would be doing arithmetic on
|
|
47
|
+
* a caller's catalogue: a discount that applies over a threshold, a credit
|
|
48
|
+
* already on the account, a tax that depends on where the reader is, a floor
|
|
49
|
+
* under the whole run, a rounding rule applied once at the end rather than per
|
|
50
|
+
* line. A Block that summed the rows would be choosing between those rules
|
|
51
|
+
* without knowing any of them, and the figure it printed would be wrong by
|
|
52
|
+
* exactly the amount a reader cared about. So a derived total is a number the
|
|
53
|
+
* Block chose, this Block never chooses one, and the caller states both the lines
|
|
54
|
+
* and the figure they come to.
|
|
55
|
+
*
|
|
56
|
+
* **The stepper appears only where there is a handler, and that is a decision
|
|
57
|
+
* about controls rather than about layout.** A quantity field with no
|
|
58
|
+
* `onQuantityChange` is drawn as a figure in the mono face, and no control is
|
|
59
|
+
* drawn at all. The alternative was to draw the field read-only, which looks
|
|
60
|
+
* identical to the editable one and differs only in whether the reader can do
|
|
61
|
+
* anything, and a control that looks live and is not is worse than no control: a
|
|
62
|
+
* reader presses it, nothing happens, and they learn that the rest of the page
|
|
63
|
+
* does not respond either. The same argument is why `onRemove` and `removeLabel`
|
|
64
|
+
* are a union rather than two optionals.
|
|
65
|
+
*
|
|
66
|
+
* **The row is a list, not a table, and the reason is that a row's figures are
|
|
67
|
+
* not comparable across rows.** A table is the right answer when a reader's
|
|
68
|
+
* question is a comparison: is this row cheaper than that, does this one come
|
|
69
|
+
* before that. Here the question is a decision about one thing, and a row is read
|
|
70
|
+
* as a unit with its figures at the end of it. A screen reader navigating a table
|
|
71
|
+
* here would hear four column headings per row for a set of values that is not a
|
|
72
|
+
* grid, and a caller who genuinely has a grid of them wants `Summary01`, which is
|
|
73
|
+
* the Block for a set of lines and their total.
|
|
74
|
+
*
|
|
75
|
+
* **An empty selection draws the caller's sentence and nothing else, and the cost
|
|
76
|
+
* is that a heading can survive on a page whose selection has just been
|
|
77
|
+
* committed.** The alternative was to draw the breakdown and the total over no
|
|
78
|
+
* rows, which is a receipt for a purchase that has not happened, and this Block
|
|
79
|
+
* will not print one.
|
|
80
|
+
*
|
|
81
|
+
* It is a client Component, and the reason is the handlers rather than any state
|
|
82
|
+
* of its own. `onQuantityChange` and `onRemove` are functions, a function is a
|
|
83
|
+
* piece of state, and state is a client module: a server Component cannot hand an
|
|
84
|
+
* event handler down to a `<button>`, so a caller rendering this from a server
|
|
85
|
+
* page gets a selection whose controls do nothing. The cost is stated rather than
|
|
86
|
+
* hidden, and it is the cost every form Block in this package pays: a selection
|
|
87
|
+
* with no handler on it is still a client Component, because the directive is a
|
|
88
|
+
* property of the module rather than of a call, and the alternative was a Block
|
|
89
|
+
* whose `onRemove` silently did nothing in a server render, which is worse than
|
|
90
|
+
* a client boundary nobody asked for.
|
|
91
|
+
*/
|
|
92
|
+
export function Bundle01({ eyebrow, title, description, items, onQuantityChange, quantityLabels, onRemove, removeLabel, summary, total, actions, empty, headingLevel = 'h2', className, }) {
|
|
93
|
+
for (const item of items) {
|
|
94
|
+
if ((item.href === undefined) !== (item.hrefLabel === undefined)) {
|
|
95
|
+
throw new Error(`Bundle01: the row "${item.name}" declares one of href and hrefLabel without the other, so the ` +
|
|
96
|
+
'row would carry a link with no words on it, or a name with no link beside it. Pass the words ' +
|
|
97
|
+
'that say what following it does, or drop the href.');
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (onQuantityChange !== undefined && quantityLabels === undefined) {
|
|
101
|
+
throw new Error('Bundle01: onQuantityChange is set and quantityLabels is not, so every stepper on this selection ' +
|
|
102
|
+
'would be two icons with no accessible name, and every quantity field would be announced as a ' +
|
|
103
|
+
'spin button, which is the one name all of them share. Pass the two names your readers use for ' +
|
|
104
|
+
'the steppers and the function that names a row field.');
|
|
105
|
+
}
|
|
106
|
+
if (items.length === 0) {
|
|
107
|
+
return (_jsx(Section, { "data-slot": "bundle-01", "data-empty": "true", className: cn(className), children: _jsxs("div", { "data-slot": "bundle-01-body", className: "flex flex-col gap-8", children: [_jsx(SectionHeading, { as: headingLevel, align: "left", eyebrow: eyebrow, title: title, description: description }), _jsx("div", { "data-slot": "bundle-01-empty", className: "text-muted-foreground text-pretty text-sm", children: empty })] }) }));
|
|
108
|
+
}
|
|
109
|
+
return (_jsx(Section, { "data-slot": "bundle-01", className: cn(className), children: _jsxs("div", { "data-slot": "bundle-01-body", className: "flex flex-col gap-10", children: [_jsx(SectionHeading, { as: headingLevel, align: "left", eyebrow: eyebrow, title: title, description: description }), _jsx("ul", { "data-slot": "bundle-01-items", className: "flex flex-col", children: items.map((item) => (_jsxs("li", { "data-slot": "bundle-01-item", "data-item": item.id, className: "border-border flex flex-col gap-4 border-b py-5 first:border-t sm:flex-row sm:items-center sm:gap-6", children: [_jsxs("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [item.mark === undefined ? null : (
|
|
110
|
+
/*
|
|
111
|
+
The mark, clipped to a fixed square, so a row's height is the
|
|
112
|
+
same whichever mark a caller passes. Left in the accessibility
|
|
113
|
+
tree because a monogram and a region code both carry something
|
|
114
|
+
a row's name does not, and a caller whose mark really is
|
|
115
|
+
decoration hides it themselves.
|
|
116
|
+
*/
|
|
117
|
+
_jsx("span", { "data-slot": "bundle-01-mark", className: "bg-muted text-muted-foreground flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-md text-xs font-semibold", children: item.mark })), _jsxs("div", { "data-slot": "bundle-01-text", className: "flex min-w-0 flex-1 flex-col gap-1", children: [_jsx("span", { className: "text-sm font-semibold", children: item.href === undefined || item.hrefLabel === undefined ? (item.name) : (
|
|
118
|
+
/*
|
|
119
|
+
A `CtaLink` at the ghost weight, so the link carries the
|
|
120
|
+
focus ring, the announced role of a link and a destination
|
|
121
|
+
the reader can see before following it. The words are the
|
|
122
|
+
caller's, and the pair `href` and `hrefLabel` is checked
|
|
123
|
+
above rather than being allowed to resolve to a link with
|
|
124
|
+
no accessible name.
|
|
125
|
+
*/
|
|
126
|
+
_jsx(CtaLink, { "data-slot": "bundle-01-link", href: item.href, variant: "ghost", size: "sm", className: "h-auto p-0", children: item.hrefLabel })) }), item.detail === undefined ? null : (_jsx("span", { "data-slot": "bundle-01-detail", className: "text-muted-foreground text-pretty text-sm", children: item.detail }))] })] }), _jsxs("div", { "data-slot": "bundle-01-figures", className: "flex shrink-0 flex-wrap items-center gap-x-6 gap-y-3", children: [onQuantityChange === undefined ? (
|
|
127
|
+
/*
|
|
128
|
+
No handler, so no control. The figure is in the mono face
|
|
129
|
+
because a quantity is a machine-readable reading and this is the
|
|
130
|
+
mono stack annotating one, and it is not the stepper: a control
|
|
131
|
+
that looks live and is not teaches a reader that the rest of the
|
|
132
|
+
page does not respond either.
|
|
133
|
+
*/
|
|
134
|
+
_jsx("span", { "data-slot": "bundle-01-quantity", className: "font-mono text-sm tabular-nums", children: item.quantity })) : (_jsx(NumberField, { "data-slot": "bundle-01-quantity", labels: quantityLabels, "aria-label": quantityLabels?.field({
|
|
135
|
+
id: item.id,
|
|
136
|
+
name: item.name,
|
|
137
|
+
quantity: item.quantity,
|
|
138
|
+
}), value: item.quantity, onValueChange: (next) => {
|
|
139
|
+
if (next === null)
|
|
140
|
+
return;
|
|
141
|
+
onQuantityChange(item.id, next);
|
|
142
|
+
}, min: item.min, max: item.max, className: "w-24" })), item.unit === undefined ? null : (_jsx("span", { "data-slot": "bundle-01-unit", className: "text-muted-foreground text-sm", children: _jsx(Price, { ...item.unit, size: "sm" }) })), item.unit === undefined || item.unit.amount === undefined ? null : (
|
|
143
|
+
/*
|
|
144
|
+
The line total, and the one multiplication in this file. See the
|
|
145
|
+
JSDoc above: both factors are on this row and the caller's own
|
|
146
|
+
`PriceProps` does the formatting, so the reader can see the
|
|
147
|
+
arithmetic either side of the result. It is drawn a step above
|
|
148
|
+
the unit price, because it is the figure the row is for and the
|
|
149
|
+
unit price is the qualifier beside it.
|
|
150
|
+
*/
|
|
151
|
+
_jsx(Price, { "data-slot": "bundle-01-line", ...item.unit, amount: item.unit.amount * item.quantity, size: "md", className: "font-semibold" })), onRemove === undefined || removeLabel === undefined ? null : (_jsx(Button, { "data-slot": "bundle-01-remove", type: "button", variant: "ghost", size: "sm", onClick: () => onRemove(item.id), children: removeLabel({ id: item.id, name: item.name }) }))] }), item.note === undefined ? null : (_jsx("span", { "data-slot": "bundle-01-note", className: "text-muted-foreground shrink-0 text-pretty text-xs sm:max-w-64", children: item.note }))] }, item.id))) }), _jsxs("div", { "data-slot": "bundle-01-summary", className: "flex flex-col gap-4", children: [total === undefined ? null : (_jsx(Price, { "data-slot": "bundle-01-total", ...total, size: "xl" })), _jsx("dl", { className: "flex flex-col gap-2", children: summary.map((line) => (_jsxs("div", { "data-slot": "bundle-01-summary-line", "data-emphasis": line.emphasis ? 'true' : undefined, className: "flex items-baseline justify-between gap-6", children: [_jsx("dt", { className: cn('text-muted-foreground text-sm', line.emphasis ? 'text-foreground font-medium' : null), children: line.label }), _jsx("dd", { className: cn('text-right text-sm tabular-nums', line.emphasis ? 'text-base font-semibold' : null), children: line.value })] }, line.id))) }), actions === undefined ? null : (_jsx("div", { "data-slot": "bundle-01-actions", className: "flex flex-wrap items-center gap-3", children: actions }))] })] }) }));
|
|
152
|
+
}
|
|
153
|
+
export default Bundle01;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blocks/bundle-01/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAM5C,YAAY,EACV,aAAa,EACb,sBAAsB,EACtB,UAAU,EACV,aAAa,GACd,MAAM,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Bundle01, default } from './bundle.js';
|