@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,357 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type HeadingLevel } from '../../components/ui/section.js';
|
|
3
|
+
/**
|
|
4
|
+
* The five controls a provisioning run can ask a reader to fill in.
|
|
5
|
+
*
|
|
6
|
+
* A closed set, and the closure is the point, for the reason `ContactField`
|
|
7
|
+
* gives at full length: the controls are this Block's, so the field declaration is
|
|
8
|
+
* data and Prism supplies none of it. A run that is committed in three steps and
|
|
9
|
+
* four that is committed in one want the same Component, and a provisioning
|
|
10
|
+
* question that needs a date picker or a file, or a set of radio buttons whose
|
|
11
|
+
* options each carry their own description, is a caller's own surface composed
|
|
12
|
+
* beside this one rather than a sixth arm here. The cost is named rather than
|
|
13
|
+
* hidden: a consumer whose step needs a control Prism does not draw cannot reach
|
|
14
|
+
* it through this type, and the answer is a step with no fields plus the control
|
|
15
|
+
* the caller composes into `actions`.
|
|
16
|
+
*/
|
|
17
|
+
export type ProvisioningFieldType = 'text' | 'email' | 'number' | 'select' | 'textarea';
|
|
18
|
+
/**
|
|
19
|
+
* One choice in a `select` field, and nothing else.
|
|
20
|
+
*
|
|
21
|
+
* A native `<option>` holds text and nothing more, which is the whole reason a
|
|
22
|
+
* provisioning step's select is a `NativeSelect` rather than the Base UI one. The
|
|
23
|
+
* two values are a string and its label, so a caller who needs a description
|
|
24
|
+
* beside an option, a count, or anything nested is reaching for a control the
|
|
25
|
+
* platform cannot render, and this Block does not pretend otherwise.
|
|
26
|
+
*/
|
|
27
|
+
export type ProvisioningOption = {
|
|
28
|
+
/** What the run records for this choice, which is a key and not a sentence. */
|
|
29
|
+
value: string;
|
|
30
|
+
/** The words the reader sees, in the product's own language. */
|
|
31
|
+
label: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* What every provisioning field carries, whichever control it draws.
|
|
35
|
+
*
|
|
36
|
+
* `required` is a boolean rather than an optional prop because there is no third
|
|
37
|
+
* state worth having: a field is one the reader must fill or one they may leave,
|
|
38
|
+
* and `required?: boolean` leaves a caller who passed nothing unable to say which
|
|
39
|
+
* of the two they meant.
|
|
40
|
+
*
|
|
41
|
+
* The field's value is not here. A run collects what the reader typed and hands
|
|
42
|
+
* the whole record over at the commit, so there is nothing for a caller to hold
|
|
43
|
+
* between two steps: a step is mounted, filled and unmounted, and the values
|
|
44
|
+
* travel in the Block's own state, which is why this is a client Component.
|
|
45
|
+
*/
|
|
46
|
+
type ProvisioningFieldBase = {
|
|
47
|
+
/** The caller's key for this field, and the key the value arrives under. */
|
|
48
|
+
id: string;
|
|
49
|
+
/** The field's visible name, and the accessible name its control announces. */
|
|
50
|
+
label: string;
|
|
51
|
+
/** Whether the reader may commit the run without filling it. */
|
|
52
|
+
required: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* A line under the control, announced with it.
|
|
55
|
+
*
|
|
56
|
+
* A node, because the honest line is sometimes not one sentence: a caller's
|
|
57
|
+
* hint, a link to the thing being asked about, a piece of the page's own copy.
|
|
58
|
+
* It is wired to the control through `aria-describedby` rather than drawn as a
|
|
59
|
+
* footnote, so a screen reader hears what this field is for as they reach it.
|
|
60
|
+
*/
|
|
61
|
+
description?: ReactNode;
|
|
62
|
+
/** What the control shows while it is empty. A hint, not a name. */
|
|
63
|
+
placeholder?: string;
|
|
64
|
+
/** The platform's own autofill hint for this field. */
|
|
65
|
+
autoComplete?: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* One field of the caller's run, and the control it draws.
|
|
69
|
+
*
|
|
70
|
+
* **A union and not one type with an optional `options`, and that is the shape
|
|
71
|
+
* of the whole argument in this Block.** A run's fields are the caller's
|
|
72
|
+
* declaration and not this package's opinion about what a reader may be asked,
|
|
73
|
+
* and the one place that shows is the select: a select with no options is a
|
|
74
|
+
* control with nothing in it, which is a question no reader can answer and looks
|
|
75
|
+
* answered only because the control is there and focusable. A `options?: string[]`
|
|
76
|
+
* on one type would typecheck the defect and leave only a diagnostic at run time
|
|
77
|
+
* to catch it, which is one gate too late. The union is the same mechanism
|
|
78
|
+
* `HeroAction` uses for the same reason: the shape that requires something
|
|
79
|
+
* declares it, and the shape that forbids it says so in the type rather than in
|
|
80
|
+
* prose.
|
|
81
|
+
*
|
|
82
|
+
* The cost of the union is that a caller building a field list generically, from
|
|
83
|
+
* data, has to narrow before it can type the result, and the answer to that is a
|
|
84
|
+
* narrowing function in the caller's own code rather than a looser type here.
|
|
85
|
+
*/
|
|
86
|
+
export type ProvisioningField = (ProvisioningFieldBase & {
|
|
87
|
+
type: 'select';
|
|
88
|
+
/** The choices, in the order the reader should meet them. */
|
|
89
|
+
options: readonly ProvisioningOption[];
|
|
90
|
+
}) | (ProvisioningFieldBase & {
|
|
91
|
+
type: 'text' | 'email' | 'number' | 'textarea';
|
|
92
|
+
/** A select with no options is a question nobody can answer, so it is not one here. */
|
|
93
|
+
options?: never;
|
|
94
|
+
});
|
|
95
|
+
/**
|
|
96
|
+
* One step of a run: what it is called, what happens there, and what the reader is
|
|
97
|
+
* asked for while they are on it.
|
|
98
|
+
*
|
|
99
|
+
* `fields` may be empty, and that is a real shape rather than a gap. The last step
|
|
100
|
+
* of a checkout has no fields on it: it is the review, and what it carries is the
|
|
101
|
+
* caller's own confirmation under `description` plus the control that commits. An
|
|
102
|
+
* empty list is that step, so this Block draws a step with a name, a description
|
|
103
|
+
* and a control rather than an empty form, which is a form a reader cannot fill
|
|
104
|
+
* and a page that looks broken.
|
|
105
|
+
*/
|
|
106
|
+
export type ProvisioningStep = {
|
|
107
|
+
/** A stable key for the step, and what `onNext` and `onBack` report. */
|
|
108
|
+
id: string;
|
|
109
|
+
/** What the step is called, in the caller's own words. */
|
|
110
|
+
name: string;
|
|
111
|
+
/**
|
|
112
|
+
* The line under the step's name, for whatever the caller wants said about it.
|
|
113
|
+
*
|
|
114
|
+
* A node, because the honest line on a review step is the summary of everything
|
|
115
|
+
* the reader just entered, with a link in it, and a `string` would force a
|
|
116
|
+
* flattening that loses whichever of those it could not hold.
|
|
117
|
+
*/
|
|
118
|
+
description?: ReactNode;
|
|
119
|
+
/**
|
|
120
|
+
* What the reader is asked for on this step, in the order they should meet it.
|
|
121
|
+
*
|
|
122
|
+
* A list and not a fixed set, for the reason `Contact01` states in full: a
|
|
123
|
+
* provisioning run with a fixed set of fields is a run that decides what a reader
|
|
124
|
+
* may be asked, and the decision is invisible in a review because the rendered
|
|
125
|
+
* form looks complete.
|
|
126
|
+
*/
|
|
127
|
+
fields: readonly ProvisioningField[];
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Everything the reader typed, keyed by the caller's own field ids.
|
|
131
|
+
*
|
|
132
|
+
* A record and not a fixed shape, and the reason is that the keys are facts about
|
|
133
|
+
* the caller's run rather than about what a provisioning form is made of. The
|
|
134
|
+
* value type is `string` because the five control types here all submit strings,
|
|
135
|
+
* and a run that collects a file or a set of nodes is a different surface, which
|
|
136
|
+
* is what `Bundle01` is for.
|
|
137
|
+
*/
|
|
138
|
+
export type ProvisioningValue = Record<string, string>;
|
|
139
|
+
/**
|
|
140
|
+
* The outcome of the caller's own request, as the Block draws it.
|
|
141
|
+
*
|
|
142
|
+
* A prop and never a state this Block writes, for the reason every form Block in
|
|
143
|
+
* this package states: a success sentence this package wrote would be inherited
|
|
144
|
+
* verbatim by every consumer, and a provisioning run has more outcomes than any
|
|
145
|
+
* other form here, from a run that is queued to a run that is refused because the
|
|
146
|
+
* estate is full, a run that failed on one node of forty, and a run that is still
|
|
147
|
+
* rolling out an hour later.
|
|
148
|
+
*/
|
|
149
|
+
export type Provisioning01Status = {
|
|
150
|
+
/** Which of the four the run is in. Read by the Block for three things only. */
|
|
151
|
+
state: 'idle' | 'working' | 'done' | 'error';
|
|
152
|
+
/** The words for that state, in the product's own voice. */
|
|
153
|
+
message: ReactNode;
|
|
154
|
+
};
|
|
155
|
+
/** The props a Provisioning01 takes. Every string in this Block is one of them. */
|
|
156
|
+
export type Provisioning01Props = {
|
|
157
|
+
/** The short line above the title, usually what the product is. */
|
|
158
|
+
eyebrow?: ReactNode;
|
|
159
|
+
/** The heading. Required, because a run with no heading is a form in a page. */
|
|
160
|
+
title: ReactNode;
|
|
161
|
+
/** One supporting line under the heading, for the part the title cannot carry. */
|
|
162
|
+
description?: ReactNode;
|
|
163
|
+
/**
|
|
164
|
+
* The steps of the run, in the order they happen.
|
|
165
|
+
*
|
|
166
|
+
* Order is the caller's and it is a claim: this is a route through a run, and a
|
|
167
|
+
* list in an order the run does not have is a wrong diagram rather than a layout
|
|
168
|
+
* problem. The rail above the form says "steps" to every reader and to every
|
|
169
|
+
* crawler, so the order is the strongest claim this Block makes.
|
|
170
|
+
*/
|
|
171
|
+
steps: readonly ProvisioningStep[];
|
|
172
|
+
/**
|
|
173
|
+
* Which step the reader opens on, zero based.
|
|
174
|
+
*
|
|
175
|
+
* Optional and clamped, and both halves of that matter. Clamped because a caller
|
|
176
|
+
* whose run is resumed at step two after a reload passes a number that can be off
|
|
177
|
+
* by one when the run grew a step, and a form that renders nothing at all because
|
|
178
|
+
* the index is past the end is a form the reader cannot get out of. Optional
|
|
179
|
+
* because a run that has not started opens on its first step, and the first step
|
|
180
|
+
* is the only answer a Block can give without knowing the run.
|
|
181
|
+
*
|
|
182
|
+
* It is read once, on mount. A later change to `initial` does not move the
|
|
183
|
+
* reader, and that is stated rather than hidden: a multi-step form that follows a
|
|
184
|
+
* changing prop is a form that moves under a reader who is typing in it, and the
|
|
185
|
+
* caller who wants to move the reader has the back and next controls for it.
|
|
186
|
+
*/
|
|
187
|
+
initial?: number;
|
|
188
|
+
/**
|
|
189
|
+
* Called with the step being left and the step being entered, when the reader
|
|
190
|
+
* presses next.
|
|
191
|
+
*
|
|
192
|
+
* Optional, and a notification rather than a gate. The reader advances whatever
|
|
193
|
+
* this function says, because a run whose next control can be refused by a
|
|
194
|
+
* handler is a run whose step list is not the route: the caller validates, and
|
|
195
|
+
* the honest response to a field the caller will not accept is the caller's own
|
|
196
|
+
* `status`, which puts a sentence under the control the reader can act on.
|
|
197
|
+
*/
|
|
198
|
+
onNext?: (from: string, to: string) => void;
|
|
199
|
+
/**
|
|
200
|
+
* Called with the step being left and the step being entered, when the reader
|
|
201
|
+
* presses back.
|
|
202
|
+
*
|
|
203
|
+
* Optional, and optional for a different reason than `onNext`: going back is
|
|
204
|
+
* always allowed, so a caller rarely has anything to say about it. A caller whose
|
|
205
|
+
* product discards a step's answers on the way back passes a handler here that
|
|
206
|
+
* does its own clearing, and the values it clears are the Block's own state.
|
|
207
|
+
*/
|
|
208
|
+
onBack?: (from: string, to: string) => void;
|
|
209
|
+
/** The words on the control that returns to the previous step. */
|
|
210
|
+
backLabel: string;
|
|
211
|
+
/**
|
|
212
|
+
* The words on the control that moves to the next step.
|
|
213
|
+
*
|
|
214
|
+
* Required, and a `string` because it is one name a reader sees once per step
|
|
215
|
+
* rather than a sentence about the step. "Continue", "Next" and "Review order"
|
|
216
|
+
* are three products' decisions and the cell has room for whichever one is yours.
|
|
217
|
+
*/
|
|
218
|
+
nextLabel: string;
|
|
219
|
+
/**
|
|
220
|
+
* The words on the control that commits the run, drawn on the last step.
|
|
221
|
+
*
|
|
222
|
+
* Required rather than derived from `nextLabel`, because the last step is not a
|
|
223
|
+
* continuation: it is the one press that starts something irreversible on a
|
|
224
|
+
* reader's estate. A reader who sees "Continue" on the control that provisions
|
|
225
|
+
* four nodes has been told the wrong thing about the only button on the page
|
|
226
|
+
* that matters, so the words are the caller's and they are required.
|
|
227
|
+
*/
|
|
228
|
+
confirmLabel: string;
|
|
229
|
+
/**
|
|
230
|
+
* Called with everything the reader typed, when they commit.
|
|
231
|
+
*
|
|
232
|
+
* **Required, and the requirement is the design.** `onConfirm` is the only thing
|
|
233
|
+
* this Block does with what it collected, and there is no arm of this component
|
|
234
|
+
* in which a run is filled in and then nowhere to go. The obvious alternative is
|
|
235
|
+
* an optional handler with a form that renders and does nothing, which is a
|
|
236
|
+
* component that gathers a reader's configuration for four consumers and then
|
|
237
|
+
* discards it without telling anyone. This Block also sends nothing: what the run
|
|
238
|
+
* does with the record is the caller's product, and a consumer who already has a
|
|
239
|
+
* transport passes it straight in.
|
|
240
|
+
*/
|
|
241
|
+
onConfirm: (value: ProvisioningValue) => void;
|
|
242
|
+
/**
|
|
243
|
+
* What the reader is told happens to what they typed.
|
|
244
|
+
*
|
|
245
|
+
* Optional here, and the difference from `Waitlist01` is the fact rather than an
|
|
246
|
+
* inconsistency. A waitlist holds an address, and a jurisdiction may require the
|
|
247
|
+
* disclosure to be there; a provisioning run holds a configuration that becomes
|
|
248
|
+
* infrastructure, so what the caller usually needs to say is narrower and
|
|
249
|
+
* specific: what will be created, that it bills, and that it can be removed. That
|
|
250
|
+
* sentence belongs on the last step, beside the control that commits, which is
|
|
251
|
+
* where `terms` is drawn. A caller whose counsel asks for one passes it.
|
|
252
|
+
*/
|
|
253
|
+
terms?: ReactNode;
|
|
254
|
+
/**
|
|
255
|
+
* The outcome of the caller's own request, drawn in a live region and announced.
|
|
256
|
+
*
|
|
257
|
+
* A prop and never an internal state Prism writes, and it is also where a caller
|
|
258
|
+
* puts the sentence that says a step will not be accepted, which is the honest
|
|
259
|
+
* answer to a `onNext` that has decided the reader may not move on.
|
|
260
|
+
*/
|
|
261
|
+
status?: Provisioning01Status;
|
|
262
|
+
/** Heading level for the section heading. See `HeadingLevel`. */
|
|
263
|
+
headingLevel?: HeadingLevel;
|
|
264
|
+
/** Layout only. Changing a Prism-owned visual property from here is prohibited. */
|
|
265
|
+
className?: string;
|
|
266
|
+
};
|
|
267
|
+
/**
|
|
268
|
+
* A multi-step run that commits something: a rail, the current step's fields, a
|
|
269
|
+
* back and a next control, and a confirmation the caller supplies.
|
|
270
|
+
*
|
|
271
|
+
* **This is a checkout, and the pattern is identical, so the translation is
|
|
272
|
+
* stated rather than implied.** A checkout is a sequence of steps, each with its
|
|
273
|
+
* own fields, a back, a next, and a commit at the end. A provisioning run is that
|
|
274
|
+
* same sequence with the same controls, and the only thing that changes is what is
|
|
275
|
+
* committed at the end: a checkout commits a payment, and this commits a
|
|
276
|
+
* configuration onto an estate. A storefront catalogue sells parcels and this one
|
|
277
|
+
* does not, so nothing on this page is a parcel, a basket or a shopper, and the
|
|
278
|
+
* four consumer products that install this Block each have their own nouns for
|
|
279
|
+
* what is being set up. The frame is the storefront's because the frame is right:
|
|
280
|
+
* a sequence of steps with a commit at the end is the shape of both, and the
|
|
281
|
+
* alternative, a Block that invented its own arrangement, would be a worse
|
|
282
|
+
* version of a form a reader already knows how to use.
|
|
283
|
+
*
|
|
284
|
+
* **The step state is derived from the current index, and `onSelect` is not a
|
|
285
|
+
* prop, and that is the one decision a checkout Block has to get right.** A
|
|
286
|
+
* multi-step form whose reader can jump to step four is a form that can submit an
|
|
287
|
+
* unvalidated step: the reader lands on the commit step with three required fields
|
|
288
|
+
* behind them they never saw, and the run is committed with three values this
|
|
289
|
+
* Block never asked for. Every stage of that failure is invisible in a review,
|
|
290
|
+
* because the form renders correctly in every state; it is visible only in use, on
|
|
291
|
+
* the screen where a reader has pressed the control that provisions four nodes and
|
|
292
|
+
* a required field they were never shown is blank. The obvious fix is a rail the
|
|
293
|
+
* reader can click, and it is refused here for the reason `Steps` states at
|
|
294
|
+
* length: a rail that is also a control is a control containing the state that
|
|
295
|
+
* says where the reader is, and a caller who wants to reach a step the reader has
|
|
296
|
+
* not earned passes `initial`, which is a number and not an affordance. The
|
|
297
|
+
* rejected alternative of letting a caller override a step's state is refused for
|
|
298
|
+
* the same reason, and `onSelect` is the better of the two refusals because it is
|
|
299
|
+
* the one that cannot be reintroduced by a prop.
|
|
300
|
+
*
|
|
301
|
+
* **`initial` is a number and it is clamped, and both halves are load-bearing.**
|
|
302
|
+
* A number rather than a step id, because a run is a sequence and a sequence is
|
|
303
|
+
* indexed, and a caller whose step ids change between deployments would otherwise
|
|
304
|
+
* arrive with a string this Block cannot place. Clamped, because a caller who
|
|
305
|
+
* resumes a run at step two after a reload holds a number that can be off by one
|
|
306
|
+
* when the run grew a step, and a form that renders nothing because the index is
|
|
307
|
+
* past the end is a form the reader cannot get out of. It is read once on mount, and
|
|
308
|
+
* that is stated rather than hidden: a multi-step form that follows a changing prop
|
|
309
|
+
* moves under a reader who is typing in it.
|
|
310
|
+
*
|
|
311
|
+
* **A step with no fields renders a confirmation and a control, not an empty
|
|
312
|
+
* form.** The last step of a checkout has no fields on it: it is the review, and
|
|
313
|
+
* what it carries is the caller's own `description` plus the control that commits.
|
|
314
|
+
* A fieldless step that drew an empty form would be a form a reader cannot fill and
|
|
315
|
+
* a page that looks broken, and the reader who sees it concludes the product is
|
|
316
|
+
* broken rather than that the step is a review. So the fields area is omitted
|
|
317
|
+
* entirely, the step's `description` is the body of the step, and `terms` is drawn
|
|
318
|
+
* beside the control that commits, which is the one place a reader is about to
|
|
319
|
+
* make something irreversible and the one place a disclosure belongs.
|
|
320
|
+
*
|
|
321
|
+
* **Every field goes through `Field`, so its label, its description and the
|
|
322
|
+
* control that announces them are Prism's wiring rather than a caller's.** That is
|
|
323
|
+
* the second reason the field list is data: the wiring has to be right on every
|
|
324
|
+
* field, and a Block that drew a bespoke row per type would have five places to get
|
|
325
|
+
* it wrong. What `field.tsx` offers and this Block does not draw is `FieldError`,
|
|
326
|
+
* and the omission is a decision: the sentence saying what is wrong with a value is
|
|
327
|
+
* the one sentence a native control already gets right in the reader's own
|
|
328
|
+
* language, because the browser writes it, so the `required` and `type` attributes
|
|
329
|
+
* this Block forwards are the error path, and a caller with validation rules of
|
|
330
|
+
* its own validates in `onConfirm` and puts the message in `status`, which is one
|
|
331
|
+
* sentence about the run rather than one per field.
|
|
332
|
+
*
|
|
333
|
+
* **Nothing here validates anything.** There is no address format check, no
|
|
334
|
+
* minimum count, no cross-field rule, and no refusal to advance. Each of those is
|
|
335
|
+
* a decision about the caller's product, and a Block that guessed one would refuse
|
|
336
|
+
* a reader on the caller's behalf. What Prism does with `status` is refuse a second
|
|
337
|
+
* press: while the state reads `working` both controls are disabled, because a
|
|
338
|
+
* second press while the first run is in flight is a second set of nodes on an
|
|
339
|
+
* estate that may already have the first. That is the whole of Prism's reading of
|
|
340
|
+
* the state, and it is stated because the alternative is a Block that has begun to
|
|
341
|
+
* have opinions about the run.
|
|
342
|
+
*
|
|
343
|
+
* It is a client Component, and there are two reasons rather than one, and both
|
|
344
|
+
* are load-bearing. The handlers are the first: `onConfirm`, `onNext` and
|
|
345
|
+
* `onBack` are functions, a function is a piece of state, and state is a client
|
|
346
|
+
* module, so a server Component cannot hand an event handler down to a `<form>`. The
|
|
347
|
+
* second is the values themselves: a run holds what the reader typed across steps
|
|
348
|
+
* that are not all mounted at once, so the record that arrives at `onConfirm` has
|
|
349
|
+
* to survive a step boundary, and a server render has nowhere to keep it. That
|
|
350
|
+
* second reason is the one that decides the shape, because it is why the values
|
|
351
|
+
* live here and not in the caller's state: the caller gets the whole record at the
|
|
352
|
+
* commit and is not asked to thread a controlled value through five fields it does
|
|
353
|
+
* not own.
|
|
354
|
+
*/
|
|
355
|
+
export declare function Provisioning01({ eyebrow, title, description, steps, initial, onNext, onBack, backLabel, nextLabel, confirmLabel, onConfirm, terms, status, headingLevel, className, }: Provisioning01Props): import("react").JSX.Element;
|
|
356
|
+
export default Provisioning01;
|
|
357
|
+
//# sourceMappingURL=provisioning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provisioning.d.ts","sourceRoot":"","sources":["../../../src/blocks/provisioning-01/provisioning.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAQtC,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAA;AAKpC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEvF;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,qBAAqB,GAAG;IAC3B,4EAA4E;IAC5E,EAAE,EAAE,MAAM,CAAA;IACV,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAA;IACjB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,iBAAiB,GACzB,CAAC,qBAAqB,GAAG;IACvB,IAAI,EAAE,QAAQ,CAAA;IACd,6DAA6D;IAC7D,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAA;CACvC,CAAC,GACF,CAAC,qBAAqB,GAAG;IACvB,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAA;IAC9C,uFAAuF;IACvF,OAAO,CAAC,EAAE,KAAK,CAAA;CAChB,CAAC,CAAA;AAEN;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAA;IACV,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB;;;;;;;OAOG;IACH,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAA;CACrC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEtD;;;;;;;;;GASG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,gFAAgF;IAChF,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;IAC5C,4DAA4D;IAC5D,OAAO,EAAE,SAAS,CAAA;CACnB,CAAA;AAED,mFAAmF;AACnF,MAAM,MAAM,mBAAmB,GAAG;IAChC,mEAAmE;IACnE,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,gFAAgF;IAChF,KAAK,EAAE,SAAS,CAAA;IAChB,kFAAkF;IAClF,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB;;;;;;;OAOG;IACH,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAClC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAA;IACjB;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;;;;;;;OAQG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;;;;;;;;;;OAWG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAC7C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAC7B,iEAAiE;IACjE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAwGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuFG;AACH,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,KAAK,EACL,WAAW,EACX,KAAK,EACL,OAAW,EACX,MAAM,EACN,MAAM,EACN,SAAS,EACT,SAAS,EACT,YAAY,EACZ,SAAS,EACT,KAAK,EACL,MAAM,EACN,YAAmB,EACnB,SAAS,GACV,EAAE,mBAAmB,+BAiPrB;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useId, useState } from 'react';
|
|
4
|
+
import { Button } from '../../components/ui/button.js';
|
|
5
|
+
import { Field, FieldDescription, FieldLabel } from '../../components/ui/field.js';
|
|
6
|
+
import { Input } from '../../components/ui/input.js';
|
|
7
|
+
import { LiveRegion } from '../../components/ui/live-region.js';
|
|
8
|
+
import { NativeSelect } from '../../components/ui/native-select.js';
|
|
9
|
+
import { Section, SectionHeading, childLevel, } from '../../components/ui/section.js';
|
|
10
|
+
import { Steps } from '../../components/ui/steps.js';
|
|
11
|
+
import { Textarea } from '../../components/ui/textarea.js';
|
|
12
|
+
import { cn } from '../../lib/utils.js';
|
|
13
|
+
/**
|
|
14
|
+
* Whether a caller-supplied string never arrived, arrived empty, or arrived as
|
|
15
|
+
* nothing but space.
|
|
16
|
+
*
|
|
17
|
+
* Read as `string | undefined` rather than as the declared `string`, because the
|
|
18
|
+
* check is about the value that turned up rather than about what the type
|
|
19
|
+
* promised. A JavaScript caller and a value out of a database both arrive with the
|
|
20
|
+
* type's guarantee already gone, and the diagnostic below is the last place that
|
|
21
|
+
* can still say what was wrong.
|
|
22
|
+
*/
|
|
23
|
+
function blank(value) {
|
|
24
|
+
return value === undefined || value.trim() === '';
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Whether a caller passed a list that is not there, or is there and empty.
|
|
28
|
+
*
|
|
29
|
+
* The same argument as `blank` above, and the reason a select with no options is
|
|
30
|
+
* caught rather than drawn: a control with nothing in it is a question no reader
|
|
31
|
+
* can answer, and a question that looks answered because the control is there and
|
|
32
|
+
* focusable is worse than one that is visibly missing.
|
|
33
|
+
*/
|
|
34
|
+
function blankList(value) {
|
|
35
|
+
return value === undefined || value.length === 0;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The two ways a caller's field declaration can be a form nobody can fill, and
|
|
39
|
+
* the two ways a caller's step list can be a run nobody can finish, checked before
|
|
40
|
+
* anything is drawn so the run fails once with the name of the field rather than
|
|
41
|
+
* once per field with a nameless control on the page.
|
|
42
|
+
*
|
|
43
|
+
* A nameless control is announced as "text field", which is the one name every
|
|
44
|
+
* other field on the run shares. A select with nothing in it is a question with no
|
|
45
|
+
* answer. A run with no steps is a frame with no route, which is the one this
|
|
46
|
+
* package refuses to draw rather than answering: a reader who arrives at a
|
|
47
|
+
* provisioning form with no steps has been shown a promise with no content behind
|
|
48
|
+
* it. Each message reaches a developer in a console and never a reader, which is
|
|
49
|
+
* what makes it a refusal rather than copy.
|
|
50
|
+
*/
|
|
51
|
+
function assertRun(steps, backLabel, nextLabel, confirmLabel) {
|
|
52
|
+
if (steps.length === 0) {
|
|
53
|
+
throw new Error('Provisioning01: steps is empty, so the rail would be a row of nothing above a form with no route ' +
|
|
54
|
+
'through it, and the control at the bottom would commit a run of no steps. Pass the steps the run ' +
|
|
55
|
+
'actually has.');
|
|
56
|
+
}
|
|
57
|
+
for (const step of steps) {
|
|
58
|
+
for (const field of step.fields) {
|
|
59
|
+
if (blank(field.label)) {
|
|
60
|
+
throw new Error(`Provisioning01: the field "${field.id}" on the step "${step.id}" declares no label, so the ` +
|
|
61
|
+
'control would be announced with no name and two fields on this run would be announced ' +
|
|
62
|
+
'identically. Every control this Block draws is named by its label, so there is no fallback.');
|
|
63
|
+
}
|
|
64
|
+
if (field.type === 'select' && blankList(field.options)) {
|
|
65
|
+
throw new Error(`Provisioning01: the field "${field.id}" on the step "${step.id}" is a select and passes no ` +
|
|
66
|
+
'options, so it would render a control with nothing in it, which is a question no reader can ' +
|
|
67
|
+
'answer. Pass the choices, or declare the field as a text field and check the answer in your ' +
|
|
68
|
+
'own handler.');
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (blank(backLabel) || blank(nextLabel) || blank(confirmLabel)) {
|
|
73
|
+
throw new Error('Provisioning01: one of backLabel, nextLabel and confirmLabel is empty, so a control on this run ' +
|
|
74
|
+
'would be drawn with no words on it, and a button with no name is announced as "button" whatever ' +
|
|
75
|
+
'it does. Pass the words your readers use for all three.');
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* The step the rail is on, and the reason the derivation is a clamp rather than a
|
|
80
|
+
* lookup.
|
|
81
|
+
*
|
|
82
|
+
* There is exactly one current step in a run, and it is the one the reader is on,
|
|
83
|
+
* so the index is the whole of the position. `Steps` clamps as well, and the clamp
|
|
84
|
+
* is here as well, and the duplication is deliberate: `Steps` throws when the
|
|
85
|
+
* resolved states are not exactly one current, and it can only be reached through
|
|
86
|
+
* an index this Block has already resolved, so a run that opened on step five of
|
|
87
|
+
* three is corrected before the rail is asked to draw rather than throwing a
|
|
88
|
+
* diagnostic about a value the caller never passed.
|
|
89
|
+
*/
|
|
90
|
+
function stepAt(steps, wanted) {
|
|
91
|
+
if (steps.length === 0)
|
|
92
|
+
return 0;
|
|
93
|
+
if (!Number.isFinite(wanted))
|
|
94
|
+
return 0;
|
|
95
|
+
return Math.min(Math.max(Math.trunc(wanted), 0), steps.length - 1);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* A multi-step run that commits something: a rail, the current step's fields, a
|
|
99
|
+
* back and a next control, and a confirmation the caller supplies.
|
|
100
|
+
*
|
|
101
|
+
* **This is a checkout, and the pattern is identical, so the translation is
|
|
102
|
+
* stated rather than implied.** A checkout is a sequence of steps, each with its
|
|
103
|
+
* own fields, a back, a next, and a commit at the end. A provisioning run is that
|
|
104
|
+
* same sequence with the same controls, and the only thing that changes is what is
|
|
105
|
+
* committed at the end: a checkout commits a payment, and this commits a
|
|
106
|
+
* configuration onto an estate. A storefront catalogue sells parcels and this one
|
|
107
|
+
* does not, so nothing on this page is a parcel, a basket or a shopper, and the
|
|
108
|
+
* four consumer products that install this Block each have their own nouns for
|
|
109
|
+
* what is being set up. The frame is the storefront's because the frame is right:
|
|
110
|
+
* a sequence of steps with a commit at the end is the shape of both, and the
|
|
111
|
+
* alternative, a Block that invented its own arrangement, would be a worse
|
|
112
|
+
* version of a form a reader already knows how to use.
|
|
113
|
+
*
|
|
114
|
+
* **The step state is derived from the current index, and `onSelect` is not a
|
|
115
|
+
* prop, and that is the one decision a checkout Block has to get right.** A
|
|
116
|
+
* multi-step form whose reader can jump to step four is a form that can submit an
|
|
117
|
+
* unvalidated step: the reader lands on the commit step with three required fields
|
|
118
|
+
* behind them they never saw, and the run is committed with three values this
|
|
119
|
+
* Block never asked for. Every stage of that failure is invisible in a review,
|
|
120
|
+
* because the form renders correctly in every state; it is visible only in use, on
|
|
121
|
+
* the screen where a reader has pressed the control that provisions four nodes and
|
|
122
|
+
* a required field they were never shown is blank. The obvious fix is a rail the
|
|
123
|
+
* reader can click, and it is refused here for the reason `Steps` states at
|
|
124
|
+
* length: a rail that is also a control is a control containing the state that
|
|
125
|
+
* says where the reader is, and a caller who wants to reach a step the reader has
|
|
126
|
+
* not earned passes `initial`, which is a number and not an affordance. The
|
|
127
|
+
* rejected alternative of letting a caller override a step's state is refused for
|
|
128
|
+
* the same reason, and `onSelect` is the better of the two refusals because it is
|
|
129
|
+
* the one that cannot be reintroduced by a prop.
|
|
130
|
+
*
|
|
131
|
+
* **`initial` is a number and it is clamped, and both halves are load-bearing.**
|
|
132
|
+
* A number rather than a step id, because a run is a sequence and a sequence is
|
|
133
|
+
* indexed, and a caller whose step ids change between deployments would otherwise
|
|
134
|
+
* arrive with a string this Block cannot place. Clamped, because a caller who
|
|
135
|
+
* resumes a run at step two after a reload holds a number that can be off by one
|
|
136
|
+
* when the run grew a step, and a form that renders nothing because the index is
|
|
137
|
+
* past the end is a form the reader cannot get out of. It is read once on mount, and
|
|
138
|
+
* that is stated rather than hidden: a multi-step form that follows a changing prop
|
|
139
|
+
* moves under a reader who is typing in it.
|
|
140
|
+
*
|
|
141
|
+
* **A step with no fields renders a confirmation and a control, not an empty
|
|
142
|
+
* form.** The last step of a checkout has no fields on it: it is the review, and
|
|
143
|
+
* what it carries is the caller's own `description` plus the control that commits.
|
|
144
|
+
* A fieldless step that drew an empty form would be a form a reader cannot fill and
|
|
145
|
+
* a page that looks broken, and the reader who sees it concludes the product is
|
|
146
|
+
* broken rather than that the step is a review. So the fields area is omitted
|
|
147
|
+
* entirely, the step's `description` is the body of the step, and `terms` is drawn
|
|
148
|
+
* beside the control that commits, which is the one place a reader is about to
|
|
149
|
+
* make something irreversible and the one place a disclosure belongs.
|
|
150
|
+
*
|
|
151
|
+
* **Every field goes through `Field`, so its label, its description and the
|
|
152
|
+
* control that announces them are Prism's wiring rather than a caller's.** That is
|
|
153
|
+
* the second reason the field list is data: the wiring has to be right on every
|
|
154
|
+
* field, and a Block that drew a bespoke row per type would have five places to get
|
|
155
|
+
* it wrong. What `field.tsx` offers and this Block does not draw is `FieldError`,
|
|
156
|
+
* and the omission is a decision: the sentence saying what is wrong with a value is
|
|
157
|
+
* the one sentence a native control already gets right in the reader's own
|
|
158
|
+
* language, because the browser writes it, so the `required` and `type` attributes
|
|
159
|
+
* this Block forwards are the error path, and a caller with validation rules of
|
|
160
|
+
* its own validates in `onConfirm` and puts the message in `status`, which is one
|
|
161
|
+
* sentence about the run rather than one per field.
|
|
162
|
+
*
|
|
163
|
+
* **Nothing here validates anything.** There is no address format check, no
|
|
164
|
+
* minimum count, no cross-field rule, and no refusal to advance. Each of those is
|
|
165
|
+
* a decision about the caller's product, and a Block that guessed one would refuse
|
|
166
|
+
* a reader on the caller's behalf. What Prism does with `status` is refuse a second
|
|
167
|
+
* press: while the state reads `working` both controls are disabled, because a
|
|
168
|
+
* second press while the first run is in flight is a second set of nodes on an
|
|
169
|
+
* estate that may already have the first. That is the whole of Prism's reading of
|
|
170
|
+
* the state, and it is stated because the alternative is a Block that has begun to
|
|
171
|
+
* have opinions about the run.
|
|
172
|
+
*
|
|
173
|
+
* It is a client Component, and there are two reasons rather than one, and both
|
|
174
|
+
* are load-bearing. The handlers are the first: `onConfirm`, `onNext` and
|
|
175
|
+
* `onBack` are functions, a function is a piece of state, and state is a client
|
|
176
|
+
* module, so a server Component cannot hand an event handler down to a `<form>`. The
|
|
177
|
+
* second is the values themselves: a run holds what the reader typed across steps
|
|
178
|
+
* that are not all mounted at once, so the record that arrives at `onConfirm` has
|
|
179
|
+
* to survive a step boundary, and a server render has nowhere to keep it. That
|
|
180
|
+
* second reason is the one that decides the shape, because it is why the values
|
|
181
|
+
* live here and not in the caller's state: the caller gets the whole record at the
|
|
182
|
+
* commit and is not asked to thread a controlled value through five fields it does
|
|
183
|
+
* not own.
|
|
184
|
+
*/
|
|
185
|
+
export function Provisioning01({ eyebrow, title, description, steps, initial = 0, onNext, onBack, backLabel, nextLabel, confirmLabel, onConfirm, terms, status, headingLevel = 'h2', className, }) {
|
|
186
|
+
const generated = useId();
|
|
187
|
+
const [at, setAt] = useState(() => stepAt(steps, initial));
|
|
188
|
+
const [values, setValues] = useState({});
|
|
189
|
+
assertRun(steps, backLabel, nextLabel, confirmLabel);
|
|
190
|
+
// Read once, on mount, so a caller whose steps change mid-run is not moved under
|
|
191
|
+
// a reader who is typing. See `initial` for the argument.
|
|
192
|
+
const index = stepAt(steps, at);
|
|
193
|
+
const step = steps[index];
|
|
194
|
+
const last = index === steps.length - 1;
|
|
195
|
+
const working = status?.state === 'working';
|
|
196
|
+
const done = status?.state === 'done';
|
|
197
|
+
const move = (next, from, to, notify) => {
|
|
198
|
+
setAt(stepAt(steps, next));
|
|
199
|
+
notify?.(from, to);
|
|
200
|
+
};
|
|
201
|
+
const rail = steps.map((one) => ({ label: one.name }));
|
|
202
|
+
/*
|
|
203
|
+
The step's own heading, and the level is derived rather than chosen. A step is
|
|
204
|
+
a part of this section and not a section of its own, so it nests one level
|
|
205
|
+
below the heading that introduces the run, and a run composed under an `h3` on
|
|
206
|
+
a page whose sections are `h3` carries its step headings to `h4` with it. A
|
|
207
|
+
literal `h3` would be right exactly once, at the nesting depth it was written
|
|
208
|
+
for, and every Block that draws a titled part of itself has the same property.
|
|
209
|
+
*/
|
|
210
|
+
const StepHeading = childLevel(headingLevel);
|
|
211
|
+
return (_jsx(Section, { "data-slot": "provisioning-01", className: cn(className), children: _jsxs("div", { "data-slot": "provisioning-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": "provisioning-01-rail", className: "border-border border-b pb-8", children: _jsx(Steps, { steps: rail, current: index }) }), _jsxs("form", { "data-slot": "provisioning-01-form", className: "flex w-full max-w-measure flex-col gap-6", onSubmit: (event) => {
|
|
212
|
+
event.preventDefault();
|
|
213
|
+
onConfirm(values);
|
|
214
|
+
}, children: [_jsx(StepHeading, { "data-slot": "provisioning-01-step", className: "text-lg font-semibold tracking-tight", children: step.name }), step.description === undefined ? null : (_jsx("div", { "data-slot": "provisioning-01-step-description", className: "text-muted-foreground text-pretty text-sm", children: step.description })), step.fields.length === 0 ? null : (_jsx("div", { "data-slot": "provisioning-01-fields", className: "flex flex-col gap-4", children: step.fields.map((field) => {
|
|
215
|
+
const controlId = `${generated}-${field.id}`;
|
|
216
|
+
const descriptionId = `${controlId}-description`;
|
|
217
|
+
return (_jsxs(Field, { "data-slot": "provisioning-01-field", "data-field": field.type, children: [_jsx(FieldLabel, { htmlFor: controlId, children: field.label }), field.type === 'textarea' ? (_jsx(Textarea, { id: controlId, name: field.id, rows: 4, placeholder: field.placeholder, required: field.required, value: values[field.id] ?? '', onChange: (event) => setValues((held) => ({ ...held, [field.id]: event.target.value })), "aria-describedby": field.description === undefined ? undefined : descriptionId })) : field.type === 'select' ? (_jsx(NativeSelect, { id: controlId, name: field.id, required: field.required, value: values[field.id] ?? '', onChange: (event) => setValues((held) => ({ ...held, [field.id]: event.target.value })), "aria-describedby": field.description === undefined ? undefined : descriptionId, children: field.options.map((option) => (_jsx("option", { value: option.value, children: option.label }, option.value))) })) : (_jsx(Input, { id: controlId, name: field.id, type: field.type, placeholder: field.placeholder, autoComplete: field.autoComplete, required: field.required, value: values[field.id] ?? '', onChange: (event) => setValues((held) => ({ ...held, [field.id]: event.target.value })), "aria-describedby": field.description === undefined ? undefined : descriptionId })), field.description === undefined ? null : (_jsx(FieldDescription, { id: descriptionId, children: field.description }))] }, field.id));
|
|
218
|
+
}) })), terms === undefined || !last ? null : (_jsx("p", { "data-slot": "provisioning-01-terms", className: "text-muted-foreground text-pretty text-sm", children: terms })), _jsxs("div", { "data-slot": "provisioning-01-controls", className: "flex flex-col gap-3 sm:flex-row-reverse sm:items-center sm:justify-start", children: [last ? (_jsx(Button, { "data-slot": "provisioning-01-confirm", type: "submit", disabled: working || done, className: "sm:order-2", children: confirmLabel })) : (_jsx(Button, { "data-slot": "provisioning-01-next", type: "button", disabled: working, className: "sm:order-2", onClick: () => {
|
|
219
|
+
const to = steps[index + 1];
|
|
220
|
+
if (to === undefined)
|
|
221
|
+
return;
|
|
222
|
+
move(index + 1, step.id, to.id, onNext);
|
|
223
|
+
}, children: nextLabel })), index === 0 ? null : (_jsx(Button, { "data-slot": "provisioning-01-back", type: "button", variant: "outline", disabled: working, className: "sm:order-1", onClick: () => {
|
|
224
|
+
const to = steps[index - 1];
|
|
225
|
+
if (to === undefined)
|
|
226
|
+
return;
|
|
227
|
+
move(index - 1, step.id, to.id, onBack);
|
|
228
|
+
}, children: backLabel }))] }), _jsx(LiveRegion, { politeness: status?.state === 'error' ? 'assertive' : 'polite', busy: working, className: "text-sm", children: status?.message })] })] }) }));
|
|
229
|
+
}
|
|
230
|
+
export default Provisioning01;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blocks/quick-view-01/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAInD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { QuickView01, default } from './quick-view.js';
|