@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,276 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* The four points a button's work can be at.
|
|
4
|
+
*
|
|
5
|
+
* A closed set of four, and the fourth is the one that makes it a lifecycle. A
|
|
6
|
+
* control that is idle, one that is working and one that has finished are three
|
|
7
|
+
* states, and every system that stops at three has folded success and failure
|
|
8
|
+
* into a single "done" and then had to choose which of the two words to print. The
|
|
9
|
+
* answer is a flag, and a flag that says `done` when the request was refused tells
|
|
10
|
+
* a reader their work was saved, which is the most expensive sentence a control
|
|
11
|
+
* can get wrong.
|
|
12
|
+
*/
|
|
13
|
+
export type LifecycleButtonPhase = 'idle' | 'in-flight' | 'succeeded' | 'failed';
|
|
14
|
+
/**
|
|
15
|
+
* Where the work is, as a value the caller holds.
|
|
16
|
+
*
|
|
17
|
+
* A union rather than a `loading` boolean beside an `error` message, and the reason
|
|
18
|
+
* is the pair. A boolean has two answers and this has four, and the two answers
|
|
19
|
+
* nobody can express with a boolean are the two that matter: a request that
|
|
20
|
+
* failed, and a request whose position is known. A caller holding `loading` plus a
|
|
21
|
+
* string has to encode four states across two props that do not know about each
|
|
22
|
+
* other, and every one of those four combinations has to be drawn.
|
|
23
|
+
*/
|
|
24
|
+
export type LifecycleButtonState =
|
|
25
|
+
/** Nothing has been asked. The control is the caller's primary action. */
|
|
26
|
+
{
|
|
27
|
+
phase: 'idle';
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The work is running.
|
|
31
|
+
*
|
|
32
|
+
* `progress` is a fraction between zero and one and it is a real measurement, not
|
|
33
|
+
* a timer: a caller that has a byte count, a row count or a completed-step count
|
|
34
|
+
* passes the ratio and the reader is told the position. Omit it and the work is
|
|
35
|
+
* of unknown length, which is a different fact and is drawn and announced as
|
|
36
|
+
* such. It is never defaulted, because a bar that fills on its own is a
|
|
37
|
+
* measurement of nothing.
|
|
38
|
+
*/
|
|
39
|
+
| {
|
|
40
|
+
phase: 'in-flight';
|
|
41
|
+
progress?: number;
|
|
42
|
+
progressText?: string;
|
|
43
|
+
}
|
|
44
|
+
/** The work finished. */
|
|
45
|
+
| {
|
|
46
|
+
phase: 'succeeded';
|
|
47
|
+
}
|
|
48
|
+
/** The work did not finish, with the caller's own sentence about why. */
|
|
49
|
+
| {
|
|
50
|
+
phase: 'failed';
|
|
51
|
+
reason?: ReactNode;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* The props the Lifecycle button accepts.
|
|
55
|
+
*
|
|
56
|
+
* A declared interface rather than a forwarded native one, and the reason is the
|
|
57
|
+
* gate on the surface: a forwarded `onClick` would be a second way to say what the
|
|
58
|
+
* control does, and a forwarded `children` would be a second way to say what it
|
|
59
|
+
* says. Both are decided here. The five words are five props rather than one
|
|
60
|
+
* `labels` record because a record's keys are a second list of the lifecycle, and
|
|
61
|
+
* the lifecycle is already stated in the type of `state`; two lists of the same
|
|
62
|
+
* four states is two lists that can disagree.
|
|
63
|
+
*/
|
|
64
|
+
export interface LifecycleButtonProps {
|
|
65
|
+
/**
|
|
66
|
+
* Where the work is.
|
|
67
|
+
*
|
|
68
|
+
* Required and controlled, and the whole of the Component: the caller owns the
|
|
69
|
+
* request, so the caller owns where the request is. Prism draws the label, the
|
|
70
|
+
* mark, the meter and the retry that a position implies, and calls back. It
|
|
71
|
+
* never moves the position, and it holds no promise, no transport and no timer.
|
|
72
|
+
*/
|
|
73
|
+
state: LifecycleButtonState;
|
|
74
|
+
/**
|
|
75
|
+
* Called when the reader presses the control while it is idle.
|
|
76
|
+
*
|
|
77
|
+
* Required, and it is called only from `idle`. A control that accepts presses
|
|
78
|
+
* while its work is running would let a reader queue a second request without
|
|
79
|
+
* knowing whether the first had finished, and a control that accepts presses
|
|
80
|
+
* after a failure would be a second way of retrying with a different meaning.
|
|
81
|
+
* The caller moves the position to `in-flight`; nothing here does.
|
|
82
|
+
*/
|
|
83
|
+
onActivate: () => void;
|
|
84
|
+
/** The label in the idle position, in the product's own words. */
|
|
85
|
+
idleLabel: ReactNode;
|
|
86
|
+
/** The label while the work is running, in the product's own words. */
|
|
87
|
+
inFlightLabel: ReactNode;
|
|
88
|
+
/**
|
|
89
|
+
* The label after the work finished.
|
|
90
|
+
*
|
|
91
|
+
* Required rather than derived from the icon, because a check mark is a
|
|
92
|
+
* drawing and a control whose outcome is a drawing is a control whose outcome a
|
|
93
|
+
* screen reader never hears. Write the outcome: "Saved", "Published",
|
|
94
|
+
* "Enqueued".
|
|
95
|
+
*/
|
|
96
|
+
succeededLabel: ReactNode;
|
|
97
|
+
/**
|
|
98
|
+
* The label after the work failed.
|
|
99
|
+
*
|
|
100
|
+
* Required, and it is the label a reader sees on a control they already pressed
|
|
101
|
+
* and already believe worked, so it has to be the sentence that tells them
|
|
102
|
+
* otherwise. "Not saved" is a control that is still the same control and now
|
|
103
|
+
* says the opposite; "Try again" is a different action and belongs on the retry
|
|
104
|
+
* beside it.
|
|
105
|
+
*/
|
|
106
|
+
failedLabel: ReactNode;
|
|
107
|
+
/**
|
|
108
|
+
* The label of the retry control, which exists only in the failed position.
|
|
109
|
+
*
|
|
110
|
+
* Required, and the same word for every product's "try this again" is not
|
|
111
|
+
* something this package may choose: "Retry", "Save again" and "Reintentar" are
|
|
112
|
+
* three products' answers.
|
|
113
|
+
*/
|
|
114
|
+
retryLabel: ReactNode;
|
|
115
|
+
/**
|
|
116
|
+
* The fill the control is drawn in.
|
|
117
|
+
*
|
|
118
|
+
* The four fills that make no claim about the outcome, and the reason the other
|
|
119
|
+
* two are absent is the Stated Ink Rule read from the other side. The failed
|
|
120
|
+
* position is not drawn destructive: destructive is for an action that cannot be
|
|
121
|
+
* undone, and a failed save is not that. Nor is it drawn `link`, which is a
|
|
122
|
+
* control inside a sentence and a lifecycle control is a sentence of its own.
|
|
123
|
+
* Nor is the failed position left as `default`, because a filled primary beside a
|
|
124
|
+
* failure is a control inviting a press that has already been shown not to work.
|
|
125
|
+
* The failure is carried by the label, the mark and the line beneath, and those
|
|
126
|
+
* are enough.
|
|
127
|
+
*
|
|
128
|
+
* @defaultValue 'default'
|
|
129
|
+
*/
|
|
130
|
+
variant?: 'default' | 'secondary' | 'outline' | 'ghost';
|
|
131
|
+
/**
|
|
132
|
+
* The control's height. @defaultValue 'default'
|
|
133
|
+
*
|
|
134
|
+
* The four authored steps including `icon` are not offered, because a lifecycle
|
|
135
|
+
* control that has collapsed to a glyph has thrown away the one thing the
|
|
136
|
+
* lifecycle adds, which is the words that change as it runs.
|
|
137
|
+
*/
|
|
138
|
+
size?: 'sm' | 'default' | 'lg';
|
|
139
|
+
/**
|
|
140
|
+
* Whether the control submits the form it sits in.
|
|
141
|
+
*
|
|
142
|
+
* Passed through rather than drawn, so a lifecycle control can be a form's submit
|
|
143
|
+
* button. Note what the Component does with it: a press from `in-flight` or
|
|
144
|
+
* `failed` is still refused, so a submit control here will not submit twice
|
|
145
|
+
* because the first submit is still running.
|
|
146
|
+
*
|
|
147
|
+
* @defaultValue 'button'
|
|
148
|
+
*/
|
|
149
|
+
type?: 'button' | 'submit' | 'reset';
|
|
150
|
+
/**
|
|
151
|
+
* The name the control submits under, when it submits.
|
|
152
|
+
*
|
|
153
|
+
* A native attribute the Component forwards untouched, because a submit button's
|
|
154
|
+
* name is a fact about the caller's form and about nothing in this Component.
|
|
155
|
+
*/
|
|
156
|
+
name?: string;
|
|
157
|
+
/**
|
|
158
|
+
* The form the control submits, when it is not inside one.
|
|
159
|
+
*
|
|
160
|
+
* Forwarded for the same reason as `name`, and it is the one native attribute
|
|
161
|
+
* worth forwarding on a control that can submit: a lifecycle button placed in a
|
|
162
|
+
* dialog's footer is outside the form it acts on.
|
|
163
|
+
*/
|
|
164
|
+
form?: string;
|
|
165
|
+
/**
|
|
166
|
+
* Whether the control is unavailable for a reason of the caller's own.
|
|
167
|
+
*
|
|
168
|
+
* Drawn and not set, for the reason `Dropzone` states in full: a natively
|
|
169
|
+
* disabled control is out of the tab order, so a keyboard reader tabs onto where
|
|
170
|
+
* it was, presses Enter, and nothing happens with no announcement to explain it.
|
|
171
|
+
* This one keeps its place, keeps its ring and announces itself as unavailable.
|
|
172
|
+
* The cost is a tab stop that does nothing, which is the price every disabled
|
|
173
|
+
* control pays and the reason disabled controls are drawn rather than omitted.
|
|
174
|
+
*/
|
|
175
|
+
disabled?: boolean;
|
|
176
|
+
/** Layout only. Changing a Prism-owned visual property from here is prohibited. */
|
|
177
|
+
className?: string;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* A button whose label, mark and meter follow an asynchronous outcome: idle, in
|
|
181
|
+
* flight, succeeded or failed, with a retry beside it after a failure.
|
|
182
|
+
*
|
|
183
|
+
* **It is a state machine and not a loading flag, and the difference from
|
|
184
|
+
* `Button` is larger than it first looks.** `Button` has no `loading` prop and no
|
|
185
|
+
* loading state of any kind: it renders a native `<button>` and takes `variant`
|
|
186
|
+
* and `size`, and that is the whole of its interface. So there is no overlap to
|
|
187
|
+
* argue about, and the honest reason this Item is not a `Button` with one more
|
|
188
|
+
* boolean is that the boolean was never there. What a caller does today is write
|
|
189
|
+
* three controls: a `Button` whose label swaps while a request runs, a second
|
|
190
|
+
* `Button` that appears when it fails, and a `Progress` or a `Spinner` beside the
|
|
191
|
+
* first. This is those three, and the reason they were three is that they are
|
|
192
|
+
* three positions of one line and `Button` is a control rather than a line. If a
|
|
193
|
+
* `loading` boolean is ever added to `Button`, the honest response is to narrow
|
|
194
|
+
* this Item to the two positions a boolean cannot express, the failure and the
|
|
195
|
+
* fraction, rather than to delete it.
|
|
196
|
+
*
|
|
197
|
+
* **A boolean has two answers and a lifecycle has four, and the two it cannot
|
|
198
|
+
* express are the two that cost the most.** A request that failed is not
|
|
199
|
+
* `loading: false`: it is a control the reader already pressed, which is now
|
|
200
|
+
* telling them their work was not saved, and it needs different words, a
|
|
201
|
+
* different mark and a different next action from a control that has never been
|
|
202
|
+
* pressed. Encoding that as a boolean plus a string puts four states across two
|
|
203
|
+
* props that do not know about each other, and every consumer redraws the
|
|
204
|
+
* combinations. The union puts them in one value, and adding a sixth state later
|
|
205
|
+
* is a compile error at every place that switches over it.
|
|
206
|
+
*
|
|
207
|
+
* **The determinate bar is legal motion and the reason is that it is bound to a
|
|
208
|
+
* real state transition.** The fill is `Progress`, which animates its width on the
|
|
209
|
+
* base duration and eases out; there is no keyframe, no loop and no cycle, because
|
|
210
|
+
* a bar that is moving because a number changed is state feedback under the first
|
|
211
|
+
* of the two motion laws and nothing else. A bar with no number is not drawn as a
|
|
212
|
+
* moving one: a caller that passes no `progress` gets the same component with
|
|
213
|
+
* `value={null}`, which is announced as indeterminate and is the truth about work
|
|
214
|
+
* of unknown length. The Component refuses to fill a bar it has no number for, and
|
|
215
|
+
* the refusal is a thrown diagnostic rather than a silently invented position.
|
|
216
|
+
*
|
|
217
|
+
* **`Progress` is composed and not drawn, and that is why the in-flight position
|
|
218
|
+
* has one indicator rather than two.** A determinate fraction and an indeterminate
|
|
219
|
+
* request are the same question asked with and without an answer, so they are the
|
|
220
|
+
* same Component, and the alternative is a bar in one position and a ring in the
|
|
221
|
+
* other, which is two answers to how far along a task is on one button. The width
|
|
222
|
+
* is bounded by `className` because width is layout, and everything else about the
|
|
223
|
+
* bar is Prism's.
|
|
224
|
+
*
|
|
225
|
+
* **A fraction is announced in the caller's words or not at all.** `Progress`
|
|
226
|
+
* exposes its value, minimum and maximum through ARIA, so a fraction between zero
|
|
227
|
+
* and one is announced as a decimal, and "0.42" is a measurement of nothing a
|
|
228
|
+
* reader can act on. So a state carrying `progress` must carry `progressText`, and
|
|
229
|
+
* the Component throws without it rather than letting a number through as an
|
|
230
|
+
* accessible name. Write the position as the reader would say it: "Uploading,
|
|
231
|
+
* 42 percent", "3 of 8 steps".
|
|
232
|
+
*
|
|
233
|
+
* **The outcome is announced, and the announcement is the transition rather than
|
|
234
|
+
* the control.** A reader who pressed a control and watched its label change has
|
|
235
|
+
* been answered; a reader who pressed it and looked away has not, and the
|
|
236
|
+
* succeeded position is the one that arrives with no other evidence on the page
|
|
237
|
+
* when the control that caused it has scrolled out of view. So the Component
|
|
238
|
+
* composes `LiveRegion` with the settled label in it, polite for a success and
|
|
239
|
+
* assertive for a failure, which is the politeness rule `LiveRegion` states and
|
|
240
|
+
* for its reasons: a save that landed waits its turn, and a save that was refused
|
|
241
|
+
* interrupts. The reason line beneath the control is deliberately not an alert, so
|
|
242
|
+
* the failure is announced once rather than twice in the same commit.
|
|
243
|
+
*
|
|
244
|
+
* **The region is mounted at the outcome rather than held empty, and the cost is
|
|
245
|
+
* real.** `LiveRegion` deliberately renders nothing when it has nothing to say,
|
|
246
|
+
* because a live region sitting on the page permanently announces unrelated
|
|
247
|
+
* changes of its ancestors, which is the noise the Component exists to avoid as
|
|
248
|
+
* well as to cause. The consequence is that this region is created at the moment
|
|
249
|
+
* of its content, and a live region created with its content is announced by most
|
|
250
|
+
* screen readers and not by all of them. A caller who needs the guarantee on every
|
|
251
|
+
* transition keeps a `LiveRegion` of their own beside this Component and passes
|
|
252
|
+
* the outcome into it, which is two lines and no override of anything here.
|
|
253
|
+
*
|
|
254
|
+
* **The retry is a second control and not a state of the first, because the two
|
|
255
|
+
* actions are not the same.** Pressing the control again after a failure is a
|
|
256
|
+
* claim that the same request is worth making again, and the caller may well have
|
|
257
|
+
* changed their mind; a control that quietly became the retry would make a reader
|
|
258
|
+
* who wants to send something different press it twice to find out. So the failed
|
|
259
|
+
* position draws the control, still labelled as the failed outcome, with a second
|
|
260
|
+
* control beside it. The cost is a row that is two controls wide in one position
|
|
261
|
+
* out of four, and a caller who has nowhere to put it composes the retry in their
|
|
262
|
+
* own layout rather than dropping the affordance.
|
|
263
|
+
*
|
|
264
|
+
* **It is a client Component**, because `Progress` is one, because the outcome is
|
|
265
|
+
* announced through a region whose behaviour the browser's mutation observer
|
|
266
|
+
* provides and whose mounting is React's, and because the only callback it takes
|
|
267
|
+
* is one the caller has to be in the client graph to supply. What that costs is
|
|
268
|
+
* the price of every client control, and it is worth naming because the surface
|
|
269
|
+
* invites a server render: a server Component can render the idle position and it
|
|
270
|
+
* will look right, and what it cannot do is move the position, show a fraction, or
|
|
271
|
+
* announce an outcome, because those are facts about what happens after the reader
|
|
272
|
+
* acts.
|
|
273
|
+
*/
|
|
274
|
+
declare function LifecycleButton({ state, onActivate, idleLabel, inFlightLabel, succeededLabel, failedLabel, retryLabel, variant, size, type, name, form, disabled, className, }: LifecycleButtonProps): import("react").JSX.Element;
|
|
275
|
+
export { LifecycleButton };
|
|
276
|
+
//# sourceMappingURL=lifecycle-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/lifecycle-button.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAOtC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAA;AAEhF;;;;;;;;;GASG;AACH,MAAM,MAAM,oBAAoB;AAC9B,0EAA0E;AACxE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE;AACnB;;;;;;;;;GASG;GACD;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE;AAClE,yBAAyB;GACvB;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE;AACxB,yEAAyE;GACvE;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;OAOG;IACH,KAAK,EAAE,oBAAoB,CAAA;IAC3B;;;;;;;;OAQG;IACH,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,kEAAkE;IAClE,SAAS,EAAE,SAAS,CAAA;IACpB,uEAAuE;IACvE,aAAa,EAAE,SAAS,CAAA;IACxB;;;;;;;OAOG;IACH,cAAc,EAAE,SAAS,CAAA;IACzB;;;;;;;;OAQG;IACH,WAAW,EAAE,SAAS,CAAA;IACtB;;;;;;OAMG;IACH,UAAU,EAAE,SAAS,CAAA;IACrB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAA;IACvD;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAA;IAC9B;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8FG;AACH,iBAAS,eAAe,CAAC,EACvB,KAAK,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,WAAW,EACX,UAAU,EACV,OAAmB,EACnB,IAAgB,EAChB,IAAe,EACf,IAAI,EACJ,IAAI,EACJ,QAAgB,EAChB,SAAS,GACV,EAAE,oBAAoB,+BAsGtB;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { CircleCheckIcon, RefreshCwIcon, TriangleAlertIcon } from 'lucide-react';
|
|
4
|
+
import { Button } from './button.js';
|
|
5
|
+
import { LiveRegion } from './live-region.js';
|
|
6
|
+
import { Progress } from './progress.js';
|
|
7
|
+
import { cn } from '../../lib/utils.js';
|
|
8
|
+
/**
|
|
9
|
+
* The mark each settled position carries, and the ink it is drawn in.
|
|
10
|
+
*
|
|
11
|
+
* Two entries and not four, because the idle and in-flight positions carry the
|
|
12
|
+
* meter or nothing rather than a mark, and a ring or a bar beside a label that
|
|
13
|
+
* already says what is happening is a second copy of a sentence the reader can
|
|
14
|
+
* already see. Both marks are `aria-hidden` at the call site and the label carries
|
|
15
|
+
* the meaning, which is the order the whole package keeps: the attribute is the
|
|
16
|
+
* fact and the drawing is the reminder. The inks are the semantic state roles and
|
|
17
|
+
* not a ramp step, and the shapes differ as well as the colours so a reader who
|
|
18
|
+
* cannot separate them still reads which is which.
|
|
19
|
+
*/
|
|
20
|
+
const SETTLED_MARK = {
|
|
21
|
+
succeeded: { Mark: CircleCheckIcon, ink: 'text-success' },
|
|
22
|
+
failed: { Mark: TriangleAlertIcon, ink: 'text-destructive' },
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* A button whose label, mark and meter follow an asynchronous outcome: idle, in
|
|
26
|
+
* flight, succeeded or failed, with a retry beside it after a failure.
|
|
27
|
+
*
|
|
28
|
+
* **It is a state machine and not a loading flag, and the difference from
|
|
29
|
+
* `Button` is larger than it first looks.** `Button` has no `loading` prop and no
|
|
30
|
+
* loading state of any kind: it renders a native `<button>` and takes `variant`
|
|
31
|
+
* and `size`, and that is the whole of its interface. So there is no overlap to
|
|
32
|
+
* argue about, and the honest reason this Item is not a `Button` with one more
|
|
33
|
+
* boolean is that the boolean was never there. What a caller does today is write
|
|
34
|
+
* three controls: a `Button` whose label swaps while a request runs, a second
|
|
35
|
+
* `Button` that appears when it fails, and a `Progress` or a `Spinner` beside the
|
|
36
|
+
* first. This is those three, and the reason they were three is that they are
|
|
37
|
+
* three positions of one line and `Button` is a control rather than a line. If a
|
|
38
|
+
* `loading` boolean is ever added to `Button`, the honest response is to narrow
|
|
39
|
+
* this Item to the two positions a boolean cannot express, the failure and the
|
|
40
|
+
* fraction, rather than to delete it.
|
|
41
|
+
*
|
|
42
|
+
* **A boolean has two answers and a lifecycle has four, and the two it cannot
|
|
43
|
+
* express are the two that cost the most.** A request that failed is not
|
|
44
|
+
* `loading: false`: it is a control the reader already pressed, which is now
|
|
45
|
+
* telling them their work was not saved, and it needs different words, a
|
|
46
|
+
* different mark and a different next action from a control that has never been
|
|
47
|
+
* pressed. Encoding that as a boolean plus a string puts four states across two
|
|
48
|
+
* props that do not know about each other, and every consumer redraws the
|
|
49
|
+
* combinations. The union puts them in one value, and adding a sixth state later
|
|
50
|
+
* is a compile error at every place that switches over it.
|
|
51
|
+
*
|
|
52
|
+
* **The determinate bar is legal motion and the reason is that it is bound to a
|
|
53
|
+
* real state transition.** The fill is `Progress`, which animates its width on the
|
|
54
|
+
* base duration and eases out; there is no keyframe, no loop and no cycle, because
|
|
55
|
+
* a bar that is moving because a number changed is state feedback under the first
|
|
56
|
+
* of the two motion laws and nothing else. A bar with no number is not drawn as a
|
|
57
|
+
* moving one: a caller that passes no `progress` gets the same component with
|
|
58
|
+
* `value={null}`, which is announced as indeterminate and is the truth about work
|
|
59
|
+
* of unknown length. The Component refuses to fill a bar it has no number for, and
|
|
60
|
+
* the refusal is a thrown diagnostic rather than a silently invented position.
|
|
61
|
+
*
|
|
62
|
+
* **`Progress` is composed and not drawn, and that is why the in-flight position
|
|
63
|
+
* has one indicator rather than two.** A determinate fraction and an indeterminate
|
|
64
|
+
* request are the same question asked with and without an answer, so they are the
|
|
65
|
+
* same Component, and the alternative is a bar in one position and a ring in the
|
|
66
|
+
* other, which is two answers to how far along a task is on one button. The width
|
|
67
|
+
* is bounded by `className` because width is layout, and everything else about the
|
|
68
|
+
* bar is Prism's.
|
|
69
|
+
*
|
|
70
|
+
* **A fraction is announced in the caller's words or not at all.** `Progress`
|
|
71
|
+
* exposes its value, minimum and maximum through ARIA, so a fraction between zero
|
|
72
|
+
* and one is announced as a decimal, and "0.42" is a measurement of nothing a
|
|
73
|
+
* reader can act on. So a state carrying `progress` must carry `progressText`, and
|
|
74
|
+
* the Component throws without it rather than letting a number through as an
|
|
75
|
+
* accessible name. Write the position as the reader would say it: "Uploading,
|
|
76
|
+
* 42 percent", "3 of 8 steps".
|
|
77
|
+
*
|
|
78
|
+
* **The outcome is announced, and the announcement is the transition rather than
|
|
79
|
+
* the control.** A reader who pressed a control and watched its label change has
|
|
80
|
+
* been answered; a reader who pressed it and looked away has not, and the
|
|
81
|
+
* succeeded position is the one that arrives with no other evidence on the page
|
|
82
|
+
* when the control that caused it has scrolled out of view. So the Component
|
|
83
|
+
* composes `LiveRegion` with the settled label in it, polite for a success and
|
|
84
|
+
* assertive for a failure, which is the politeness rule `LiveRegion` states and
|
|
85
|
+
* for its reasons: a save that landed waits its turn, and a save that was refused
|
|
86
|
+
* interrupts. The reason line beneath the control is deliberately not an alert, so
|
|
87
|
+
* the failure is announced once rather than twice in the same commit.
|
|
88
|
+
*
|
|
89
|
+
* **The region is mounted at the outcome rather than held empty, and the cost is
|
|
90
|
+
* real.** `LiveRegion` deliberately renders nothing when it has nothing to say,
|
|
91
|
+
* because a live region sitting on the page permanently announces unrelated
|
|
92
|
+
* changes of its ancestors, which is the noise the Component exists to avoid as
|
|
93
|
+
* well as to cause. The consequence is that this region is created at the moment
|
|
94
|
+
* of its content, and a live region created with its content is announced by most
|
|
95
|
+
* screen readers and not by all of them. A caller who needs the guarantee on every
|
|
96
|
+
* transition keeps a `LiveRegion` of their own beside this Component and passes
|
|
97
|
+
* the outcome into it, which is two lines and no override of anything here.
|
|
98
|
+
*
|
|
99
|
+
* **The retry is a second control and not a state of the first, because the two
|
|
100
|
+
* actions are not the same.** Pressing the control again after a failure is a
|
|
101
|
+
* claim that the same request is worth making again, and the caller may well have
|
|
102
|
+
* changed their mind; a control that quietly became the retry would make a reader
|
|
103
|
+
* who wants to send something different press it twice to find out. So the failed
|
|
104
|
+
* position draws the control, still labelled as the failed outcome, with a second
|
|
105
|
+
* control beside it. The cost is a row that is two controls wide in one position
|
|
106
|
+
* out of four, and a caller who has nowhere to put it composes the retry in their
|
|
107
|
+
* own layout rather than dropping the affordance.
|
|
108
|
+
*
|
|
109
|
+
* **It is a client Component**, because `Progress` is one, because the outcome is
|
|
110
|
+
* announced through a region whose behaviour the browser's mutation observer
|
|
111
|
+
* provides and whose mounting is React's, and because the only callback it takes
|
|
112
|
+
* is one the caller has to be in the client graph to supply. What that costs is
|
|
113
|
+
* the price of every client control, and it is worth naming because the surface
|
|
114
|
+
* invites a server render: a server Component can render the idle position and it
|
|
115
|
+
* will look right, and what it cannot do is move the position, show a fraction, or
|
|
116
|
+
* announce an outcome, because those are facts about what happens after the reader
|
|
117
|
+
* acts.
|
|
118
|
+
*/
|
|
119
|
+
function LifecycleButton({ state, onActivate, idleLabel, inFlightLabel, succeededLabel, failedLabel, retryLabel, variant = 'default', size = 'default', type = 'button', name, form, disabled = false, className, }) {
|
|
120
|
+
const inFlight = state.phase === 'in-flight';
|
|
121
|
+
const failed = state.phase === 'failed';
|
|
122
|
+
const succeeded = state.phase === 'succeeded';
|
|
123
|
+
const unavailable = inFlight || disabled;
|
|
124
|
+
if (inFlight && state.progress !== undefined && state.progressText === undefined) {
|
|
125
|
+
throw new Error('LifecycleButton: the in-flight state carries a progress fraction and no progressText, so the bar would be ' +
|
|
126
|
+
'announced as a decimal between zero and one, which is a measurement of nothing a reader can act on. Pass ' +
|
|
127
|
+
'the position in the words the reader would say it, or drop progress and let the bar be indeterminate.');
|
|
128
|
+
}
|
|
129
|
+
const label = state.phase === 'idle'
|
|
130
|
+
? idleLabel
|
|
131
|
+
: inFlight
|
|
132
|
+
? inFlightLabel
|
|
133
|
+
: succeeded
|
|
134
|
+
? succeededLabel
|
|
135
|
+
: failedLabel;
|
|
136
|
+
const settled = succeeded || failed;
|
|
137
|
+
const mark = settled ? SETTLED_MARK[state.phase] : null;
|
|
138
|
+
return (_jsxs("div", { "data-slot": "lifecycle-button", className: cn('inline-flex flex-col items-start gap-1.5', className), children: [_jsxs("div", { "data-slot": "lifecycle-button-actions", className: "flex items-center gap-2", children: [_jsxs(Button, { "data-slot": "lifecycle-button-control", type: type, variant: variant, size: size, name: name, form: form, "aria-disabled": unavailable || undefined, onClick: unavailable ? () => undefined : onActivate, children: [mark === null ? null : _jsx(mark.Mark, { className: mark.ink, "aria-hidden": "true" }), _jsx("span", { "data-slot": "lifecycle-button-label", children: label }), inFlight ? (_jsx(Progress, { "data-slot": "lifecycle-button-progress",
|
|
139
|
+
// The clamped fraction and the same component with no value, so the
|
|
140
|
+
// two are one question asked with and without an answer rather than
|
|
141
|
+
// a bar and a ring on one button.
|
|
142
|
+
value: state.progress === undefined ? null : Math.min(1, Math.max(0, state.progress)), max: 1, valueText: state.progressText, className: "w-16" })) : null] }), failed ? (_jsxs(Button, { "data-slot": "lifecycle-button-retry", type: "button", variant: "outline", size: size, onClick: onActivate, children: [_jsx(RefreshCwIcon, { "aria-hidden": "true" }), retryLabel] })) : null] }), failed && state.reason !== undefined && state.reason !== null && state.reason !== false ? (_jsx("p", { "data-slot": "lifecycle-button-message", className: "text-destructive text-sm", children: state.reason })) : null, settled ? (_jsx(LiveRegion, { className: "sr-only", politeness: failed ? 'assertive' : 'polite', children: label })) : null] }));
|
|
143
|
+
}
|
|
144
|
+
export { LifecycleButton };
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
/** One image in the rail, and the words that describe it. */
|
|
3
|
+
type LightboxThumbnail = {
|
|
4
|
+
/** The image, at the size a thumbnail is drawn. */
|
|
5
|
+
src: string;
|
|
6
|
+
/** The caller's description of it, and the button's accessible name. */
|
|
7
|
+
alt: string;
|
|
8
|
+
};
|
|
9
|
+
/** The props the Lightbox accepts. */
|
|
10
|
+
export interface LightboxProps {
|
|
11
|
+
/** Whether the dialog is open. */
|
|
12
|
+
open: boolean;
|
|
13
|
+
/** Called when the reader closes the dialog, by any route. */
|
|
14
|
+
onOpenChange: (open: boolean) => void;
|
|
15
|
+
/** The image being shown, at the size it should be shown at. */
|
|
16
|
+
src: string;
|
|
17
|
+
/**
|
|
18
|
+
* The image's description, and required.
|
|
19
|
+
*
|
|
20
|
+
* Required because an enlarged image is the whole point of this Component and
|
|
21
|
+
* an unnamed one is not enlarged, it is merely bigger: a lightbox with no
|
|
22
|
+
* description is a picture a reader can see more of and still not read, and the
|
|
23
|
+
* reader has paid a modal, a focus trap and an Escape key for it. It is also
|
|
24
|
+
* the name the dialog falls back to when the caller passes a caption this
|
|
25
|
+
* Component cannot turn into a title, so it is load bearing twice.
|
|
26
|
+
*/
|
|
27
|
+
alt: string;
|
|
28
|
+
/**
|
|
29
|
+
* The sentence under the image, in the caller's words.
|
|
30
|
+
*
|
|
31
|
+
* A string here becomes the dialog's visible name as well as its caption,
|
|
32
|
+
* because one sentence naming a figure is better than the same sentence twice
|
|
33
|
+
* in two places. A node is drawn under the image and the dialog is named by
|
|
34
|
+
* `alt` instead, which is the cost of a node: a node may be an image, a list
|
|
35
|
+
* or a piece of formatting, and a dialog's name has to be a string.
|
|
36
|
+
*/
|
|
37
|
+
caption?: ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* The other images, in order, and the rail of buttons that reaches them.
|
|
40
|
+
*
|
|
41
|
+
* The rail is drawn only when this is given and holds more than one, because a
|
|
42
|
+
* rail of one is a picture of the picture you are already looking at. When it
|
|
43
|
+
* is given, `src` and `alt` are expected to be the entry at the current index,
|
|
44
|
+
* and moving the rail asks for a new index rather than moving the image: the
|
|
45
|
+
* caller owns the data and this Component owns the words a reader hears.
|
|
46
|
+
*/
|
|
47
|
+
thumbnails?: readonly LightboxThumbnail[];
|
|
48
|
+
/**
|
|
49
|
+
* Which image is showing, zero based. Omit it for an uncontrolled lightbox
|
|
50
|
+
* that remembers where it was.
|
|
51
|
+
*
|
|
52
|
+
* A number and not a required prop, matching `Carousel`: a lightbox with one
|
|
53
|
+
* image has nothing to move between, and a caller who passes `thumbnails`
|
|
54
|
+
* should pass this too, which is the arrangement the type cannot enforce and
|
|
55
|
+
* the documentation has to.
|
|
56
|
+
*/
|
|
57
|
+
index?: number;
|
|
58
|
+
/** Called with the image the reader asked for. */
|
|
59
|
+
onIndexChange?: (index: number) => void;
|
|
60
|
+
/**
|
|
61
|
+
* The accessible name of the zoom control. Required.
|
|
62
|
+
*
|
|
63
|
+
* A prop and not a word, because this package ships no string a consumer
|
|
64
|
+
* cannot localise, and a control is the clearest case of one: a button whose
|
|
65
|
+
* label reads "Zoom" in a product whose interface says something else is a
|
|
66
|
+
* control the consumer cannot fix without patching the library. The same
|
|
67
|
+
* reasoning as `check-block-copy`'s account of the dialog's close button, which
|
|
68
|
+
* is the finding that made this a rule rather than a preference.
|
|
69
|
+
*
|
|
70
|
+
* One name for a two state control, and the state is announced with
|
|
71
|
+
* `aria-pressed`, so a reader hears the name and then whether the image is
|
|
72
|
+
* currently at actual size. That has a consequence for the word: it should be
|
|
73
|
+
* a noun for the thing being changed, such as "Image size", rather than a verb
|
|
74
|
+
* for one of the two directions, because a verb is a claim about what the
|
|
75
|
+
* press will do and the press does whichever of the two the state is not. A
|
|
76
|
+
* caller who wants two distinct names has to own the state to get them, which
|
|
77
|
+
* the two index props already let them do.
|
|
78
|
+
*/
|
|
79
|
+
zoomLabel: string;
|
|
80
|
+
/** The accessible name of the control that shows the previous image. Required, for the same reason. */
|
|
81
|
+
previousLabel: string;
|
|
82
|
+
/** The accessible name of the control that shows the next image. Required, for the same reason. */
|
|
83
|
+
nextLabel: string;
|
|
84
|
+
/** The accessible name of the control that closes the dialog. Required, for the same reason. */
|
|
85
|
+
closeLabel: string;
|
|
86
|
+
/** Layout only, exactly as on every Component. */
|
|
87
|
+
className?: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* An image at full size, in a dialog, with its own words and its own way out.
|
|
91
|
+
*
|
|
92
|
+
* **This Item exists because an image the reader cannot enlarge is an image the
|
|
93
|
+
* reader cannot read.** That is the whole argument, and it is not a small one,
|
|
94
|
+
* because an image carries text for a great many products: a chart exported as
|
|
95
|
+
* a picture, a screenshot of a console, a diagram, a photograph of a receipt, a
|
|
96
|
+
* logo lockup with a wordmark in it. At 320 pixels wide none of that is
|
|
97
|
+
* readable, and a reader who cannot read it has been shown a thumbnail and told
|
|
98
|
+
* it was the thing. Zooming in the browser is the alternative every consumer
|
|
99
|
+
* reaches for, and it is a poor one for a reader who is not using a mouse, one
|
|
100
|
+
* for a touch device where the gesture is not discoverable, and one that leaves
|
|
101
|
+
* the page's own focus, Escape key and scroll position behind, so the reader
|
|
102
|
+
* comes back to a different place than they left. A dialog is the whole of that
|
|
103
|
+
* and it comes free from a component library.
|
|
104
|
+
*
|
|
105
|
+
* **The dialog is `Dialog`, not a re-derivation of it.** The focus trap, the
|
|
106
|
+
* restore of focus to whatever opened it, the Escape key, the outside press, the
|
|
107
|
+
* scroll lock and the portal are all already solved and all of them are solved
|
|
108
|
+
* badly twice as often as they are solved well. An image overlay built on
|
|
109
|
+
* `<div>` and a `keydown` listener gets the Escape key and no focus trap, so a
|
|
110
|
+
* keyboard reader tabs behind the image into a page they cannot see; and every
|
|
111
|
+
* one of those defects is invisible in review because the overlay works for the
|
|
112
|
+
* person writing it. So this Component composes `Dialog` and spends its own
|
|
113
|
+
* surface on the three things `Dialog` does not know about: the rail, the
|
|
114
|
+
* controls and the zoom.
|
|
115
|
+
*
|
|
116
|
+
* **The four labels are props because Prism does not ship the words.** That is
|
|
117
|
+
* `check-block-copy`'s finding about `Dialog`'s close button, and it is a
|
|
118
|
+
* finding about this Component too: a hardcoded label is copy a consumer cannot
|
|
119
|
+
* localise, so a product in any language but English inherits an English
|
|
120
|
+
* control in the middle of its own interface, and the only fix is a fork. They
|
|
121
|
+
* are required rather than optional even though a lightbox with no rail draws
|
|
122
|
+
* no previous and no next control, and the reasoning is worth stating because it
|
|
123
|
+
* looks like friction. A required prop is a question asked at build time; an
|
|
124
|
+
* optional one is a question nobody asks, and the lightbox that grew a rail
|
|
125
|
+
* later would be the release where the two missing labels are discovered. It
|
|
126
|
+
* also keeps the prop set stable, so adding thumbnails is not a breaking change
|
|
127
|
+
* to the type.
|
|
128
|
+
*
|
|
129
|
+
* **The zoom is a state, not a gesture.** It toggles between fitted and actual
|
|
130
|
+
* size and the frame scrolls once the image is larger than it is, so the reader
|
|
131
|
+
* pans with the scroll keys and the arrow keys the way they pan anywhere else.
|
|
132
|
+
* There is no pinch, no drag to pan and no double tap, and the reason is that
|
|
133
|
+
* each of those is a bespoke pointer model that has to be discovered, whereas a
|
|
134
|
+
* scrollable frame is a thing every reader already knows. The transition on the
|
|
135
|
+
* image is a state change the reader caused, which is the first motion law's own
|
|
136
|
+
* case, and it carries no `motion-safe:` guard because it does not need one:
|
|
137
|
+
* `packages/ui/src/styles.css` ends with one unlayered `prefers-reduced-motion`
|
|
138
|
+
* rule that stops every transition, so a reader who has asked for less motion
|
|
139
|
+
* gets the new size immediately and loses only the travel between the two.
|
|
140
|
+
*
|
|
141
|
+
* **The rail is a list of real buttons and the current one is named, not
|
|
142
|
+
* coloured.** A rail of thumbnails is the one place a lightbox most often gets
|
|
143
|
+
* this wrong: the selected thumbnail gets a border and nothing else, so a
|
|
144
|
+
* screen reader user is read six identical buttons and a reader in greyscale is
|
|
145
|
+
* shown a difference of one pixel. Here each button is named by its own `alt`,
|
|
146
|
+
* which is a description of that image rather than of the position, and the
|
|
147
|
+
* current one carries `aria-current`. The inner image is marked decorative with
|
|
148
|
+
* an empty `alt`, so the button's name is the description and not a doubled
|
|
149
|
+
* reading of the same pixels.
|
|
150
|
+
*
|
|
151
|
+
* **The current image is the caller's.** `src` and `alt` are props, so this
|
|
152
|
+
* Component cannot move the image, and every control here asks for an index
|
|
153
|
+
* rather than setting one. That is a real constraint on a caller who wants the
|
|
154
|
+
* lightbox to own the sequence, and the reason for it is the same as everywhere
|
|
155
|
+
* else in this package: the images are application data, and a Component that
|
|
156
|
+
* held them would be a Component every consumer whose gallery is not this shape
|
|
157
|
+
* had to reimplement. A caller that wants an uncontrolled lightbox passes
|
|
158
|
+
* `index` and `onIndexChange` and keeps the state; one that wants the lightbox
|
|
159
|
+
* to remember where it was omits both and gets the local one.
|
|
160
|
+
*
|
|
161
|
+
* It is a client Component, and only because `Dialog` is one.
|
|
162
|
+
*/
|
|
163
|
+
declare function Lightbox({ open, onOpenChange, src, alt, caption, thumbnails, index, onIndexChange, zoomLabel, previousLabel, nextLabel, closeLabel, className, }: LightboxProps): import("react").JSX.Element;
|
|
164
|
+
export { Lightbox };
|
|
165
|
+
//# sourceMappingURL=lightbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lightbox.d.ts","sourceRoot":"","sources":["../../../src/components/ui/lightbox.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAK3D,6DAA6D;AAC7D,KAAK,iBAAiB,GAAG;IACvB,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAA;IACX,wEAAwE;IACxE,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,sCAAsC;AACtC,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,IAAI,EAAE,OAAO,CAAA;IACb,8DAA8D;IAC9D,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAA;IACX;;;;;;;;;OASG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;IACzC;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kDAAkD;IAClD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB,uGAAuG;IACvG,aAAa,EAAE,MAAM,CAAA;IACrB,mGAAmG;IACnG,SAAS,EAAE,MAAM,CAAA;IACjB,gGAAgG;IAChG,UAAU,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA2BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,iBAAS,QAAQ,CAAC,EAChB,IAAI,EACJ,YAAY,EACZ,GAAG,EACH,GAAG,EACH,OAAO,EACP,UAAU,EACV,KAAK,EACL,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,EACT,UAAU,EACV,SAAS,GACV,EAAE,aAAa,+BA+Kf;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|