@nanisoft/prism-ui 0.13.0 → 0.16.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 +22 -1
- package/dist/blocks/data-table-01/data-table.d.ts.map +1 -1
- package/dist/blocks/data-table-01/data-table.js +9 -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 +131 -11
- package/dist/blocks/page-header-01/page-header.d.ts.map +1 -1
- package/dist/blocks/page-header-01/page-header.js +33 -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 +4 -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 +34 -1
- package/dist/blocks/site-footer/site-footer.d.ts.map +1 -1
- package/dist/blocks/site-footer/site-footer.js +24 -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/stack-grid-01/stack-grid.d.ts +13 -0
- package/dist/blocks/stack-grid-01/stack-grid.d.ts.map +1 -1
- package/dist/blocks/stack-grid-01/stack-grid.js +14 -1
- 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/diagram.d.ts +38 -7
- package/dist/components/ui/diagram.d.ts.map +1 -1
- package/dist/components/ui/diagram.js +134 -52
- 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/fact-list.d.ts +17 -0
- package/dist/components/ui/fact-list.d.ts.map +1 -1
- package/dist/components/ui/fact-list.js +18 -1
- 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 +34 -0
- package/dist/components/ui/prose.d.ts.map +1 -1
- package/dist/components/ui/prose.js +41 -1
- package/dist/components/ui/pulse-graph.d.ts +36 -4
- package/dist/components/ui/pulse-graph.d.ts.map +1 -1
- package/dist/components/ui/pulse-graph.js +174 -60
- 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 +110 -1
- package/dist/components/ui/section.d.ts.map +1 -1
- package/dist/components/ui/section.js +111 -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/figure.d.ts +149 -0
- package/dist/lib/figure.d.ts.map +1 -0
- package/dist/lib/figure.js +242 -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.d.ts.map +1 -1
- package/dist/live/run-stream-01/run-stream.js +6 -5
- 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/blog-post-page/index.d.ts +36 -15
- package/dist/pages/blog-post-page/index.d.ts.map +1 -1
- package/dist/pages/blog-post-page/index.js +35 -10
- 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 +126 -16
- package/dist/pages/docs-shell/docs-shell.d.ts.map +1 -1
- package/dist/pages/docs-shell/docs-shell.js +229 -28
- 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 +102 -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/not-found-page/index.d.ts.map +1 -1
- package/dist/pages/not-found-page/index.js +4 -3
- 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 +1105 -62
- package/package.json +9 -3
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { type ComponentProps, type ReactNode } from 'react';
|
|
2
|
+
/** The props a `FilterPanelHeader` takes. */
|
|
3
|
+
export interface FilterPanelHeaderProps extends Omit<ComponentProps<'div'>, 'title'> {
|
|
4
|
+
/**
|
|
5
|
+
* The id the panel's `aria-labelledby` points at.
|
|
6
|
+
*
|
|
7
|
+
* Supplied by `FilterPanel`, which generates it and puts it on the title
|
|
8
|
+
* element. A caller rendering a header inside their own `section` passes their
|
|
9
|
+
* own and sets `aria-labelledby` themselves, which is the arrangement the
|
|
10
|
+
* `title` prop exists to make unnecessary.
|
|
11
|
+
*/
|
|
12
|
+
titleId: string;
|
|
13
|
+
/** The one line that names the panel. */
|
|
14
|
+
title?: ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* The caller's own account of what is currently applied.
|
|
17
|
+
*
|
|
18
|
+
* A node because the sentence is the consumer's: "3 filters" is true in one
|
|
19
|
+
* language and false in another, and so is "Showing archived runs". A panel
|
|
20
|
+
* that assembled the sentence would have assembled it in English, into a
|
|
21
|
+
* product that may not be in English.
|
|
22
|
+
*/
|
|
23
|
+
summary?: ReactNode;
|
|
24
|
+
/** Layout only. */
|
|
25
|
+
className?: string;
|
|
26
|
+
}
|
|
27
|
+
/** The props a `FilterPanelFooter` takes. */
|
|
28
|
+
export interface FilterPanelFooterProps extends ComponentProps<'div'> {
|
|
29
|
+
/**
|
|
30
|
+
* The apply and clear controls, as a slot.
|
|
31
|
+
*
|
|
32
|
+
* A slot and not a pair of props for two buttons, because the two are the
|
|
33
|
+
* consumer's decisions together: which one is primary, whether clear comes
|
|
34
|
+
* first, whether clear is even offered, and what each one says in the
|
|
35
|
+
* consumer's own words. A panel that drew them would be drawing all four.
|
|
36
|
+
*/
|
|
37
|
+
children?: ReactNode;
|
|
38
|
+
/** Layout only. */
|
|
39
|
+
className?: string;
|
|
40
|
+
}
|
|
41
|
+
/** The props a `FilterPanel` takes. */
|
|
42
|
+
export interface FilterPanelProps extends Omit<ComponentProps<'section'>, 'children' | 'title'> {
|
|
43
|
+
/**
|
|
44
|
+
* The one line that names the panel, and the accessible name of the region.
|
|
45
|
+
*
|
|
46
|
+
* A `ReactNode` rather than a string, because the panel's visible title is
|
|
47
|
+
* content. The accessible name is derived from this element by
|
|
48
|
+
* `aria-labelledby` rather than set separately, so the name a reader hears and
|
|
49
|
+
* the name a sighted reader reads are the same text by construction.
|
|
50
|
+
*/
|
|
51
|
+
title?: ReactNode;
|
|
52
|
+
/**
|
|
53
|
+
* The caller's account of what is applied, shown in the header beside the
|
|
54
|
+
* title.
|
|
55
|
+
*
|
|
56
|
+
* In the header rather than the footer because it is a statement, not an
|
|
57
|
+
* instruction. A reader who has scrolled to the bottom of a tall filter column
|
|
58
|
+
* is looking for the button, and the statement about the state they are in has
|
|
59
|
+
* to be where they already were, at the top, or it is a thing they have to go
|
|
60
|
+
* looking for.
|
|
61
|
+
*/
|
|
62
|
+
summary?: ReactNode;
|
|
63
|
+
/**
|
|
64
|
+
* The footer's slot, where apply and clear go.
|
|
65
|
+
*
|
|
66
|
+
* Rendered only when the caller passes it, because a footer band with nothing
|
|
67
|
+
* in it is a gap the reader looks through and a panel with no apply control is
|
|
68
|
+
* a panel whose filters apply themselves, which is the one thing this Component
|
|
69
|
+
* refuses to decide.
|
|
70
|
+
*/
|
|
71
|
+
actions?: ReactNode;
|
|
72
|
+
/**
|
|
73
|
+
* The panel's accessible name, used only when there is no `title` to take it
|
|
74
|
+
* from.
|
|
75
|
+
*
|
|
76
|
+
* A `string` because this one is written into `aria-label`. With neither a
|
|
77
|
+
* title nor a name the region renders anonymous, which is the honest state
|
|
78
|
+
* rather than a name this package invented.
|
|
79
|
+
*/
|
|
80
|
+
label?: string;
|
|
81
|
+
/** The filter controls, in the order a reader should meet them. */
|
|
82
|
+
children?: ReactNode;
|
|
83
|
+
/** Layout only, exactly as on every Component. */
|
|
84
|
+
className?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* A titled panel holding filter controls, with a summary above and a footer below.
|
|
88
|
+
*
|
|
89
|
+
* **The panel does not own apply and clear, and that is the whole reason it is a
|
|
90
|
+
* Component rather than a form.** The obvious version of this is a panel that
|
|
91
|
+
* applies on every change, and it is wrong for a reason that has nothing to do
|
|
92
|
+
* with performance: applying on change makes a decision about the consumer's data
|
|
93
|
+
* layer. It means a filter cannot be set before the next one is, that a request
|
|
94
|
+
* goes out per keystroke and per toggle, that the list behind the panel is
|
|
95
|
+
* rewritten while the reader is still choosing, and that a consumer with a large
|
|
96
|
+
* result set has to add debouncing to a Component they installed. The alternative
|
|
97
|
+
* is a panel that applies on a button, and that one has to know when the draft is
|
|
98
|
+
* complete: which filters are dependent on which others, whether a half-chosen
|
|
99
|
+
* range is valid, whether a pending change is a change. That is the consumer's
|
|
100
|
+
* fact about their own data, and it is not knowable from inside a layout panel.
|
|
101
|
+
* So the panel draws the frame, the summary slot and the footer slot, and the
|
|
102
|
+
* consumer supplies the two controls and owns every decision behind them. The
|
|
103
|
+
* cost is real and worth naming: a caller who wants the panel to own apply has to
|
|
104
|
+
* write four lines around it, and a caller who forgets gets filters that do
|
|
105
|
+
* nothing at all, which is a state the panel could have prevented by owning them
|
|
106
|
+
* and chose not to.
|
|
107
|
+
*
|
|
108
|
+
* **It is the same decision `list-panel` makes about its region, made once.**
|
|
109
|
+
* Both are a `section` named by its own title through `aria-labelledby`, both
|
|
110
|
+
* generate the title's id, and both fall back to `aria-label` only when the caller
|
|
111
|
+
* passes one and render anonymous otherwise. Two panels that named themselves
|
|
112
|
+
* differently would mean a reader meeting a named region in one place and an
|
|
113
|
+
* anonymous one in the next, from the same library, and the inconsistency would
|
|
114
|
+
* read as one of the two being wrong. So the rule is stated once here and
|
|
115
|
+
* `list-panel` states the same rule for its own frame: a `div` is not a landmark,
|
|
116
|
+
* a landmark a screen reader cannot name is a landmark they walk past twice, and
|
|
117
|
+
* a region Prism named for the caller is a claim about somebody else's product.
|
|
118
|
+
*
|
|
119
|
+
* **The summary is the caller's, and it is a slot rather than a count.** A panel
|
|
120
|
+
* that said "3 filters active" would be true in one language and false in another,
|
|
121
|
+
* and it would be wrong in this one the moment a filter has a range in it rather
|
|
122
|
+
* than a value. What is active is a fact about the consumer's state, and the
|
|
123
|
+
* sentence that states it is theirs.
|
|
124
|
+
*
|
|
125
|
+
* **The controls are the caller's own elements and the panel adds no wrapper per
|
|
126
|
+
* control.** A panel that wrapped each filter in its own row would assume the
|
|
127
|
+
* filters are single-line, which is false of a date range, a multi-select and
|
|
128
|
+
* anything with a hint under it. The panel is a column; the column's contents are
|
|
129
|
+
* the caller's, composed out of `Field`, `Checkbox`, `Switch` and `NativeSelect`,
|
|
130
|
+
* which is where the spacing and the naming of an individual control live.
|
|
131
|
+
*
|
|
132
|
+
* It is a server Component. It holds no state, reads no context and attaches no
|
|
133
|
+
* handler, so a filter column costs no JavaScript from this; the draft state, the
|
|
134
|
+
* apply handler and the clear handler are all the consumer's, which is the same
|
|
135
|
+
* argument as the rest of this Component's design and the reason the panel can be
|
|
136
|
+
* a plain `section` at all.
|
|
137
|
+
*/
|
|
138
|
+
declare function FilterPanel({ title, summary, actions, label, children, className, ...props }: FilterPanelProps): import("react").JSX.Element;
|
|
139
|
+
/**
|
|
140
|
+
* The head of a filter panel: its title, and the caller's account of what is
|
|
141
|
+
* applied.
|
|
142
|
+
*
|
|
143
|
+
* Rendered by `FilterPanel` when either slot is present, and not at all when
|
|
144
|
+
* neither is, so a panel whose caller has not given it a title does not get a
|
|
145
|
+
* bordered band with nothing in it. The title element is a `span` carrying the
|
|
146
|
+
* id the panel points `aria-labelledby` at, rather than a heading: a filter
|
|
147
|
+
* column in a sidebar is not the heading of the region it sits in, and a heading
|
|
148
|
+
* here would put an entry in the page outline for a control cluster. A caller who
|
|
149
|
+
* wants a heading passes an element as `title` and keeps the name.
|
|
150
|
+
*/
|
|
151
|
+
declare function FilterPanelHeader({ titleId, title, summary, className, ...props }: FilterPanelHeaderProps): import("react").JSX.Element;
|
|
152
|
+
/**
|
|
153
|
+
* The foot of a filter panel, where the apply and clear controls sit.
|
|
154
|
+
*
|
|
155
|
+
* On the muted surface and above a rule, for the reason a `ListPanel`'s footer is:
|
|
156
|
+
* it is the one band that does not scroll with the controls above it, and a
|
|
157
|
+
* reader who has set five filters has to be able to reach the control that commits
|
|
158
|
+
* them without scrolling back to a row they have already set. A caller who wants
|
|
159
|
+
* the pair in the other order, or a third control beside them, passes one slot and
|
|
160
|
+
* composes what it needs.
|
|
161
|
+
*/
|
|
162
|
+
declare function FilterPanelFooter({ className, ...props }: FilterPanelFooterProps): import("react").JSX.Element;
|
|
163
|
+
export { FilterPanel, FilterPanelHeader, FilterPanelFooter };
|
|
164
|
+
//# sourceMappingURL=filter-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-panel.d.ts","sourceRoot":"","sources":["../../../src/components/ui/filter-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIlE,6CAA6C;AAC7C,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAClF;;;;;;;OAOG;IACH,OAAO,EAAE,MAAM,CAAA;IACf,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,6CAA6C;AAC7C,MAAM,WAAW,sBAAuB,SAAQ,cAAc,CAAC,KAAK,CAAC;IACnE;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,uCAAuC;AACvC,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC7F;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mEAAmE;IACnE,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,iBAAS,WAAW,CAAC,EACnB,KAAK,EACL,OAAO,EACP,OAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,gBAAgB,+BAoClB;AAED;;;;;;;;;;;GAWG;AACH,iBAAS,iBAAiB,CAAC,EACzB,OAAO,EACP,KAAK,EACL,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACT,EAAE,sBAAsB,+BAmBxB;AAED;;;;;;;;;GASG;AACH,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,+BAQzE;AAED,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAA"}
|
|
@@ -0,0 +1,91 @@
|
|
|
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
|
+
* A titled panel holding filter controls, with a summary above and a footer below.
|
|
6
|
+
*
|
|
7
|
+
* **The panel does not own apply and clear, and that is the whole reason it is a
|
|
8
|
+
* Component rather than a form.** The obvious version of this is a panel that
|
|
9
|
+
* applies on every change, and it is wrong for a reason that has nothing to do
|
|
10
|
+
* with performance: applying on change makes a decision about the consumer's data
|
|
11
|
+
* layer. It means a filter cannot be set before the next one is, that a request
|
|
12
|
+
* goes out per keystroke and per toggle, that the list behind the panel is
|
|
13
|
+
* rewritten while the reader is still choosing, and that a consumer with a large
|
|
14
|
+
* result set has to add debouncing to a Component they installed. The alternative
|
|
15
|
+
* is a panel that applies on a button, and that one has to know when the draft is
|
|
16
|
+
* complete: which filters are dependent on which others, whether a half-chosen
|
|
17
|
+
* range is valid, whether a pending change is a change. That is the consumer's
|
|
18
|
+
* fact about their own data, and it is not knowable from inside a layout panel.
|
|
19
|
+
* So the panel draws the frame, the summary slot and the footer slot, and the
|
|
20
|
+
* consumer supplies the two controls and owns every decision behind them. The
|
|
21
|
+
* cost is real and worth naming: a caller who wants the panel to own apply has to
|
|
22
|
+
* write four lines around it, and a caller who forgets gets filters that do
|
|
23
|
+
* nothing at all, which is a state the panel could have prevented by owning them
|
|
24
|
+
* and chose not to.
|
|
25
|
+
*
|
|
26
|
+
* **It is the same decision `list-panel` makes about its region, made once.**
|
|
27
|
+
* Both are a `section` named by its own title through `aria-labelledby`, both
|
|
28
|
+
* generate the title's id, and both fall back to `aria-label` only when the caller
|
|
29
|
+
* passes one and render anonymous otherwise. Two panels that named themselves
|
|
30
|
+
* differently would mean a reader meeting a named region in one place and an
|
|
31
|
+
* anonymous one in the next, from the same library, and the inconsistency would
|
|
32
|
+
* read as one of the two being wrong. So the rule is stated once here and
|
|
33
|
+
* `list-panel` states the same rule for its own frame: a `div` is not a landmark,
|
|
34
|
+
* a landmark a screen reader cannot name is a landmark they walk past twice, and
|
|
35
|
+
* a region Prism named for the caller is a claim about somebody else's product.
|
|
36
|
+
*
|
|
37
|
+
* **The summary is the caller's, and it is a slot rather than a count.** A panel
|
|
38
|
+
* that said "3 filters active" would be true in one language and false in another,
|
|
39
|
+
* and it would be wrong in this one the moment a filter has a range in it rather
|
|
40
|
+
* than a value. What is active is a fact about the consumer's state, and the
|
|
41
|
+
* sentence that states it is theirs.
|
|
42
|
+
*
|
|
43
|
+
* **The controls are the caller's own elements and the panel adds no wrapper per
|
|
44
|
+
* control.** A panel that wrapped each filter in its own row would assume the
|
|
45
|
+
* filters are single-line, which is false of a date range, a multi-select and
|
|
46
|
+
* anything with a hint under it. The panel is a column; the column's contents are
|
|
47
|
+
* the caller's, composed out of `Field`, `Checkbox`, `Switch` and `NativeSelect`,
|
|
48
|
+
* which is where the spacing and the naming of an individual control live.
|
|
49
|
+
*
|
|
50
|
+
* It is a server Component. It holds no state, reads no context and attaches no
|
|
51
|
+
* handler, so a filter column costs no JavaScript from this; the draft state, the
|
|
52
|
+
* apply handler and the clear handler are all the consumer's, which is the same
|
|
53
|
+
* argument as the rest of this Component's design and the reason the panel can be
|
|
54
|
+
* a plain `section` at all.
|
|
55
|
+
*/
|
|
56
|
+
function FilterPanel({ title, summary, actions, label, children, className, ...props }) {
|
|
57
|
+
const titleId = useId();
|
|
58
|
+
const named = title !== undefined;
|
|
59
|
+
const hasHeader = named || summary !== undefined;
|
|
60
|
+
const hasFooter = actions !== undefined && actions !== null && actions !== false;
|
|
61
|
+
return (_jsxs("section", { "data-slot": "filter-panel", "aria-labelledby": named ? titleId : undefined, "aria-label": named ? undefined : label, className: cn('bg-card text-card-foreground flex flex-col overflow-hidden rounded-lg border', className), ...props, children: [hasHeader ? (_jsx(FilterPanelHeader, { titleId: titleId, title: title, summary: summary })) : null, _jsx("div", { "data-slot": "filter-panel-body", className: "flex min-w-0 flex-1 flex-col p-4", children: children }), hasFooter ? _jsx(FilterPanelFooter, { children: actions }) : null] }));
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The head of a filter panel: its title, and the caller's account of what is
|
|
65
|
+
* applied.
|
|
66
|
+
*
|
|
67
|
+
* Rendered by `FilterPanel` when either slot is present, and not at all when
|
|
68
|
+
* neither is, so a panel whose caller has not given it a title does not get a
|
|
69
|
+
* bordered band with nothing in it. The title element is a `span` carrying the
|
|
70
|
+
* id the panel points `aria-labelledby` at, rather than a heading: a filter
|
|
71
|
+
* column in a sidebar is not the heading of the region it sits in, and a heading
|
|
72
|
+
* here would put an entry in the page outline for a control cluster. A caller who
|
|
73
|
+
* wants a heading passes an element as `title` and keeps the name.
|
|
74
|
+
*/
|
|
75
|
+
function FilterPanelHeader({ titleId, title, summary, className, ...props }) {
|
|
76
|
+
return (_jsxs("div", { "data-slot": "filter-panel-header", className: cn('flex flex-col gap-1 border-b px-4 py-3', className), ...props, children: [title === undefined ? null : (_jsx("span", { id: titleId, "data-slot": "filter-panel-title", className: "text-sm font-medium", children: title })), summary === undefined ? null : (_jsx("span", { "data-slot": "filter-panel-summary", className: "text-muted-foreground text-xs", children: summary }))] }));
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* The foot of a filter panel, where the apply and clear controls sit.
|
|
80
|
+
*
|
|
81
|
+
* On the muted surface and above a rule, for the reason a `ListPanel`'s footer is:
|
|
82
|
+
* it is the one band that does not scroll with the controls above it, and a
|
|
83
|
+
* reader who has set five filters has to be able to reach the control that commits
|
|
84
|
+
* them without scrolling back to a row they have already set. A caller who wants
|
|
85
|
+
* the pair in the other order, or a third control beside them, passes one slot and
|
|
86
|
+
* composes what it needs.
|
|
87
|
+
*/
|
|
88
|
+
function FilterPanelFooter({ className, ...props }) {
|
|
89
|
+
return (_jsx("div", { "data-slot": "filter-panel-footer", className: cn('bg-muted/50 flex items-center gap-3 border-t px-4 py-3', className), ...props }));
|
|
90
|
+
}
|
|
91
|
+
export { FilterPanel, FilterPanelHeader, FilterPanelFooter };
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Where a form dialog's submission is.
|
|
4
|
+
*
|
|
5
|
+
* A closed set of four and not a boolean plus a message, and the reason is the same
|
|
6
|
+
* one `LifecycleButton` gives: four states do not fit into two answers, and the
|
|
7
|
+
* two that cannot be expressed are the two that cost the most. `invalid` is a
|
|
8
|
+
* submission that never left the browser and `failed` is one that did, and a reader
|
|
9
|
+
* who has been told the two are the same state has been told their work was
|
|
10
|
+
* rejected by a server when in fact a field was empty.
|
|
11
|
+
*/
|
|
12
|
+
export type FormDialogPhase = 'idle' | 'invalid' | 'submitting' | 'failed';
|
|
13
|
+
/**
|
|
14
|
+
* One thing wrong with the form, in the caller's own words.
|
|
15
|
+
*
|
|
16
|
+
* `field` is the `id` of the control the message belongs to, and the id rather
|
|
17
|
+
* than the `name` because the summary's entries are anchors to it: a summary entry
|
|
18
|
+
* that cannot take the reader to the control that caused it is a list they have to
|
|
19
|
+
* match by eye against a form they then have to read a second time.
|
|
20
|
+
*/
|
|
21
|
+
export type FormDialogIssue = {
|
|
22
|
+
/** The `id` of the control this message belongs to. */
|
|
23
|
+
field: string;
|
|
24
|
+
/** The message, in the product's own words. */
|
|
25
|
+
message: string;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* The props a FormDialog accepts.
|
|
29
|
+
*
|
|
30
|
+
* Two halves, and the split is the argument. The *modal* half is `Dialog`, and
|
|
31
|
+
* nothing here redraws it. The *submission* half is this Component's own, and it
|
|
32
|
+
* exists because a validating submit is a state machine with an accessibility
|
|
33
|
+
* contract attached to it, and neither `Dialog` nor `AlertDialog` nor `Popover`
|
|
34
|
+
* carries one. The three shapes upstream ships for this are the three ways of
|
|
35
|
+
* getting that contract wrong, and the refusals are on `FormDialog`: a `Popover`
|
|
36
|
+
* dismisses on an outside press, so a half-answered form loses its answers; an
|
|
37
|
+
* `AlertDialog` cannot be dismissed at all, so a long form traps a reader in it;
|
|
38
|
+
* and a bare `Dialog` with a submit button gives a caller nowhere to put the
|
|
39
|
+
* running state, so every consumer re-derives one.
|
|
40
|
+
*/
|
|
41
|
+
export interface FormDialogProps {
|
|
42
|
+
/**
|
|
43
|
+
* The modal's open state.
|
|
44
|
+
*
|
|
45
|
+
* Controlled and required rather than defaulted, because the caller's answer to
|
|
46
|
+
* "is my form showing" is the fact that decides what happens to a submission in
|
|
47
|
+
* flight, and a Component that could open itself would be a Component deciding
|
|
48
|
+
* when a reader's answers are discarded.
|
|
49
|
+
*/
|
|
50
|
+
open: boolean;
|
|
51
|
+
/** Called when the open state changes, including on Escape, the close control and an outside press. */
|
|
52
|
+
onOpenChange: (open: boolean) => void;
|
|
53
|
+
/**
|
|
54
|
+
* The content of the control that opens the dialog.
|
|
55
|
+
*
|
|
56
|
+
* Required and a node rather than a `ReactElement` to clone, because the trigger
|
|
57
|
+
* is Prism's `DialogTrigger` and what a caller composes into it is a label or a
|
|
58
|
+
* label with an icon. The cost is that a caller cannot pass their own `Button`
|
|
59
|
+
* here without it becoming a button inside a button, and the answer to that is
|
|
60
|
+
* that they compose `DialogTrigger` themselves in their own layout and use this
|
|
61
|
+
* Component for the panel.
|
|
62
|
+
*/
|
|
63
|
+
trigger: ReactNode;
|
|
64
|
+
/**
|
|
65
|
+
* Where the submission is.
|
|
66
|
+
*
|
|
67
|
+
* Required and controlled, for the same reason `LifecycleButton` is: the caller
|
|
68
|
+
* owns the request, so the caller owns where the request is. Prism draws the
|
|
69
|
+
* label, the refusal, the summary and the focus move that a position implies, and
|
|
70
|
+
* moves nothing itself.
|
|
71
|
+
*/
|
|
72
|
+
phase: FormDialogPhase;
|
|
73
|
+
/**
|
|
74
|
+
* Called when the reader asks to submit, given the form's own element.
|
|
75
|
+
*
|
|
76
|
+
* Required, and called only from `idle`. A control that accepted presses while a
|
|
77
|
+
* submission was running would let a reader queue a second one without knowing
|
|
78
|
+
* whether the first had landed, which is the double submission
|
|
79
|
+
* `LifecycleButton` refuses.
|
|
80
|
+
*
|
|
81
|
+
* The form element rather than a record of values, because the caller owns the
|
|
82
|
+
* shape of the form. This Component does not know which controls there are, what
|
|
83
|
+
* they are called or what a value means, so a values record would be a second
|
|
84
|
+
* description of the form that could disagree with it.
|
|
85
|
+
*/
|
|
86
|
+
onSubmit: (form: HTMLFormElement) => void;
|
|
87
|
+
/**
|
|
88
|
+
* Called with the form's own values when the reader asks to submit, before
|
|
89
|
+
* `onSubmit` is reached.
|
|
90
|
+
*
|
|
91
|
+
* Optional rather than required, and the omission is the decision: a form with no
|
|
92
|
+
* rules of its own is the ordinary case, and a required callback would make every
|
|
93
|
+
* caller write `() => []`. It returns rather than throws, because validation
|
|
94
|
+
* produces a *list* and a thrown error carries one. An empty array is the ordinary
|
|
95
|
+
* result and the submission goes ahead; a non-empty one is drawn as the refusal
|
|
96
|
+
* and `onSubmit` is never called, which is the whole difference between a form
|
|
97
|
+
* that checks itself and one that asks a network whether it is allowed to try.
|
|
98
|
+
*/
|
|
99
|
+
validate?: (values: FormData, form: HTMLFormElement) => readonly FormDialogIssue[];
|
|
100
|
+
/**
|
|
101
|
+
* The issues to draw in the refusal, given whatever the caller has.
|
|
102
|
+
*
|
|
103
|
+
* The second route to the same list as `validate`, and what makes a *server*
|
|
104
|
+
* refusal drawable: a request that came back with errors has already happened, so
|
|
105
|
+
* this Component never called `validate`, and a form whose summary can only come
|
|
106
|
+
* from a local check cannot show what the server said. The two are unioned by
|
|
107
|
+
* position and never merged, because drawing the local result over the server's
|
|
108
|
+
* would hide the one the reader needs, which is the sentence saying why the
|
|
109
|
+
* *server* refused.
|
|
110
|
+
*/
|
|
111
|
+
issues?: readonly FormDialogIssue[];
|
|
112
|
+
/** The dialog's heading, and the name every reader hears for it. */
|
|
113
|
+
title: ReactNode;
|
|
114
|
+
/** One line under the heading saying what submitting this will do. */
|
|
115
|
+
description?: ReactNode;
|
|
116
|
+
/**
|
|
117
|
+
* The label of the submit control while nothing has been attempted.
|
|
118
|
+
*
|
|
119
|
+
* Required and never defaulted: "Create workspace", "Save changes" and "Guardar
|
|
120
|
+
* cambios" are three products' answers to the same control.
|
|
121
|
+
*/
|
|
122
|
+
idleLabel: ReactNode;
|
|
123
|
+
/**
|
|
124
|
+
* The label of the submit control while the form stands refused.
|
|
125
|
+
*
|
|
126
|
+
* Required, and it is the action again rather than a description of the problem,
|
|
127
|
+
* because the control is still a control the reader can press once they have
|
|
128
|
+
* fixed what is wrong, and a label that has become an error message is a control
|
|
129
|
+
* that no longer says what it does.
|
|
130
|
+
*/
|
|
131
|
+
invalidLabel: ReactNode;
|
|
132
|
+
/** The label of the submit control while the submission is running. */
|
|
133
|
+
submittingLabel: ReactNode;
|
|
134
|
+
/** The label of the submit control after the submission was refused by something. */
|
|
135
|
+
failedLabel: ReactNode;
|
|
136
|
+
/**
|
|
137
|
+
* The heading above the error summary.
|
|
138
|
+
*
|
|
139
|
+
* Required, and a heading rather than a sentence because the summary is a focus
|
|
140
|
+
* target and a reader who lands on it has to know what they have landed on before
|
|
141
|
+
* they read the list. "There is a problem" and "Two fields need attention" are a
|
|
142
|
+
* product's two, and only the second one carries the count.
|
|
143
|
+
*/
|
|
144
|
+
errorSummaryLabel: ReactNode;
|
|
145
|
+
/**
|
|
146
|
+
* The words naming one field, given its id.
|
|
147
|
+
*
|
|
148
|
+
* Required, and a function of the id rather than of the message for the reason
|
|
149
|
+
* every readable string here is one. It is also what lets a summary entry name
|
|
150
|
+
* the *control* rather than repeat the message beside it, so the reader is taken
|
|
151
|
+
* somewhere and told what it is on the way.
|
|
152
|
+
*/
|
|
153
|
+
fieldLabel: (field: string) => string;
|
|
154
|
+
/**
|
|
155
|
+
* The words of the control that leaves the dialog without submitting.
|
|
156
|
+
*
|
|
157
|
+
* Required, and there is always one. A modal whose only way out is its submit
|
|
158
|
+
* control is a trap a keyboard reader cannot leave, and a reader who opened the
|
|
159
|
+
* wrong form deserves one keypress back out.
|
|
160
|
+
*/
|
|
161
|
+
cancelLabel: ReactNode;
|
|
162
|
+
/**
|
|
163
|
+
* The accessible name of the built-in close control.
|
|
164
|
+
*
|
|
165
|
+
* A prop and not a fixed word, for the reason `Dialog` states: a consumer that
|
|
166
|
+
* localises its dialog cannot otherwise localise the one control that dismisses
|
|
167
|
+
* it.
|
|
168
|
+
*/
|
|
169
|
+
closeLabel?: string;
|
|
170
|
+
/** The form's own controls, which the caller's `Field` and `Input` compose. */
|
|
171
|
+
children?: ReactNode;
|
|
172
|
+
/**
|
|
173
|
+
* The controls beside cancel and submit.
|
|
174
|
+
*
|
|
175
|
+
* Rendered as a slot rather than replacing the two, because a caller who has to
|
|
176
|
+
* re-derive a refused submit control to add a third button is a caller who gets
|
|
177
|
+
* the refusal wrong. What belongs here is the *extra* control: a save-as-draft
|
|
178
|
+
* beside cancel, a destructive delete beside submit.
|
|
179
|
+
*/
|
|
180
|
+
extraActions?: ReactNode;
|
|
181
|
+
/** Layout only. Changing a Prism-owned visual property from here is prohibited. */
|
|
182
|
+
className?: string;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* A modal that owns a validating submit: it runs the caller's rules before the
|
|
186
|
+
* submission, draws what is wrong where it can be acted on, and keeps the reader
|
|
187
|
+
* where they were when a submission is refused.
|
|
188
|
+
*
|
|
189
|
+
* **It is the accessibility centrepiece of the three modal shapes, and what makes
|
|
190
|
+
* it one is a focus move rather than a drawing.** A form dialog has four things a
|
|
191
|
+
* reader must be able to do from a keyboard: submit it, be told what is wrong, get
|
|
192
|
+
* to whatever is wrong, and get back to where they were. The first three are
|
|
193
|
+
* ordinary and the fourth is where a hand-rolled version fails. A refusal tends to
|
|
194
|
+
* re-render the form's content, and a re-render that replaces the control the
|
|
195
|
+
* reader was on leaves focus on `body`: a reader in a six-field form is now at the
|
|
196
|
+
* top of the document with no idea which field they were in. So on a refusal the
|
|
197
|
+
* summary takes focus and nothing else does.
|
|
198
|
+
*
|
|
199
|
+
* **The move is to the summary and not to the first invalid field, because a
|
|
200
|
+
* summary is a list and a first field is one of its entries.** A reader with one
|
|
201
|
+
* mistake out of six needs the count and the whole list, since they have to decide
|
|
202
|
+
* whether to fix everything or abandon the form; landing them in the first field
|
|
203
|
+
* gives them neither and makes them Tab through the rest to assemble what they were
|
|
204
|
+
* just told. The summary takes focus and is deliberately *not* a `role="alert"`: an
|
|
205
|
+
* alert in the same commit as a focus move is one refusal announced twice in two
|
|
206
|
+
* voices, which is the arrangement `LifecycleButton` explicitly avoids.
|
|
207
|
+
*
|
|
208
|
+
* **Validation runs before the submission and its result is unioned with the
|
|
209
|
+
* server's by position, never merged.** `validate` is a local check over the form's
|
|
210
|
+
* own values, so a field left empty is caught before a request goes out and the
|
|
211
|
+
* reader is not made to wait for a round trip to be told what the form already
|
|
212
|
+
* knew. `issues` is the other route, for a request that came back refused, and both
|
|
213
|
+
* reach one summary because a form that can show local errors and not server errors
|
|
214
|
+
* is a form whose worst errors are the ones it hides. Merging was rejected: a local
|
|
215
|
+
* result arriving after the server's would overwrite the sentence that says why
|
|
216
|
+
* the *server* said no.
|
|
217
|
+
*
|
|
218
|
+
* **A refusal with nothing to draw is the caller's own transitional state, and this
|
|
219
|
+
* Component says nothing rather than inventing a sentence.** A caller who sets
|
|
220
|
+
* `phase` to `invalid` on the way to a server response and passes `issues` as
|
|
221
|
+
* undefined is between two states, and the honest drawing is no summary, no
|
|
222
|
+
* announcement and no focus move until there is something to read. The cost is
|
|
223
|
+
* named rather than hidden: a caller in that state has a submit control labelled as
|
|
224
|
+
* a refusal with no explanation on the page, which is why `invalidLabel` is required
|
|
225
|
+
* and why the documentation says to set the phase when the issues arrive.
|
|
226
|
+
*
|
|
227
|
+
* **The submit control refuses a second press while one is running and says so
|
|
228
|
+
* rather than vanishing.** `aria-disabled` and not the native attribute, for the
|
|
229
|
+
* reason `Dropzone` and `LifecycleButton` both give: a natively disabled control
|
|
230
|
+
* leaves the tab order, so a reader tabs onto where it was, presses Enter and
|
|
231
|
+
* nothing happens with no announcement to explain it. Here the control keeps its
|
|
232
|
+
* place, keeps its ring, and announces itself as busy. The price is a tab stop that
|
|
233
|
+
* does nothing, which is what every disabled control costs and is why this package
|
|
234
|
+
* draws them rather than removing them.
|
|
235
|
+
*
|
|
236
|
+
* **The modal is `Dialog` and only `Dialog`, and the two refusals are the argument
|
|
237
|
+
* rather than a preference.** A `Popover` closes on an outside press, so for a form
|
|
238
|
+
* it means a reader who clicks the page behind has silently lost six fields of
|
|
239
|
+
* typing with no warning and no route back. An `AlertDialog` refuses dismissal
|
|
240
|
+
* outright, so for a form it is a trap: a twelve-field dialog with no outside press
|
|
241
|
+
* and no Escape is a surface a reader cannot leave once they are in it. `Dialog` is
|
|
242
|
+
* the only one of the three that can be dismissed and does not dismiss itself, and
|
|
243
|
+
* that is the property a form needs. The backdrop, the portal, the focus trap, the
|
|
244
|
+
* scroll lock and Escape are composed rather than reimplemented, for the reason
|
|
245
|
+
* every composition here is one: two implementations of a focus trap disagree
|
|
246
|
+
* within a release and a consumer cannot tell which they got.
|
|
247
|
+
*
|
|
248
|
+
* **It is a client Component**, because validation and submission happen after the
|
|
249
|
+
* reader acts, because the summary's focus move is script, and because every one of
|
|
250
|
+
* its value props is a function the caller hands it, which is a client-to-client
|
|
251
|
+
* boundary wherever it is written. What that costs is the price of every client
|
|
252
|
+
* control: a server Component may render this panel once with the form's values in
|
|
253
|
+
* place, and what it may not do is check them.
|
|
254
|
+
*/
|
|
255
|
+
declare function FormDialog({ open, onOpenChange, trigger, phase, onSubmit, validate, issues, title, description, idleLabel, invalidLabel, submittingLabel, failedLabel, errorSummaryLabel, fieldLabel, cancelLabel, closeLabel, children, extraActions, className, }: FormDialogProps): import("react").JSX.Element;
|
|
256
|
+
export { FormDialog };
|
|
257
|
+
//# sourceMappingURL=form-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-dialog.d.ts","sourceRoot":"","sources":["../../../src/components/ui/form-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAsD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAgB1F;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAA;AAE1E;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;OAOG;IACH,IAAI,EAAE,OAAO,CAAA;IACb,uGAAuG;IACvG,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC;;;;;;;;;OASG;IACH,OAAO,EAAE,SAAS,CAAA;IAClB;;;;;;;OAOG;IACH,KAAK,EAAE,eAAe,CAAA;IACtB;;;;;;;;;;;;OAYG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;IACzC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,KAAK,SAAS,eAAe,EAAE,CAAA;IAClF;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;IACnC,oEAAoE;IACpE,KAAK,EAAE,SAAS,CAAA;IAChB,sEAAsE;IACtE,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB;;;;;OAKG;IACH,SAAS,EAAE,SAAS,CAAA;IACpB;;;;;;;OAOG;IACH,YAAY,EAAE,SAAS,CAAA;IACvB,uEAAuE;IACvE,eAAe,EAAE,SAAS,CAAA;IAC1B,qFAAqF;IACrF,WAAW,EAAE,SAAS,CAAA;IACtB;;;;;;;OAOG;IACH,iBAAiB,EAAE,SAAS,CAAA;IAC5B;;;;;;;OAOG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACrC;;;;;;OAMG;IACH,WAAW,EAAE,SAAS,CAAA;IACtB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,iBAAS,UAAU,CAAC,EAClB,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,GACV,EAAE,eAAe,+BAoNjB;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
|