@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,273 @@
|
|
|
1
|
+
import { type ChangeEventHandler, type ComponentProps, type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* One choice in a ChoiceCard group, and every word about it.
|
|
4
|
+
*
|
|
5
|
+
* **A choice is a value and two pieces of text, and there is no fourth field.**
|
|
6
|
+
* There is no price, no badge, no illustration and no "recommended" flag, because
|
|
7
|
+
* each of those is a claim about a product this package has not seen. A card that
|
|
8
|
+
* drew a ribbon would be publishing a recommendation the consumer did not make,
|
|
9
|
+
* which is the defect the whole taxonomy refuses. A consumer who wants a price
|
|
10
|
+
* passes it as the description, because a price beside a plan is a line of the
|
|
11
|
+
* consumer's own copy, and a consumer who wants a recommendation passes their own
|
|
12
|
+
* control in the description or composes the card themselves.
|
|
13
|
+
*/
|
|
14
|
+
export type ChoiceCardOption = {
|
|
15
|
+
/**
|
|
16
|
+
* The value this choice contributes to the group, and the value the form
|
|
17
|
+
* submits.
|
|
18
|
+
*
|
|
19
|
+
* Required, and required as a `string` because that is what a radio's own
|
|
20
|
+
* `value` is and what a form posts. Two choices sharing a value are one choice
|
|
21
|
+
* to the browser and two to the reader, so the values must be unique inside the
|
|
22
|
+
* group, and the consumer's own keys are the right ones because they are what
|
|
23
|
+
* their store already holds.
|
|
24
|
+
*/
|
|
25
|
+
value: string;
|
|
26
|
+
/**
|
|
27
|
+
* The choice's name, and the first half of the radio's accessible name.
|
|
28
|
+
*
|
|
29
|
+
* Required, and a node because a choice is often a name and a piece of emphasis,
|
|
30
|
+
* or a name and an inline figure, and a `string` prop would make a consumer
|
|
31
|
+
* reach for a wrapper element to smuggle either through. The node is also the
|
|
32
|
+
* text a sighted reader reads, which is what keeps the visible label and the
|
|
33
|
+
* announced name the same words rather than two copies of them.
|
|
34
|
+
*/
|
|
35
|
+
label: ReactNode;
|
|
36
|
+
/**
|
|
37
|
+
* The supporting line under the choice: what it costs, what it covers, what
|
|
38
|
+
* committing to it means.
|
|
39
|
+
*
|
|
40
|
+
* Optional, and it is the second half of the radio's accessible name rather than
|
|
41
|
+
* a description reached separately, because it sits inside the label. See the
|
|
42
|
+
* note on `ChoiceCard` for why that is the arrangement and what it costs.
|
|
43
|
+
*/
|
|
44
|
+
description?: ReactNode;
|
|
45
|
+
/**
|
|
46
|
+
* Whether this choice cannot be taken, and why the consumer decided that.
|
|
47
|
+
*
|
|
48
|
+
* Optional, and a disabled option is refused rather than drawn as enabled and
|
|
49
|
+
* ignored, and it stays in the accessibility tree so a reader is told the choice
|
|
50
|
+
* exists and is not available. A card that silently vanished is a card a reader
|
|
51
|
+
* will believe has been withdrawn.
|
|
52
|
+
*/
|
|
53
|
+
disabled?: boolean;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* How many cards sit on a row, as a closed set of three.
|
|
57
|
+
*
|
|
58
|
+
* A number rather than a Tailwind class, for the reason `ListPanel` gives about
|
|
59
|
+
* its own bound: the arrangement is a claim about the content rather than about
|
|
60
|
+
* the layout. A plan is usually a row of two or three and a region is usually a
|
|
61
|
+
* stack, and a consumer who could only write a column class would be picking one
|
|
62
|
+
* of those for the other. Three members and no more, because four cards on a row
|
|
63
|
+
* at this padding stop being readable at the measure a documentation page has.
|
|
64
|
+
*/
|
|
65
|
+
declare const CHOICE_CARD_COLUMNS: {
|
|
66
|
+
readonly 1: "";
|
|
67
|
+
readonly 2: "sm:grid-cols-2";
|
|
68
|
+
readonly 3: "sm:grid-cols-2 lg:grid-cols-3";
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* How many cards sit on a row.
|
|
72
|
+
*
|
|
73
|
+
* @defaultValue 1
|
|
74
|
+
*/
|
|
75
|
+
export type ChoiceCardColumns = keyof typeof CHOICE_CARD_COLUMNS;
|
|
76
|
+
/**
|
|
77
|
+
* The props a ChoiceCard accepts.
|
|
78
|
+
*
|
|
79
|
+
* The fieldset's own props are forwarded with `children` and `onChange` removed.
|
|
80
|
+
* `children` goes because the group draws its own cards and a consumer who passed
|
|
81
|
+
* any would be reaching past the set. `onChange` goes because the group's handler
|
|
82
|
+
* is a selection report and the element's own `onChange` is a form event about the
|
|
83
|
+
* whole fieldset, which is a different thing under the same word; the selection
|
|
84
|
+
* handler is declared in this body instead, where its meaning is written down.
|
|
85
|
+
*/
|
|
86
|
+
export type ChoiceCardProps = {
|
|
87
|
+
/**
|
|
88
|
+
* The group's own name, drawn above the cards and announced as the group's
|
|
89
|
+
* name.
|
|
90
|
+
*
|
|
91
|
+
* Required, and required as a node because the name is content: it is often a
|
|
92
|
+
* heading with a count in it, and it is drawn as the fieldset's legend, so the
|
|
93
|
+
* element a sighted reader reads is the element a screen reader names the group
|
|
94
|
+
* by. There is no default and no generated name anywhere in this module, because
|
|
95
|
+
* a group of plans with no name is announced as an unnamed group and a reader
|
|
96
|
+
* learns nothing about what the question was. The sentence is the consumer's, in
|
|
97
|
+
* their language: "Plan", "Region", "Billing cadence".
|
|
98
|
+
*/
|
|
99
|
+
label: ReactNode;
|
|
100
|
+
/**
|
|
101
|
+
* The choices, in the order a reader should meet them.
|
|
102
|
+
*
|
|
103
|
+
* Required, and order is the consumer's because which option reads first is a
|
|
104
|
+
* claim about their product rather than about this design system. A set of one
|
|
105
|
+
* is a legitimate value: a single choice with nothing to compare against is a
|
|
106
|
+
* field whose answer is fixed, and it renders as one card in a row of one.
|
|
107
|
+
*/
|
|
108
|
+
options: readonly ChoiceCardOption[];
|
|
109
|
+
/**
|
|
110
|
+
* The chosen value, when the group is controlled.
|
|
111
|
+
*
|
|
112
|
+
* Optional, and paired with `onChange` in the ordinary controlled way. A value
|
|
113
|
+
* that names no option marks nothing, which is a real state and not a throw: a
|
|
114
|
+
* saved record naming an option the product has since withdrawn is the
|
|
115
|
+
* consumer's data problem, and taking the page down over it is worse than
|
|
116
|
+
* drawing a chooser with nothing selected.
|
|
117
|
+
*/
|
|
118
|
+
value?: string;
|
|
119
|
+
/**
|
|
120
|
+
* The option selected initially, for a group nobody is controlling.
|
|
121
|
+
*
|
|
122
|
+
* Optional, and it is the whole of the no-JavaScript path. With this and no
|
|
123
|
+
* `onChange`, the group is a set of real radios in a real form: the browser holds
|
|
124
|
+
* the selection, the arrow keys move it, and the value is posted on submit, with
|
|
125
|
+
* no framework involved at any point. A controlled `value` with no `onChange` is
|
|
126
|
+
* a read-only group, and the browser's own warning is the honest report of it.
|
|
127
|
+
*/
|
|
128
|
+
defaultValue?: string;
|
|
129
|
+
/**
|
|
130
|
+
* Called with the input's own change event when the reader takes a choice.
|
|
131
|
+
*
|
|
132
|
+
* Optional, and it is the platform's event rather than a `(value: string)`
|
|
133
|
+
* report, so `event.target.value` is the chosen value and nothing is reshaped
|
|
134
|
+
* on the way through. See the note on `ChoiceCard` for why this module is still
|
|
135
|
+
* a server Component, because that is the one place this Component departs from
|
|
136
|
+
* the package's usual rule and the departure is deliberate.
|
|
137
|
+
*/
|
|
138
|
+
onChange?: ChangeEventHandler<HTMLInputElement>;
|
|
139
|
+
/**
|
|
140
|
+
* The form field name the chosen value is submitted under.
|
|
141
|
+
*
|
|
142
|
+
* Optional, and it is a field name rather than a label: this is the key the
|
|
143
|
+
* value arrives at on the server, and a consumer that omits it gets radios that
|
|
144
|
+
* still work, still announce and still constrain, and post nothing.
|
|
145
|
+
*/
|
|
146
|
+
name?: string;
|
|
147
|
+
/**
|
|
148
|
+
* The `id` of the form that owns these radios, for a group rendered outside its
|
|
149
|
+
* own `<form>` element.
|
|
150
|
+
*
|
|
151
|
+
* Optional, and it is the same attribute a native input has, forwarded because a
|
|
152
|
+
* consumer whose chooser lives in a dialog has to say which form owns it.
|
|
153
|
+
*/
|
|
154
|
+
form?: string;
|
|
155
|
+
/**
|
|
156
|
+
* Whether every choice ignores interaction.
|
|
157
|
+
*
|
|
158
|
+
* Optional, and it is put on each input rather than on the fieldset, because
|
|
159
|
+
* `<fieldset disabled>` is a second place the same state is written and the
|
|
160
|
+
* fieldset's own attribute is the browser's rather than this Component's. The
|
|
161
|
+
* visible dimming comes from the same place either way, since a card dims when
|
|
162
|
+
* the radio inside it is disabled.
|
|
163
|
+
*/
|
|
164
|
+
disabled?: boolean;
|
|
165
|
+
/**
|
|
166
|
+
* Whether a value must be chosen before the form submits.
|
|
167
|
+
*
|
|
168
|
+
* Optional, and it is put on each input, which is how the platform expresses it:
|
|
169
|
+
* a required radio group is satisfied by any one of its members, and a form that
|
|
170
|
+
* submits without a choice is refused by the browser with a message in the
|
|
171
|
+
* reader's own language rather than by this package.
|
|
172
|
+
*/
|
|
173
|
+
required?: boolean;
|
|
174
|
+
/** How many cards sit on a row. @defaultValue 1 */
|
|
175
|
+
columns?: ChoiceCardColumns;
|
|
176
|
+
/** Layout only, and the legend stays the first child of the fieldset. */
|
|
177
|
+
className?: string;
|
|
178
|
+
} & Omit<ComponentProps<'fieldset'>, 'onChange' | 'children'>;
|
|
179
|
+
/**
|
|
180
|
+
* A set of choices where each one is a card, and the reader takes exactly one.
|
|
181
|
+
*
|
|
182
|
+
* **It is a fieldset of real radios, and the argument for the native route is that
|
|
183
|
+
* every hard part is already solved by the platform.** A radio group has one Tab
|
|
184
|
+
* stop, arrow keys that move and choose, a checked state the platform owns, form
|
|
185
|
+
* participation, constraint validation, and a place in every browser's
|
|
186
|
+
* accessibility tree. The ARIA route, which is what `ToggleGroup` and
|
|
187
|
+
* `BillingSources` take, buys total control of the appearance and pays for it
|
|
188
|
+
* with a hidden input to submit, a roving tab stop to maintain, and a keyboard
|
|
189
|
+
* model a reader has to test rather than one the platform ships. This Component's
|
|
190
|
+
* whole subject is the appearance, and it is the one place in this package where
|
|
191
|
+
* the appearance is free and the semantics are not on offer: a card is a label
|
|
192
|
+
* around a radio, and a label is a native element.
|
|
193
|
+
*
|
|
194
|
+
* **The card is a `<label>` wrapping the radio, and that is what makes the whole
|
|
195
|
+
* card pressable.** The alternative is a 16 pixel circle with a line of text beside
|
|
196
|
+
* it, which is what `radio-group` draws, and it is right there because a radio row
|
|
197
|
+
* is a form field and a form field is compact by convention. A card is the size of
|
|
198
|
+
* a plan, a region and a cadence, and at that size a small target beside a
|
|
199
|
+
* sentence the reader also wants to press is a target a finger misses. So the
|
|
200
|
+
* label wraps the radio, the whole card is the target, and the radio's accessible
|
|
201
|
+
* name comes from the label element natively, with no generated id and nothing to
|
|
202
|
+
* keep in step. The cost is the one a wrapping label creates and it is not small:
|
|
203
|
+
* a control inside a card, a link in the description, a copy button beside the
|
|
204
|
+
* price, all of them select the radio when the reader presses them, because a
|
|
205
|
+
* label forwards the click to what it wraps. A consumer who needs an interactive
|
|
206
|
+
* element inside a choice puts that choice somewhere else.
|
|
207
|
+
*
|
|
208
|
+
* **The description is inside the label, so it is part of the name.** A screen
|
|
209
|
+
* reader announces the choice's label and then its description, in the order the
|
|
210
|
+
* reader sees them, and then the role and then its position in the group: "Team.
|
|
211
|
+
* Twelve agents, billed yearly. Radio button, 2 of 3." The rejected alternative is
|
|
212
|
+
* a description outside the label reached by `aria-describedby`, which would give
|
|
213
|
+
* a short name and a separate description, and it costs two things: an id to
|
|
214
|
+
* generate and to wire, and the whole-card hit area, because everything outside
|
|
215
|
+
* the label stops selecting. Given that the hit area is the reason this Component
|
|
216
|
+
* exists, the name carries the description. The cost is that a long description is
|
|
217
|
+
* a long name, so keep it to one line, which is the same rule the package states
|
|
218
|
+
* about a `CardDescription`.
|
|
219
|
+
*
|
|
220
|
+
* **The group is a `<fieldset>` with a `<legend>`, and it also carries
|
|
221
|
+
* `role="radiogroup"`.** The fieldset is what groups the radios and what names
|
|
222
|
+
* them, and the legend is the name. The explicit role is an addition rather than a
|
|
223
|
+
* replacement: an element with an explicit role is named by `aria-labelledby`
|
|
224
|
+
* rather than by its legend, so the legend is given an id and pointed at, and what
|
|
225
|
+
* is bought is that a screen reader announces a radio group rather than a
|
|
226
|
+
* grouping, which is the difference between a reader knowing this is one question
|
|
227
|
+
* and a reader having to infer it from six radios. The cost is stated: the name
|
|
228
|
+
* now depends on an id, so a consumer who takes the fieldset's props and replaces
|
|
229
|
+
* the legend with their own element has to carry the id, and `useId` is the reason
|
|
230
|
+
* this module still needs no `'use client'` of its own.
|
|
231
|
+
*
|
|
232
|
+
* **The selected card states its border and its indicator and not its fill, and
|
|
233
|
+
* that is a decision about competing signals.** A fill a `hover` can take over is a
|
|
234
|
+
* fill whose meaning changes under the pointer, and which of the two wins is a
|
|
235
|
+
* question about Tailwind's variant order rather than about this design system.
|
|
236
|
+
* The two things that carry selection here are the ones nothing else competes for:
|
|
237
|
+
* the radio's own dot fills, and the border takes the primary role. The cost is
|
|
238
|
+
* that a selected card is quieter than a filled one, so a consumer who wants a
|
|
239
|
+
* louder selected state adds their own `Tag` or `Badge` beside the choice, which is
|
|
240
|
+
* a claim about their product and therefore theirs to make.
|
|
241
|
+
*
|
|
242
|
+
* **The module is a server Component and it takes a function prop anyway, which is
|
|
243
|
+
* a deliberate departure from the rule the rest of this package follows.** The rule
|
|
244
|
+
* exists for a reason: a Component that *calls* a function prop during render, or
|
|
245
|
+
* that holds state the callback drives, has to be in the client graph, because a
|
|
246
|
+
* server component cannot hand a function down. This Component never calls
|
|
247
|
+
* `onChange`. It forwards it to an `<input>`, where it is an ordinary DOM handler
|
|
248
|
+
* the framework attaches at hydration, and the Component's own output is a pure
|
|
249
|
+
* function of its props with no hook, no state and no effect. `Metric` and
|
|
250
|
+
* `SearchField` are the precedents in this package for a server Component with a
|
|
251
|
+
* function prop, and the reasoning is theirs as much as this one's. The cost is
|
|
252
|
+
* real and is why it is stated: a consumer who passes `onChange` from a server
|
|
253
|
+
* file gets a build error in every framework that draws that line, and that error
|
|
254
|
+
* is correct, because a server component cannot hand an event handler down. A
|
|
255
|
+
* consumer who wants the value in their own state is already in a client module, and
|
|
256
|
+
* a consumer who does not is in a server one and gets a working radio group that
|
|
257
|
+
* ships no JavaScript at all.
|
|
258
|
+
*
|
|
259
|
+
* **It is distinct from `radio-group` and from `card`, and both differences are
|
|
260
|
+
* about the same thing.** `radio-group` is the compact form: a small circle beside
|
|
261
|
+
* a short label, one row, a form field. `card` is a surface with a title, a
|
|
262
|
+
* description, content and a footer, and it is not a control at all: it has no
|
|
263
|
+
* role, it is not focusable, and it submits nothing. This is the third thing, the
|
|
264
|
+
* one where the control and the surface are the same box, and neither of the other
|
|
265
|
+
* two can be turned into it. A `card` cannot become a choice without a role and a
|
|
266
|
+
* checked state; a `radio-group` cannot become a choice card without a label around
|
|
267
|
+
* each row and the row-sized target that brings. Composing them does not help
|
|
268
|
+
* either, because a card wrapped around a radio row is a card with a small target
|
|
269
|
+
* inside it, which is the arrangement this Component exists to replace.
|
|
270
|
+
*/
|
|
271
|
+
declare function ChoiceCard({ label, options, value, defaultValue, onChange, name, form, disabled, required, columns, className, ...props }: ChoiceCardProps): import("react").JSX.Element;
|
|
272
|
+
export { ChoiceCard };
|
|
273
|
+
//# sourceMappingURL=choice-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"choice-card.d.ts","sourceRoot":"","sources":["../../../src/components/ui/choice-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAI3F;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;;;;;;;OASG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;;OAQG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,mBAAmB;;;;CAIf,CAAA;AAEV;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,mBAAmB,CAAA;AAEhE;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;;;;;;;;OAWG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;;OAOG;IACH,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAA;IACpC;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IAC/C;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mDAAmD;IACnD,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2FG;AACH,iBAAS,UAAU,CAAC,EAClB,KAAK,EACL,OAAO,EACP,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,QAAgB,EAChB,QAAgB,EAChB,OAAW,EACX,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,+BAqGjB;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from 'react';
|
|
3
|
+
import { cn } from '../../lib/utils.js';
|
|
4
|
+
/**
|
|
5
|
+
* How many cards sit on a row, as a closed set of three.
|
|
6
|
+
*
|
|
7
|
+
* A number rather than a Tailwind class, for the reason `ListPanel` gives about
|
|
8
|
+
* its own bound: the arrangement is a claim about the content rather than about
|
|
9
|
+
* the layout. A plan is usually a row of two or three and a region is usually a
|
|
10
|
+
* stack, and a consumer who could only write a column class would be picking one
|
|
11
|
+
* of those for the other. Three members and no more, because four cards on a row
|
|
12
|
+
* at this padding stop being readable at the measure a documentation page has.
|
|
13
|
+
*/
|
|
14
|
+
const CHOICE_CARD_COLUMNS = {
|
|
15
|
+
1: '',
|
|
16
|
+
2: 'sm:grid-cols-2',
|
|
17
|
+
3: 'sm:grid-cols-2 lg:grid-cols-3',
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* A set of choices where each one is a card, and the reader takes exactly one.
|
|
21
|
+
*
|
|
22
|
+
* **It is a fieldset of real radios, and the argument for the native route is that
|
|
23
|
+
* every hard part is already solved by the platform.** A radio group has one Tab
|
|
24
|
+
* stop, arrow keys that move and choose, a checked state the platform owns, form
|
|
25
|
+
* participation, constraint validation, and a place in every browser's
|
|
26
|
+
* accessibility tree. The ARIA route, which is what `ToggleGroup` and
|
|
27
|
+
* `BillingSources` take, buys total control of the appearance and pays for it
|
|
28
|
+
* with a hidden input to submit, a roving tab stop to maintain, and a keyboard
|
|
29
|
+
* model a reader has to test rather than one the platform ships. This Component's
|
|
30
|
+
* whole subject is the appearance, and it is the one place in this package where
|
|
31
|
+
* the appearance is free and the semantics are not on offer: a card is a label
|
|
32
|
+
* around a radio, and a label is a native element.
|
|
33
|
+
*
|
|
34
|
+
* **The card is a `<label>` wrapping the radio, and that is what makes the whole
|
|
35
|
+
* card pressable.** The alternative is a 16 pixel circle with a line of text beside
|
|
36
|
+
* it, which is what `radio-group` draws, and it is right there because a radio row
|
|
37
|
+
* is a form field and a form field is compact by convention. A card is the size of
|
|
38
|
+
* a plan, a region and a cadence, and at that size a small target beside a
|
|
39
|
+
* sentence the reader also wants to press is a target a finger misses. So the
|
|
40
|
+
* label wraps the radio, the whole card is the target, and the radio's accessible
|
|
41
|
+
* name comes from the label element natively, with no generated id and nothing to
|
|
42
|
+
* keep in step. The cost is the one a wrapping label creates and it is not small:
|
|
43
|
+
* a control inside a card, a link in the description, a copy button beside the
|
|
44
|
+
* price, all of them select the radio when the reader presses them, because a
|
|
45
|
+
* label forwards the click to what it wraps. A consumer who needs an interactive
|
|
46
|
+
* element inside a choice puts that choice somewhere else.
|
|
47
|
+
*
|
|
48
|
+
* **The description is inside the label, so it is part of the name.** A screen
|
|
49
|
+
* reader announces the choice's label and then its description, in the order the
|
|
50
|
+
* reader sees them, and then the role and then its position in the group: "Team.
|
|
51
|
+
* Twelve agents, billed yearly. Radio button, 2 of 3." The rejected alternative is
|
|
52
|
+
* a description outside the label reached by `aria-describedby`, which would give
|
|
53
|
+
* a short name and a separate description, and it costs two things: an id to
|
|
54
|
+
* generate and to wire, and the whole-card hit area, because everything outside
|
|
55
|
+
* the label stops selecting. Given that the hit area is the reason this Component
|
|
56
|
+
* exists, the name carries the description. The cost is that a long description is
|
|
57
|
+
* a long name, so keep it to one line, which is the same rule the package states
|
|
58
|
+
* about a `CardDescription`.
|
|
59
|
+
*
|
|
60
|
+
* **The group is a `<fieldset>` with a `<legend>`, and it also carries
|
|
61
|
+
* `role="radiogroup"`.** The fieldset is what groups the radios and what names
|
|
62
|
+
* them, and the legend is the name. The explicit role is an addition rather than a
|
|
63
|
+
* replacement: an element with an explicit role is named by `aria-labelledby`
|
|
64
|
+
* rather than by its legend, so the legend is given an id and pointed at, and what
|
|
65
|
+
* is bought is that a screen reader announces a radio group rather than a
|
|
66
|
+
* grouping, which is the difference between a reader knowing this is one question
|
|
67
|
+
* and a reader having to infer it from six radios. The cost is stated: the name
|
|
68
|
+
* now depends on an id, so a consumer who takes the fieldset's props and replaces
|
|
69
|
+
* the legend with their own element has to carry the id, and `useId` is the reason
|
|
70
|
+
* this module still needs no `'use client'` of its own.
|
|
71
|
+
*
|
|
72
|
+
* **The selected card states its border and its indicator and not its fill, and
|
|
73
|
+
* that is a decision about competing signals.** A fill a `hover` can take over is a
|
|
74
|
+
* fill whose meaning changes under the pointer, and which of the two wins is a
|
|
75
|
+
* question about Tailwind's variant order rather than about this design system.
|
|
76
|
+
* The two things that carry selection here are the ones nothing else competes for:
|
|
77
|
+
* the radio's own dot fills, and the border takes the primary role. The cost is
|
|
78
|
+
* that a selected card is quieter than a filled one, so a consumer who wants a
|
|
79
|
+
* louder selected state adds their own `Tag` or `Badge` beside the choice, which is
|
|
80
|
+
* a claim about their product and therefore theirs to make.
|
|
81
|
+
*
|
|
82
|
+
* **The module is a server Component and it takes a function prop anyway, which is
|
|
83
|
+
* a deliberate departure from the rule the rest of this package follows.** The rule
|
|
84
|
+
* exists for a reason: a Component that *calls* a function prop during render, or
|
|
85
|
+
* that holds state the callback drives, has to be in the client graph, because a
|
|
86
|
+
* server component cannot hand a function down. This Component never calls
|
|
87
|
+
* `onChange`. It forwards it to an `<input>`, where it is an ordinary DOM handler
|
|
88
|
+
* the framework attaches at hydration, and the Component's own output is a pure
|
|
89
|
+
* function of its props with no hook, no state and no effect. `Metric` and
|
|
90
|
+
* `SearchField` are the precedents in this package for a server Component with a
|
|
91
|
+
* function prop, and the reasoning is theirs as much as this one's. The cost is
|
|
92
|
+
* real and is why it is stated: a consumer who passes `onChange` from a server
|
|
93
|
+
* file gets a build error in every framework that draws that line, and that error
|
|
94
|
+
* is correct, because a server component cannot hand an event handler down. A
|
|
95
|
+
* consumer who wants the value in their own state is already in a client module, and
|
|
96
|
+
* a consumer who does not is in a server one and gets a working radio group that
|
|
97
|
+
* ships no JavaScript at all.
|
|
98
|
+
*
|
|
99
|
+
* **It is distinct from `radio-group` and from `card`, and both differences are
|
|
100
|
+
* about the same thing.** `radio-group` is the compact form: a small circle beside
|
|
101
|
+
* a short label, one row, a form field. `card` is a surface with a title, a
|
|
102
|
+
* description, content and a footer, and it is not a control at all: it has no
|
|
103
|
+
* role, it is not focusable, and it submits nothing. This is the third thing, the
|
|
104
|
+
* one where the control and the surface are the same box, and neither of the other
|
|
105
|
+
* two can be turned into it. A `card` cannot become a choice without a role and a
|
|
106
|
+
* checked state; a `radio-group` cannot become a choice card without a label around
|
|
107
|
+
* each row and the row-sized target that brings. Composing them does not help
|
|
108
|
+
* either, because a card wrapped around a radio row is a card with a small target
|
|
109
|
+
* inside it, which is the arrangement this Component exists to replace.
|
|
110
|
+
*/
|
|
111
|
+
function ChoiceCard({ label, options, value, defaultValue, onChange, name, form, disabled = false, required = false, columns = 1, className, ...props }) {
|
|
112
|
+
const generated = useId();
|
|
113
|
+
const legendId = `${generated}-legend`;
|
|
114
|
+
return (
|
|
115
|
+
/*
|
|
116
|
+
* A block, not a flex column, and the legend is its first child. A fieldset
|
|
117
|
+
* whose display is not `block` takes its legend out of the ordinary flow in
|
|
118
|
+
* some engines, and the legend is what names the group, so the layout is
|
|
119
|
+
* arranged on the grid below rather than on the fieldset.
|
|
120
|
+
*/
|
|
121
|
+
_jsxs("fieldset", { "data-slot": "choice-card",
|
|
122
|
+
// The role states what the set is rather than leaving a reader to infer it
|
|
123
|
+
// from six radios, and the name comes from the legend through the id
|
|
124
|
+
// because an element with an explicit role is not named by its contents.
|
|
125
|
+
role: "radiogroup", "aria-labelledby": legendId, className: cn('w-full min-w-0', className), ...props, children: [_jsx("legend", { id: legendId, "data-slot": "choice-card-legend", className: "mb-3 text-sm font-medium", children: label }), _jsx("div", { "data-slot": "choice-card-grid", className: cn('grid gap-3', CHOICE_CARD_COLUMNS[columns]), children: options.map((option) => (_jsxs("label", { "data-slot": "choice-card-option", "data-value": option.value, className: cn(
|
|
126
|
+
// Both halves of the resting surface are stated here rather than
|
|
127
|
+
// inherited, for the Stated Ink Rule: a fill with no ink of its own is
|
|
128
|
+
// the same card on the page ground and a different one inside any
|
|
129
|
+
// Block that draws a filled surface.
|
|
130
|
+
'border-border bg-background text-foreground hover:bg-muted', 'flex cursor-pointer items-start gap-3 rounded-lg border p-4', 'transition-colors duration-fast ease-out', 'has-[:checked]:border-primary',
|
|
131
|
+
// The focus ring is drawn on the card rather than on the radio, so it
|
|
132
|
+
// bounds the thing the reader is choosing instead of a small circle
|
|
133
|
+
// inside it. The radio is `sr-only` rather than hidden, so there is no
|
|
134
|
+
// outline to suppress on either element and the browser's own
|
|
135
|
+
// indicator is not competing with this one.
|
|
136
|
+
'has-[:focus-visible]:ring-ring has-[:focus-visible]:ring-[3px]', 'has-[:disabled]:cursor-not-allowed has-[:disabled]:opacity-50'), children: [_jsxs("span", { "data-slot": "choice-card-indicator", className: cn('border-input text-primary bg-background mt-0.5 flex size-4 shrink-0 items-center justify-center rounded-full border', 'transition-colors duration-fast ease-out', 'has-[:checked]:border-primary'), children: [_jsx("input", { "data-slot": "choice-card-input", className: "peer sr-only", type: "radio", name: name, form: form, value: option.value, checked: value === undefined ? undefined : value === option.value, defaultChecked: value === undefined ? defaultValue === option.value : undefined, disabled: disabled || option.disabled === true, required: required, onChange: onChange }), _jsx("span", { "data-slot": "choice-card-dot", "aria-hidden": "true", className: "bg-primary text-primary size-2 rounded-full opacity-0 peer-checked:opacity-100" })] }), _jsxs("span", { "data-slot": "choice-card-body", className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [_jsx("span", { "data-slot": "choice-card-label", className: "text-sm font-medium", children: option.label }), option.description === undefined ? null : (_jsx("span", { "data-slot": "choice-card-description", className: "text-muted-foreground text-sm", children: option.description }))] })] }, option.value))) })] }));
|
|
137
|
+
}
|
|
138
|
+
export { ChoiceCard };
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import type { ComponentProps, ReactNode } from 'react';
|
|
2
|
+
/** What every arm of `CodeBlockProps` carries. */
|
|
3
|
+
type CodeBlockFigure = {
|
|
4
|
+
/**
|
|
5
|
+
* The source, exactly as it is in the file.
|
|
6
|
+
*
|
|
7
|
+
* A string and not a `ReactNode`, and the reason is that this is a code
|
|
8
|
+
* surface: the whole claim is that what a reader copies is what the caller
|
|
9
|
+
* holds. A `ReactNode` would be a set of elements a caller could mark up, and
|
|
10
|
+
* then the thing on the page and the thing in the clipboard are two different
|
|
11
|
+
* strings, which is the failure a code block is the last place to allow.
|
|
12
|
+
*/
|
|
13
|
+
code: string;
|
|
14
|
+
/**
|
|
15
|
+
* The language, in whatever form the caller's own documentation uses it.
|
|
16
|
+
*
|
|
17
|
+
* Drawn in the header in the mono face and never read as a claim about what
|
|
18
|
+
* the code means. It is the one word that says what the syntax is, and it is
|
|
19
|
+
* also the one word that cannot be a promise: this Component does not know
|
|
20
|
+
* what `ts` is, so it draws what it was given. `tsx`, `ts`, `typescript` and
|
|
21
|
+
* `TypeScript` are all defensible in different code bases, and the value that
|
|
22
|
+
* is right is the one the caller's own pages already use.
|
|
23
|
+
*/
|
|
24
|
+
language?: string;
|
|
25
|
+
/**
|
|
26
|
+
* The file the snippet is from, drawn in the header beside the language.
|
|
27
|
+
*
|
|
28
|
+
* Both are in the mono face and both are machine notation: a filename and a
|
|
29
|
+
* language tag are names in a machine's alphabet, not prose, and setting them
|
|
30
|
+
* in the sans face would make the header look like a sentence when the one
|
|
31
|
+
* thing in it that is not a sentence is the caller's actions slot. The
|
|
32
|
+
* filename also replaces the language where a snippet is one file rather than
|
|
33
|
+
* one language, so a caller can pass either and the header stays one item.
|
|
34
|
+
*/
|
|
35
|
+
filename?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Draws a number against each line. @defaultValue false
|
|
38
|
+
*
|
|
39
|
+
* Off by default because the numbers are the answer to a question only some
|
|
40
|
+
* readers ask, and a reader who is not in a file does not want a gutter
|
|
41
|
+
* pushing the code two characters to the right. The number is a reference, not
|
|
42
|
+
* part of the text: see the note on the gutter.
|
|
43
|
+
*/
|
|
44
|
+
lineNumbers?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Layout only, exactly as on every Component. Changing a Prism-owned visual
|
|
47
|
+
* property from here is prohibited.
|
|
48
|
+
*/
|
|
49
|
+
className?: string;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* The props the CodeBlock accepts.
|
|
53
|
+
*
|
|
54
|
+
* The name is a union rather than `label?: string` for the reason
|
|
55
|
+
* `DiagramProps` and `PulseGraphProps` state: only a union lets the type system
|
|
56
|
+
* see the exception. A figure whose accessible name is optional is a figure
|
|
57
|
+
* whose name a caller forgets, and here the forgetting has a cost that is easy
|
|
58
|
+
* to name: a copy control beside a figure with no name is a button whose label
|
|
59
|
+
* says "copy" and whose target is unnamed, so a screen reader user is told to
|
|
60
|
+
* copy something and then cannot find out what. So `label` is required in the
|
|
61
|
+
* arm that takes `actions` and optional in the arm that does not, and the type
|
|
62
|
+
* makes the second case impossible to reach by accident. `label?: string` on
|
|
63
|
+
* its own was the shape rejected: it is the same type as the pair above and it
|
|
64
|
+
* states none of it.
|
|
65
|
+
*/
|
|
66
|
+
export type CodeBlockProps = CodeBlockFigure & ({
|
|
67
|
+
/**
|
|
68
|
+
* The accessible name of the figure, and the only name the snippet has.
|
|
69
|
+
*
|
|
70
|
+
* A path, a command, the thing the snippet shows. Required whenever the
|
|
71
|
+
* caller brings a control, because a control that acts on a figure acts
|
|
72
|
+
* on something and the something has to be nameable.
|
|
73
|
+
*/
|
|
74
|
+
label: string;
|
|
75
|
+
/**
|
|
76
|
+
* The caller's own controls for this figure, in the header.
|
|
77
|
+
*
|
|
78
|
+
* A slot rather than a copy button, and the reason is the copy gate's:
|
|
79
|
+
* this package ships no word a consumer cannot localise, and a copy
|
|
80
|
+
* control is the clearest case of one. A button whose label reads "Copy"
|
|
81
|
+
* in a product that never uses that word is a control the consumer
|
|
82
|
+
* cannot fix without patching the library, and the fix would be a fork
|
|
83
|
+
* rather than a prop. So the surface is drawn, the header has a place for
|
|
84
|
+
* the caller's own button, and the caller names it.
|
|
85
|
+
*/
|
|
86
|
+
actions?: ReactNode;
|
|
87
|
+
} | {
|
|
88
|
+
/**
|
|
89
|
+
* The accessible name of the figure. Optional here, and only here,
|
|
90
|
+
* because a snippet with no control beside it is identified by the
|
|
91
|
+
* sentence around it.
|
|
92
|
+
*/
|
|
93
|
+
label?: string;
|
|
94
|
+
/** A figure with no control beside it has no slot to fill. */
|
|
95
|
+
actions?: never;
|
|
96
|
+
});
|
|
97
|
+
/**
|
|
98
|
+
* A snippet of source: a mono surface with a header for the words that say what
|
|
99
|
+
* it is.
|
|
100
|
+
*
|
|
101
|
+
* **Prism ships a code surface and no syntax highlighter, and that is the
|
|
102
|
+
* decision worth defending.** A highlighter is not a presentation detail, it is
|
|
103
|
+
* a dependency that arrives with its own answer to the question "what does this
|
|
104
|
+
* token mean", and it is a second source of truth for exactly the kind of thing
|
|
105
|
+
* this system is built to have one of. Prism's law is that a value is authored
|
|
106
|
+
* once and reaches a consumer through the tokens; a highlighter decides on its
|
|
107
|
+
* own that `const` is a keyword and that a string is a string, and it decides
|
|
108
|
+
* that in a vocabulary of its own, published as a theme file, styled with class
|
|
109
|
+
* names that have to be reconciled against six packs and two modes. The
|
|
110
|
+
* reconciliation is where a highlighter stops being a convenience. The moment
|
|
111
|
+
* one is in the product, the token source and the highlight theme are two files
|
|
112
|
+
* that have to be kept in step, and a pack that moves a step leaves the second
|
|
113
|
+
* one behind, and the result is a code surface in the wrong hue that every
|
|
114
|
+
* colour gate in this repository reports as correct.
|
|
115
|
+
*
|
|
116
|
+
* So nothing here is highlighted, and the cost of that is real and worth naming:
|
|
117
|
+
* a long snippet is a wall of one colour, a reader scanning for a name has no
|
|
118
|
+
* colour to catch it, and Prism gives them the table of contents instead, which
|
|
119
|
+
* is the line numbers and the filename. A caller who has decided they want
|
|
120
|
+
* highlighting composes it themselves, and the two places to do it are named on
|
|
121
|
+
* the props: `actions` takes a control the caller built, and the whole item is a
|
|
122
|
+
* plain figure with a `code` string, so anything a caller wraps around it is
|
|
123
|
+
* theirs. What Prism will not do is hold the highlighting itself, because the
|
|
124
|
+
* day it does there are two answers to what a token means in every product that
|
|
125
|
+
* installs it.
|
|
126
|
+
*
|
|
127
|
+
* **The figure is named by `label`, and the naming is required whenever the
|
|
128
|
+
* caller brings a control.** See the union on `CodeBlockProps`: a copy button
|
|
129
|
+
* beside an unnamed figure is a button that acts on nothing a reader can
|
|
130
|
+
* identify. When the caller brings no control the name is optional, because a
|
|
131
|
+
* snippet inside a sentence is identified by the sentence.
|
|
132
|
+
*
|
|
133
|
+
* **The line numbers are a gutter, not part of the text.** They sit outside the
|
|
134
|
+
* `<pre>`, hidden from assistive technology, and the code inside the `<pre>` is
|
|
135
|
+
* the caller's `code` and nothing else. That is what keeps a copy clean: a copy
|
|
136
|
+
* that carries `1 2 3` down its left edge is a snippet pasted into a file
|
|
137
|
+
* that does not compile, and the alternative, numbers inside the `<pre>`, is
|
|
138
|
+
* exactly that. The cost of the gutter is alignment, because two parallel
|
|
139
|
+
* renderings of the same lines line up only while the lines do not wrap, which
|
|
140
|
+
* is why the body is `whitespace-pre` and scrolls horizontally. A snippet that
|
|
141
|
+
* soft-wrapped would put the numbers a line out of step after the first long
|
|
142
|
+
* line, and horizontal scroll is the honest answer: source is read by the line
|
|
143
|
+
* and not reflowed to the viewport.
|
|
144
|
+
*
|
|
145
|
+
* **It spreads no other prop.** `Kbd` and `Separator` spread a native element's
|
|
146
|
+
* props because there is no other route to them. A `<pre>` is a different case,
|
|
147
|
+
* and the reason is specific: a code surface is the one place in a component
|
|
148
|
+
* library where a caller might reasonably reach for `dangerouslySetInnerHTML`,
|
|
149
|
+
* because highlighting is usually done that way and this file has just argued
|
|
150
|
+
* against highlighting. A spread would hand them the attribute that bypasses
|
|
151
|
+
* every claim on the page in one prop, so the surface is `code`, `language`,
|
|
152
|
+
* `filename`, `lineNumbers`, `actions`, `label` and `className`, and nothing
|
|
153
|
+
* else.
|
|
154
|
+
*
|
|
155
|
+
* **The header is a header, and it is not always there.** It is drawn when
|
|
156
|
+
* there is something to put in it: a filename, a language, or a control. A
|
|
157
|
+
* snippet with no filename, no language and no control is a tinted box of
|
|
158
|
+
* monospace, and an empty strip above it would be a bar of ink saying nothing.
|
|
159
|
+
*/
|
|
160
|
+
declare function CodeBlock({ code, language, filename, lineNumbers, actions, label, className, }: CodeBlockProps): import("react").JSX.Element;
|
|
161
|
+
/**
|
|
162
|
+
* An inline run of source: a symbol, a command, a filename, a prop.
|
|
163
|
+
*
|
|
164
|
+
* The inline form of the same idea `CodeBlock` states at length, and the reason
|
|
165
|
+
* it is its own export rather than a size of the block is that the two answer
|
|
166
|
+
* different questions. A `CodeBlock` is something a reader may copy, so it is a
|
|
167
|
+
* figure with a name, a header and a gutter. A `Code` is a word inside a
|
|
168
|
+
* sentence, and the whole treatment is that it is visibly not prose: the mono
|
|
169
|
+
* face is the signal, and the muted surface is what stops a long symbol from
|
|
170
|
+
* reading as a run of emphasised text.
|
|
171
|
+
*
|
|
172
|
+
* Use it for a symbol the reader types (`--strict`), a component or a function
|
|
173
|
+
* name (`ChartFrame`), a file (`dialog.tsx`), a prop (`tone`) or a command. Do
|
|
174
|
+
* not use it for a value that is a number with a unit, for a key the reader
|
|
175
|
+
* presses, which is `Kbd`, or for anything the reader is meant to remember as
|
|
176
|
+
* prose. It renders a native `<code>`, so a screen reader identifies it as
|
|
177
|
+
* source rather than as text to read through, and it spreads a `<code>`'s own
|
|
178
|
+
* props because that is the only route to a title, a `lang` or an `id` on one.
|
|
179
|
+
*/
|
|
180
|
+
declare function Code({ className, ...props }: ComponentProps<'code'>): import("react").JSX.Element;
|
|
181
|
+
export { CodeBlock, Code };
|
|
182
|
+
//# sourceMappingURL=code-block.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-block.d.ts","sourceRoot":"","sources":["../../../src/components/ui/code-block.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItD,kDAAkD;AAClD,KAAK,eAAe,GAAG;IACrB;;;;;;;;OAQG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,cAAc,GAAG,eAAe,GAC1C,CACI;IACE;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,GACD;IACE;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,KAAK,CAAA;CAChB,CACJ,CAAA;AAkBH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,iBAAS,SAAS,CAAC,EACjB,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,WAAmB,EACnB,OAAO,EACP,KAAK,EACL,SAAS,GACV,EAAE,cAAc,+BA4FhB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,CAAC,MAAM,CAAC,+BAW5D;AAED,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA"}
|