@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,262 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* What a move reports to the sentence that is read out after it.
|
|
4
|
+
*
|
|
5
|
+
* The id and the two positions, and nothing else. The id is there because a
|
|
6
|
+
* caller with two reorderable lists on one page needs to say which list moved,
|
|
7
|
+
* and the positions are there because "moved" without a destination is a sentence
|
|
8
|
+
* that has told the reader nothing they can check.
|
|
9
|
+
*/
|
|
10
|
+
export type ReorderableMove = {
|
|
11
|
+
/** The row that moved, named by the caller's own key for it. */
|
|
12
|
+
id: string;
|
|
13
|
+
/** Its position before the move, counting from zero. */
|
|
14
|
+
from: number;
|
|
15
|
+
/** Its position after the move, counting from zero. */
|
|
16
|
+
to: number;
|
|
17
|
+
/** How many rows the list holds in total, after the move. */
|
|
18
|
+
total: number;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* The two facts a row's render prop is handed beside the row itself.
|
|
22
|
+
*
|
|
23
|
+
* `index` is the position in the caller's array and it renumbers on every move,
|
|
24
|
+
* which is the number a caller needs to index their own array with. `locked` is
|
|
25
|
+
* the row's own answer to the rule the Component enforces, handed back so a row
|
|
26
|
+
* that cannot move can say so in its own words rather than being silently inert.
|
|
27
|
+
*/
|
|
28
|
+
export type ReorderableRowInfo = {
|
|
29
|
+
/** The row's position, counting from zero. */
|
|
30
|
+
index: number;
|
|
31
|
+
/** Whether this row holds its position and can be neither picked up nor crossed. */
|
|
32
|
+
locked: boolean;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* The props a ReorderableList accepts.
|
|
36
|
+
*
|
|
37
|
+
* The props interface is generic over the row type rather than typed as `object`,
|
|
38
|
+
* for the reason `RepeatableRows` states in full: a row is the caller's own domain
|
|
39
|
+
* value, a line item or a pipeline stage, and a Component that took a shape of its
|
|
40
|
+
* own would make every caller restate their type to satisfy a form. The row type
|
|
41
|
+
* is a parameter of this interface and not of the function, which costs the
|
|
42
|
+
* caller the inference on the render prop's row and buys the Component an
|
|
43
|
+
* interface the corpus can read.
|
|
44
|
+
*/
|
|
45
|
+
export interface ReorderableListProps<TRow> {
|
|
46
|
+
/**
|
|
47
|
+
* The rows, in the order they are shown.
|
|
48
|
+
*
|
|
49
|
+
* Required, and the objects must be the same objects across renders for the
|
|
50
|
+
* same reason `RepeatableRows` says it: the Component keys each row by its
|
|
51
|
+
* identity rather than by its position, which is what lets a row that stays put
|
|
52
|
+
* keep its element, its controls and its caret however many rows move around it,
|
|
53
|
+
* and an identity is only stable if the caller holds the rows somewhere rather
|
|
54
|
+
* than rebuilding them on every render.
|
|
55
|
+
*/
|
|
56
|
+
rows: readonly TRow[];
|
|
57
|
+
/**
|
|
58
|
+
* The caller's key for a row.
|
|
59
|
+
*
|
|
60
|
+
* Required, because a row needs an identity that survives the move and the
|
|
61
|
+
* Component will not read one off a position. It is also the id a move is
|
|
62
|
+
* announced under, so a caller with two lists on a page can tell the reader which
|
|
63
|
+
* one moved.
|
|
64
|
+
*/
|
|
65
|
+
getRowId: (row: TRow) => string;
|
|
66
|
+
/**
|
|
67
|
+
* Whether a row holds its position.
|
|
68
|
+
*
|
|
69
|
+
* Optional, and the rule it selects is stated on `ReorderableList` at length
|
|
70
|
+
* because it is the one piece of policy here a caller cannot read off the prop's
|
|
71
|
+
* type. A locked row can be neither picked up nor crossed, and a move that would
|
|
72
|
+
* put a row on the far side of one is clamped to the locked row's own slot.
|
|
73
|
+
* Omitted, every row moves.
|
|
74
|
+
*/
|
|
75
|
+
isLocked?: (row: TRow) => boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Called with the whole new order whenever a row moves, and once when a cancelled
|
|
78
|
+
* keyboard move is restored.
|
|
79
|
+
*
|
|
80
|
+
* The order rather than a pair of positions, and the reason is cancellation. A
|
|
81
|
+
* keyboard reader who picks a row up, moves it three places and presses Escape has
|
|
82
|
+
* to get the original arrangement back in one step, and a callback taking
|
|
83
|
+
* `(from, to)` would make that three calls and three announcements of a move the
|
|
84
|
+
* reader has just undone. It is also why this Component owns the locked-row clamp:
|
|
85
|
+
* the caller's array comes back whole and in the order the reader can see, rather
|
|
86
|
+
* than as a set of edits the caller has to replay and keep true.
|
|
87
|
+
*
|
|
88
|
+
* A mutable array rather than a `readonly` one, because the array is one this
|
|
89
|
+
* Component built for this call and nothing about it requires the caller to treat
|
|
90
|
+
* it as immutable. That is what lets the ordinary caller write
|
|
91
|
+
* `onOrderChange={setRows}` and hand the result straight to a state setter, which
|
|
92
|
+
* is the case almost every caller is.
|
|
93
|
+
*/
|
|
94
|
+
onOrderChange: (order: TRow[]) => void;
|
|
95
|
+
/**
|
|
96
|
+
* The accessible name of one row's grab control, given the row's position.
|
|
97
|
+
*
|
|
98
|
+
* Required, and a function of the position rather than of the row for the same
|
|
99
|
+
* reason `RepeatableRows` requires it: the sentence has to be true after a move,
|
|
100
|
+
* and a sentence written from the row's own fields goes stale exactly when a
|
|
101
|
+
* reader is reading it. Written as the action and the position, the way a reader
|
|
102
|
+
* counts: "Reorder Billing, position 2 of 5".
|
|
103
|
+
*/
|
|
104
|
+
handleLabel: (index: number) => string;
|
|
105
|
+
/**
|
|
106
|
+
* The words for this list's keyboard model, read once when the reader lands on
|
|
107
|
+
* a grab control.
|
|
108
|
+
*
|
|
109
|
+
* Required, and required because a keyboard reorder with no stated model is a
|
|
110
|
+
* control that does nothing a reader can discover: pick up, move, put down and
|
|
111
|
+
* put back are four behaviours, and none of them is guessable from the shape of
|
|
112
|
+
* a handle with dots on it. It is one sentence for the whole list rather than one
|
|
113
|
+
* per row, because it is the same sentence every time and a reader who has read
|
|
114
|
+
* it once does not need it again on row nine.
|
|
115
|
+
*/
|
|
116
|
+
instructionsLabel: string;
|
|
117
|
+
/**
|
|
118
|
+
* The words read after a row has moved, given what moved.
|
|
119
|
+
*
|
|
120
|
+
* Required, and it is the sentence this Component most needs from its caller: a
|
|
121
|
+
* reorder is invisible to a screen reader apart from this, because nothing in
|
|
122
|
+
* the DOM says a row changed places.
|
|
123
|
+
*/
|
|
124
|
+
announce: (move: ReorderableMove) => string;
|
|
125
|
+
/**
|
|
126
|
+
* The words read when a move is refused because a locked row is in the way,
|
|
127
|
+
* given the locked row's position.
|
|
128
|
+
*
|
|
129
|
+
* Required, and required rather than defaulted because a refusal with no
|
|
130
|
+
* sentence is a key press that produces silence, which a reader takes to mean
|
|
131
|
+
* the control is broken. It is also what a press on a locked row's own handle
|
|
132
|
+
* says. A caller with no locked rows writes a function that is never called.
|
|
133
|
+
*/
|
|
134
|
+
blockedLabel: (index: number) => string;
|
|
135
|
+
/**
|
|
136
|
+
* The words read after Escape has put a picked-up row back where it started.
|
|
137
|
+
*
|
|
138
|
+
* Required, and it is a fourth reader-facing string rather than a reuse of
|
|
139
|
+
* `blockedLabel` because the two events are not the same one: a blocked move
|
|
140
|
+
* found an obstacle and a cancelled move undid the reader's own work, and
|
|
141
|
+
* announcing them with one sentence tells a reader who cancelled that something
|
|
142
|
+
* in the list is wrong with it.
|
|
143
|
+
*/
|
|
144
|
+
cancelLabel: string;
|
|
145
|
+
/**
|
|
146
|
+
* The row's own content, given the row and its facts.
|
|
147
|
+
*
|
|
148
|
+
* A render prop rather than a slot, for the reason the other two in this package
|
|
149
|
+
* give: a slot receives the row and nothing else, and a caller who then mints an
|
|
150
|
+
* id per row to label it has reintroduced the arrangement this Component exists
|
|
151
|
+
* to hold still.
|
|
152
|
+
*/
|
|
153
|
+
children: (row: TRow, info: ReorderableRowInfo) => ReactNode;
|
|
154
|
+
/**
|
|
155
|
+
* The list's own name, drawn above it.
|
|
156
|
+
*
|
|
157
|
+
* Optional, and the omission is the same decision `ListPanel` and
|
|
158
|
+
* `RepeatableRows` make: this is one of the places in the package where a region
|
|
159
|
+
* may arrive anonymous, because "Rows" is a claim that is wrong in every
|
|
160
|
+
* consumer's product and an anonymous region is honestly absent from the
|
|
161
|
+
* landmark list rather than announced as something it is not.
|
|
162
|
+
*/
|
|
163
|
+
label?: ReactNode;
|
|
164
|
+
/** Layout only. Changing a Prism-owned visual property from here is prohibited. */
|
|
165
|
+
className?: string;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* A list of rows the reader can put in a different order with a pointer or with
|
|
169
|
+
* the keyboard, where the two arrangements have to agree.
|
|
170
|
+
*
|
|
171
|
+
* **The two input models are one function, and that is the whole Component.** A
|
|
172
|
+
* pointer drag measures where the finger is and computes a destination; a keyboard
|
|
173
|
+
* reorder computes one destination per arrow key. Both call the same `commit`,
|
|
174
|
+
* which is the only place in this module where a row changes places, which emits
|
|
175
|
+
* the announcement, and which applies the locked-row clamp. The alternative, one
|
|
176
|
+
* handler per model, is the arrangement that produced the defects this Component
|
|
177
|
+
* exists to end: a pointer model that let a row cross a locked one, and a keyboard
|
|
178
|
+
* model whose announcement named a position the pointer would never have produced.
|
|
179
|
+
* The cost is stated rather than hidden: a caller who wants the pointer to feel
|
|
180
|
+
* different from the keyboard cannot have it, because the difference would be
|
|
181
|
+
* exactly the disagreement this Component refuses to permit.
|
|
182
|
+
*
|
|
183
|
+
* **A locked row is an obstacle and not a wall, and that distinction is the rule
|
|
184
|
+
* the keyboard model turns on.** A locked row can be neither picked up nor
|
|
185
|
+
* crossed: it holds its position, and a move that would put another row on the far
|
|
186
|
+
* side of it is clamped to the locked row's own slot. The second half matters more
|
|
187
|
+
* than it looks. If a locked row were a wall rather than an obstacle, a keyboard
|
|
188
|
+
* reader below it pressing the down arrow would stop at the wall and have no way
|
|
189
|
+
* past it, because an arrow key moves one position at a time and the reader would
|
|
190
|
+
* have to know to press it twice to clear a row that is not going anywhere. The
|
|
191
|
+
* clamped move is what a pointer drag produces when a finger crosses a locked row,
|
|
192
|
+
* which is the agreement the first paragraph is about. The cost is real and named:
|
|
193
|
+
* a locked row does not partition the list, so a row above one can still be moved
|
|
194
|
+
* below it in a single gesture, and a consumer whose locked rows are meant to be
|
|
195
|
+
* hard boundaries partitions into two lists instead.
|
|
196
|
+
*
|
|
197
|
+
* **The keyboard model is four behaviours, and three of them happen with no
|
|
198
|
+
* visible control in a different state.** Space or Enter picks the focused row up,
|
|
199
|
+
* the arrow keys move it one position at a time and announce every one of them,
|
|
200
|
+
* Space or Enter puts it down, and Escape restores the arrangement the list had
|
|
201
|
+
* when the row was picked up. Only the picked-up state is drawn, and it is drawn
|
|
202
|
+
* as `aria-pressed` on the handle rather than as a lifted row, because the
|
|
203
|
+
* alternative is a row that looks like it is being dragged when it is not and a
|
|
204
|
+
* reader with two of them on a screen cannot tell which is which. The instructions
|
|
205
|
+
* are a prop because the sequence is a sentence in the consumer's language and
|
|
206
|
+
* because a reader who has not been told it cannot guess any of it from a handle
|
|
207
|
+
* with dots on it. The honest limit is the announcement rather than the handle:
|
|
208
|
+
* nothing in the DOM says a row changed places, so a caller who renders this
|
|
209
|
+
* without `announce` gets a reordering surface a screen reader cannot follow,
|
|
210
|
+
* which is the failure the whole Component is built to prevent.
|
|
211
|
+
*
|
|
212
|
+
* **The arrow keys are the browser's until a row is picked up, and that is
|
|
213
|
+
* deliberate.** A list that swallowed the arrow keys would take them away from
|
|
214
|
+
* every control inside its own rows, and the cost of that is a reader who cannot
|
|
215
|
+
* move through a row's own fields. So nothing is a roving tab stop here: the
|
|
216
|
+
* handles are ordinary tab stops in DOM order, the arrows scroll the page or move
|
|
217
|
+
* a caret inside a control as they always do, and a reader who wants to reorder
|
|
218
|
+
* picks the row up first, which is what tells the Component the arrows are about
|
|
219
|
+
* the row. The price is one extra key press before a keyboard reorder begins, and
|
|
220
|
+
* it buys back every arrow key inside a row.
|
|
221
|
+
*
|
|
222
|
+
* **Escape restores the arrangement rather than unwinding it, and the shape of the
|
|
223
|
+
* callback is why.** The order is snapshotted when the row is picked up and handed
|
|
224
|
+
* back whole on Escape, so a cancelled move is one call and one announcement rather
|
|
225
|
+
* than one per position the row travelled. A caller who took `(from, to)` would
|
|
226
|
+
* have to replay the moves in reverse and would announce a sequence of movements
|
|
227
|
+
* the reader has just undone, which is the opposite of what Escape means.
|
|
228
|
+
*
|
|
229
|
+
* **Focus follows the row, because the row is keyed by identity.** A move reorders
|
|
230
|
+
* the caller's array and React moves the element that already held focus rather
|
|
231
|
+
* than making a new one, so a keyboard reader's cursor stays on the row they are
|
|
232
|
+
* moving without a line of focus code. After a pointer drop the focus is moved to
|
|
233
|
+
* the moved row's handle deliberately, because a pointer reader has no cursor to
|
|
234
|
+
* follow and would otherwise be left wherever the drop happened to leave them.
|
|
235
|
+
*
|
|
236
|
+
* **The drag overlay is the caller's own row and not a picture of it.** The
|
|
237
|
+
* render prop is drawn a second time inside it, so a row holding a chart, an
|
|
238
|
+
* avatar and three badges is lifted as that and not as a grey box approximating
|
|
239
|
+
* it. The overlay carries no transition on its transform, which is the one place
|
|
240
|
+
* in this package where a token duration would be wrong: it is tracking a finger,
|
|
241
|
+
* and an eased follow is lag between the finger and the thing the finger is
|
|
242
|
+
* holding. The motion that is here is the drop target changing, on `duration-fast`.
|
|
243
|
+
*
|
|
244
|
+
* **It does not compose `ListPanel`, and the refusal is worth stating.** A panel
|
|
245
|
+
* would bring a title band, a toolbar slot, a bounded height and a scroll region,
|
|
246
|
+
* and a reorderable list wants none of them by default: the reader has to see the
|
|
247
|
+
* whole arrangement to reorder it, a bounded body hides the row they are about to
|
|
248
|
+
* drop onto, and the panel's toolbar has nothing to say about moving rows. A
|
|
249
|
+
* caller who does want a bounded frame puts this inside `ListPanel`'s body, which
|
|
250
|
+
* is one line and costs nothing.
|
|
251
|
+
*
|
|
252
|
+
* **It is a client Component**, because a drag is a stream of pointer events and a
|
|
253
|
+
* keyboard reorder is a key handler, and because every one of its value props is a
|
|
254
|
+
* function the caller hands it, which is a client-to-client boundary wherever it is
|
|
255
|
+
* written. What that costs is the price of every client control: a server
|
|
256
|
+
* Component may render this list once with its rows already in place, and what it
|
|
257
|
+
* may not do is offer the two reorder models, because both are facts about what
|
|
258
|
+
* happens after the reader acts.
|
|
259
|
+
*/
|
|
260
|
+
declare function ReorderableList({ rows, getRowId, isLocked, onOrderChange, handleLabel, instructionsLabel, announce, blockedLabel, cancelLabel, children, label, className, }: ReorderableListProps<any>): import("react").JSX.Element;
|
|
261
|
+
export { ReorderableList };
|
|
262
|
+
//# sourceMappingURL=reorderable-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reorderable-list.d.ts","sourceRoot":"","sources":["../../../src/components/ui/reorderable-list.tsx"],"names":[],"mappings":"AAGA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAKd;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAA;IACV,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAA;IACV,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB,CAAC,IAAI;IACxC;;;;;;;;;OASG;IACH,IAAI,EAAE,SAAS,IAAI,EAAE,CAAA;IACrB;;;;;;;OAOG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAA;IAC/B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAA;IACjC;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IACtC;;;;;;;;OAQG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACtC;;;;;;;;;;OAUG;IACH,iBAAiB,EAAE,MAAM,CAAA;IACzB;;;;;;OAMG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,MAAM,CAAA;IAC3C;;;;;;;;OAQG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACvC;;;;;;;;OAQG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;;;;;;OAOG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,KAAK,SAAS,CAAA;IAC5D;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAoCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4FG;AACH,iBAAS,eAAe,CAAC,EACvB,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,KAAK,EACL,SAAS,GACV,EAAE,oBAAoB,CAAC,GAAG,CAAC,+BAkT3B;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { GripVerticalIcon } from 'lucide-react';
|
|
4
|
+
import { useCallback, useEffect, useId, useRef, useState, } from 'react';
|
|
5
|
+
import { LiveRegion } from './live-region.js';
|
|
6
|
+
import { cn } from '../../lib/utils.js';
|
|
7
|
+
/**
|
|
8
|
+
* The grab control, drawn once and used by every row.
|
|
9
|
+
*
|
|
10
|
+
* The coarse-pointer floor is here for the reason it is on every other control in
|
|
11
|
+
* this package that a thumb has to hit: five rows on a phone are five rows, and a
|
|
12
|
+
* 20px target is a target that picks up the wrong one. `touch-none` is what stops
|
|
13
|
+
* the browser scrolling the page out from under a drag that started on a handle.
|
|
14
|
+
* Duplicated as a constant rather than imported because each module draws its own
|
|
15
|
+
* row geometry, and a design system that published one class string as an API
|
|
16
|
+
* would be publishing a styling hook.
|
|
17
|
+
*/
|
|
18
|
+
const HANDLE = 'text-muted-foreground hover:text-foreground inline-flex size-8 shrink-0 touch-none cursor-grab items-center justify-center rounded-sm outline-none transition-colors duration-fast ease-out pointer-coarse:size-11 focus-visible:ring-ring focus-visible:ring-[3px]';
|
|
19
|
+
/**
|
|
20
|
+
* One row's frame.
|
|
21
|
+
*
|
|
22
|
+
* The card surface rather than a bare line, because a row that is being picked up
|
|
23
|
+
* or dropped onto needs a boundary the reader can see, and a list of bare lines
|
|
24
|
+
* gives them nothing to aim at. The drop target changes both the border's ink and
|
|
25
|
+
* the fill: the ink alone is a one-pixel difference between two colours that are
|
|
26
|
+
* close in every pack, and the fill alone is a change the reader has to interpret.
|
|
27
|
+
*/
|
|
28
|
+
const ROW = 'border-border bg-card flex items-center gap-2 rounded-md border px-2 py-1.5 transition-colors duration-fast ease-out';
|
|
29
|
+
/**
|
|
30
|
+
* A list of rows the reader can put in a different order with a pointer or with
|
|
31
|
+
* the keyboard, where the two arrangements have to agree.
|
|
32
|
+
*
|
|
33
|
+
* **The two input models are one function, and that is the whole Component.** A
|
|
34
|
+
* pointer drag measures where the finger is and computes a destination; a keyboard
|
|
35
|
+
* reorder computes one destination per arrow key. Both call the same `commit`,
|
|
36
|
+
* which is the only place in this module where a row changes places, which emits
|
|
37
|
+
* the announcement, and which applies the locked-row clamp. The alternative, one
|
|
38
|
+
* handler per model, is the arrangement that produced the defects this Component
|
|
39
|
+
* exists to end: a pointer model that let a row cross a locked one, and a keyboard
|
|
40
|
+
* model whose announcement named a position the pointer would never have produced.
|
|
41
|
+
* The cost is stated rather than hidden: a caller who wants the pointer to feel
|
|
42
|
+
* different from the keyboard cannot have it, because the difference would be
|
|
43
|
+
* exactly the disagreement this Component refuses to permit.
|
|
44
|
+
*
|
|
45
|
+
* **A locked row is an obstacle and not a wall, and that distinction is the rule
|
|
46
|
+
* the keyboard model turns on.** A locked row can be neither picked up nor
|
|
47
|
+
* crossed: it holds its position, and a move that would put another row on the far
|
|
48
|
+
* side of it is clamped to the locked row's own slot. The second half matters more
|
|
49
|
+
* than it looks. If a locked row were a wall rather than an obstacle, a keyboard
|
|
50
|
+
* reader below it pressing the down arrow would stop at the wall and have no way
|
|
51
|
+
* past it, because an arrow key moves one position at a time and the reader would
|
|
52
|
+
* have to know to press it twice to clear a row that is not going anywhere. The
|
|
53
|
+
* clamped move is what a pointer drag produces when a finger crosses a locked row,
|
|
54
|
+
* which is the agreement the first paragraph is about. The cost is real and named:
|
|
55
|
+
* a locked row does not partition the list, so a row above one can still be moved
|
|
56
|
+
* below it in a single gesture, and a consumer whose locked rows are meant to be
|
|
57
|
+
* hard boundaries partitions into two lists instead.
|
|
58
|
+
*
|
|
59
|
+
* **The keyboard model is four behaviours, and three of them happen with no
|
|
60
|
+
* visible control in a different state.** Space or Enter picks the focused row up,
|
|
61
|
+
* the arrow keys move it one position at a time and announce every one of them,
|
|
62
|
+
* Space or Enter puts it down, and Escape restores the arrangement the list had
|
|
63
|
+
* when the row was picked up. Only the picked-up state is drawn, and it is drawn
|
|
64
|
+
* as `aria-pressed` on the handle rather than as a lifted row, because the
|
|
65
|
+
* alternative is a row that looks like it is being dragged when it is not and a
|
|
66
|
+
* reader with two of them on a screen cannot tell which is which. The instructions
|
|
67
|
+
* are a prop because the sequence is a sentence in the consumer's language and
|
|
68
|
+
* because a reader who has not been told it cannot guess any of it from a handle
|
|
69
|
+
* with dots on it. The honest limit is the announcement rather than the handle:
|
|
70
|
+
* nothing in the DOM says a row changed places, so a caller who renders this
|
|
71
|
+
* without `announce` gets a reordering surface a screen reader cannot follow,
|
|
72
|
+
* which is the failure the whole Component is built to prevent.
|
|
73
|
+
*
|
|
74
|
+
* **The arrow keys are the browser's until a row is picked up, and that is
|
|
75
|
+
* deliberate.** A list that swallowed the arrow keys would take them away from
|
|
76
|
+
* every control inside its own rows, and the cost of that is a reader who cannot
|
|
77
|
+
* move through a row's own fields. So nothing is a roving tab stop here: the
|
|
78
|
+
* handles are ordinary tab stops in DOM order, the arrows scroll the page or move
|
|
79
|
+
* a caret inside a control as they always do, and a reader who wants to reorder
|
|
80
|
+
* picks the row up first, which is what tells the Component the arrows are about
|
|
81
|
+
* the row. The price is one extra key press before a keyboard reorder begins, and
|
|
82
|
+
* it buys back every arrow key inside a row.
|
|
83
|
+
*
|
|
84
|
+
* **Escape restores the arrangement rather than unwinding it, and the shape of the
|
|
85
|
+
* callback is why.** The order is snapshotted when the row is picked up and handed
|
|
86
|
+
* back whole on Escape, so a cancelled move is one call and one announcement rather
|
|
87
|
+
* than one per position the row travelled. A caller who took `(from, to)` would
|
|
88
|
+
* have to replay the moves in reverse and would announce a sequence of movements
|
|
89
|
+
* the reader has just undone, which is the opposite of what Escape means.
|
|
90
|
+
*
|
|
91
|
+
* **Focus follows the row, because the row is keyed by identity.** A move reorders
|
|
92
|
+
* the caller's array and React moves the element that already held focus rather
|
|
93
|
+
* than making a new one, so a keyboard reader's cursor stays on the row they are
|
|
94
|
+
* moving without a line of focus code. After a pointer drop the focus is moved to
|
|
95
|
+
* the moved row's handle deliberately, because a pointer reader has no cursor to
|
|
96
|
+
* follow and would otherwise be left wherever the drop happened to leave them.
|
|
97
|
+
*
|
|
98
|
+
* **The drag overlay is the caller's own row and not a picture of it.** The
|
|
99
|
+
* render prop is drawn a second time inside it, so a row holding a chart, an
|
|
100
|
+
* avatar and three badges is lifted as that and not as a grey box approximating
|
|
101
|
+
* it. The overlay carries no transition on its transform, which is the one place
|
|
102
|
+
* in this package where a token duration would be wrong: it is tracking a finger,
|
|
103
|
+
* and an eased follow is lag between the finger and the thing the finger is
|
|
104
|
+
* holding. The motion that is here is the drop target changing, on `duration-fast`.
|
|
105
|
+
*
|
|
106
|
+
* **It does not compose `ListPanel`, and the refusal is worth stating.** A panel
|
|
107
|
+
* would bring a title band, a toolbar slot, a bounded height and a scroll region,
|
|
108
|
+
* and a reorderable list wants none of them by default: the reader has to see the
|
|
109
|
+
* whole arrangement to reorder it, a bounded body hides the row they are about to
|
|
110
|
+
* drop onto, and the panel's toolbar has nothing to say about moving rows. A
|
|
111
|
+
* caller who does want a bounded frame puts this inside `ListPanel`'s body, which
|
|
112
|
+
* is one line and costs nothing.
|
|
113
|
+
*
|
|
114
|
+
* **It is a client Component**, because a drag is a stream of pointer events and a
|
|
115
|
+
* keyboard reorder is a key handler, and because every one of its value props is a
|
|
116
|
+
* function the caller hands it, which is a client-to-client boundary wherever it is
|
|
117
|
+
* written. What that costs is the price of every client control: a server
|
|
118
|
+
* Component may render this list once with its rows already in place, and what it
|
|
119
|
+
* may not do is offer the two reorder models, because both are facts about what
|
|
120
|
+
* happens after the reader acts.
|
|
121
|
+
*/
|
|
122
|
+
function ReorderableList({ rows, getRowId, isLocked, onOrderChange, handleLabel, instructionsLabel, announce, blockedLabel, cancelLabel, children, label, className, }) {
|
|
123
|
+
const instructionsId = useId();
|
|
124
|
+
const listRef = useRef(null);
|
|
125
|
+
// The row geometry, measured once when a drag begins. The list does not reorder
|
|
126
|
+
// while a drag is in progress, so the rectangles read at the start stay true
|
|
127
|
+
// until it ends, and the pointer handler never forces a layout on every move.
|
|
128
|
+
const boxes = useRef([]);
|
|
129
|
+
// How far into the lifted row the pointer took hold, so the overlay leaves by the
|
|
130
|
+
// edge the reader grabbed rather than snapping to the pointer's own coordinates.
|
|
131
|
+
const grab = useRef(0);
|
|
132
|
+
// The row to hand focus to once the caller's array has caught up with a drop.
|
|
133
|
+
// Armed before the callback runs, because the row that will hold it does not
|
|
134
|
+
// exist until the caller has applied the order the callback was given.
|
|
135
|
+
const focusAfter = useRef(null);
|
|
136
|
+
// The arrangement as it stood when the keyboard reader picked a row up.
|
|
137
|
+
const pickedUp = useRef(null);
|
|
138
|
+
const [picked, setPicked] = useState(null);
|
|
139
|
+
const [drag, setDrag] = useState(null);
|
|
140
|
+
const [said, setSaid] = useState('');
|
|
141
|
+
const lockedAt = useCallback((index) => (isLocked === undefined ? false : isLocked(rows[index])), [isLocked, rows]);
|
|
142
|
+
/**
|
|
143
|
+
* The one place a row changes places.
|
|
144
|
+
*
|
|
145
|
+
* `destination` is clamped by walking towards the row's own slot one candidate
|
|
146
|
+
* at a time and taking the first arrangement in which every locked row is
|
|
147
|
+
* exactly where it was. Walking rather than computing is the decision: a move
|
|
148
|
+
* that crosses two locked rows has to stop at the first one, and there is no
|
|
149
|
+
* arithmetic that says which without checking each candidate against the rule.
|
|
150
|
+
* `null` means the row cannot move at all from here, which happens when the row
|
|
151
|
+
* itself is locked or when it already sits against the locked row beside it, and
|
|
152
|
+
* both are reported to the reader rather than swallowed.
|
|
153
|
+
*/
|
|
154
|
+
const commit = useCallback((id, from, destination) => {
|
|
155
|
+
if (from < 0 || from >= rows.length)
|
|
156
|
+
return false;
|
|
157
|
+
if (lockedAt(from)) {
|
|
158
|
+
setSaid(blockedLabel(from));
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
const step = destination > from ? 1 : -1;
|
|
162
|
+
for (let to = destination; to !== from; to -= step) {
|
|
163
|
+
const order = [...rows];
|
|
164
|
+
const moved = order.splice(from, 1);
|
|
165
|
+
order.splice(to, 0, ...moved);
|
|
166
|
+
if (rows.every((row, at) => !lockedAt(at) || order[at] === row)) {
|
|
167
|
+
setSaid(announce({ id, from, to, total: rows.length }));
|
|
168
|
+
onOrderChange(order);
|
|
169
|
+
return true;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
// Everything between here and the locked row beside it is taken, so the
|
|
173
|
+
// refusal is reported against the locked row the reader ran into.
|
|
174
|
+
const blocked = destination > from ? from + 1 : from - 1;
|
|
175
|
+
setSaid(blocked >= 0 && blocked < rows.length && lockedAt(blocked) ? blockedLabel(blocked) : '');
|
|
176
|
+
return false;
|
|
177
|
+
}, [announce, blockedLabel, lockedAt, onOrderChange, rows]);
|
|
178
|
+
// A drop hands focus to the row that moved, and that row only exists once the
|
|
179
|
+
// caller has applied the order, so the focus waits for the render rather than
|
|
180
|
+
// racing it. A keyboard move needs none of this: the element the reader was on is
|
|
181
|
+
// moved rather than remounted, so their cursor is already where it belongs.
|
|
182
|
+
useEffect(() => {
|
|
183
|
+
const wanted = focusAfter.current;
|
|
184
|
+
if (wanted === null)
|
|
185
|
+
return;
|
|
186
|
+
const root = listRef.current;
|
|
187
|
+
if (root === null)
|
|
188
|
+
return;
|
|
189
|
+
const handle = root.querySelector(`[data-reorder-handle="${wanted}"]`);
|
|
190
|
+
if (handle === null)
|
|
191
|
+
return;
|
|
192
|
+
focusAfter.current = null;
|
|
193
|
+
handle.focus();
|
|
194
|
+
});
|
|
195
|
+
const measure = () => {
|
|
196
|
+
const root = listRef.current;
|
|
197
|
+
if (root === null)
|
|
198
|
+
return false;
|
|
199
|
+
boxes.current = [...root.children].map((row) => {
|
|
200
|
+
const rect = row.getBoundingClientRect();
|
|
201
|
+
return { top: rect.top, middle: rect.top + rect.height / 2, left: rect.left, width: rect.width };
|
|
202
|
+
});
|
|
203
|
+
return true;
|
|
204
|
+
};
|
|
205
|
+
/**
|
|
206
|
+
* The index a pointer at `clientY` is asking for: the number of row middles it
|
|
207
|
+
* has passed. A finger between two rows is asking for the lower of the two, which
|
|
208
|
+
* is what makes the last few pixels above a row's centre feel like they belong
|
|
209
|
+
* to the row above rather than producing a dead band that moves nothing.
|
|
210
|
+
*/
|
|
211
|
+
const indexAt = (clientY) => {
|
|
212
|
+
let at = 0;
|
|
213
|
+
while (at < boxes.current.length && boxes.current[at].middle < clientY)
|
|
214
|
+
at += 1;
|
|
215
|
+
return at;
|
|
216
|
+
};
|
|
217
|
+
const onPointerDown = (event, id, index) => {
|
|
218
|
+
if (lockedAt(index)) {
|
|
219
|
+
// A handle that cannot be grabbed would otherwise accept a press and do
|
|
220
|
+
// nothing at all, which is the state `Dropzone` and `LifecycleButton` both
|
|
221
|
+
// refuse to leave a control in.
|
|
222
|
+
event.preventDefault();
|
|
223
|
+
setSaid(blockedLabel(index));
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
if (!measure())
|
|
227
|
+
return;
|
|
228
|
+
const box = boxes.current[index];
|
|
229
|
+
if (box === undefined)
|
|
230
|
+
return;
|
|
231
|
+
// Where in the row the pointer took hold, so the overlay is lifted by the same
|
|
232
|
+
// edge and does not jump out from under the finger that is holding it.
|
|
233
|
+
grab.current = event.clientY - box.top;
|
|
234
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
235
|
+
setDrag({
|
|
236
|
+
id,
|
|
237
|
+
from: index,
|
|
238
|
+
pointerId: event.pointerId,
|
|
239
|
+
clientX: event.clientX,
|
|
240
|
+
clientY: event.clientY,
|
|
241
|
+
target: index,
|
|
242
|
+
});
|
|
243
|
+
};
|
|
244
|
+
const onPointerMove = (event) => {
|
|
245
|
+
setDrag((current) => current === null || current.pointerId !== event.pointerId
|
|
246
|
+
? current
|
|
247
|
+
: { ...current, clientX: event.clientX, clientY: event.clientY, target: indexAt(event.clientY) });
|
|
248
|
+
};
|
|
249
|
+
const onPointerUp = (event) => {
|
|
250
|
+
if (drag === null || drag.pointerId !== event.pointerId)
|
|
251
|
+
return;
|
|
252
|
+
if (commit(drag.id, drag.from, drag.target))
|
|
253
|
+
focusAfter.current = drag.id;
|
|
254
|
+
setDrag(null);
|
|
255
|
+
};
|
|
256
|
+
const onKeyDown = (event, index) => {
|
|
257
|
+
// `Enter` is read from `key` and the spacebar from `code`, and the asymmetry is
|
|
258
|
+
// deliberate rather than an inconsistency. `event.key` for the spacebar is a
|
|
259
|
+
// literal space character, which is not a name any reader of this file could
|
|
260
|
+
// recognise as a key, while `event.code` names it `Space` and is unambiguous
|
|
261
|
+
// about which physical key was pressed. `Enter` has no such problem: its `key` is
|
|
262
|
+
// already the word, and `code` would fail to match the numeric keypad's.
|
|
263
|
+
if (event.key === 'Enter' || event.code === 'Space') {
|
|
264
|
+
event.preventDefault();
|
|
265
|
+
if (picked === null) {
|
|
266
|
+
// The snapshot is taken on pickup rather than on mount, because the
|
|
267
|
+
// arrangement a reader wants back is the one they started from, not the
|
|
268
|
+
// one the list happened to be rendered with.
|
|
269
|
+
pickedUp.current = rows;
|
|
270
|
+
setPicked(ids[index]);
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
pickedUp.current = null;
|
|
274
|
+
setPicked(null);
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
if (event.key === 'Escape' && picked !== null) {
|
|
278
|
+
event.preventDefault();
|
|
279
|
+
const restore = pickedUp.current;
|
|
280
|
+
pickedUp.current = null;
|
|
281
|
+
setPicked(null);
|
|
282
|
+
// Copied rather than handed over as it stands, because the snapshot is a
|
|
283
|
+
// `readonly` view of an array the caller gave this Component and the callback
|
|
284
|
+
// asks for one the caller may put straight into their own state.
|
|
285
|
+
if (restore !== null)
|
|
286
|
+
onOrderChange([...restore]);
|
|
287
|
+
setSaid(cancelLabel);
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
const key = event.key;
|
|
291
|
+
if (key !== 'ArrowUp' && key !== 'ArrowDown')
|
|
292
|
+
return;
|
|
293
|
+
// The arrows do nothing until a row is picked up, because they are the
|
|
294
|
+
// browser's for every control inside a row until then.
|
|
295
|
+
if (picked === null)
|
|
296
|
+
return;
|
|
297
|
+
event.preventDefault();
|
|
298
|
+
const destination = key === 'ArrowUp' ? index - 1 : index + 1;
|
|
299
|
+
if (destination < 0 || destination >= rows.length)
|
|
300
|
+
return;
|
|
301
|
+
commit(picked, index, destination);
|
|
302
|
+
};
|
|
303
|
+
const ids = rows.map(getRowId);
|
|
304
|
+
const lifted = drag === null ? null : drag;
|
|
305
|
+
return (_jsxs("div", { "data-slot": "reorderable-list", className: cn('flex w-full flex-col gap-2', className), children: [label === undefined ? null : (_jsx("span", { className: "text-muted-foreground text-xs font-medium tracking-wide uppercase", children: label })), _jsx("span", { id: instructionsId, "data-slot": "reorderable-list-instructions", className: "sr-only", children: instructionsLabel }), _jsx("ol", { ref: listRef, "data-slot": "reorderable-list-list", className: "flex w-full flex-col gap-2", children: rows.map((row, index) => {
|
|
306
|
+
const id = getRowId(row);
|
|
307
|
+
const locked = lockedAt(index);
|
|
308
|
+
const dragging = lifted !== null && lifted.id === id;
|
|
309
|
+
const target = lifted !== null && !dragging && lifted.target === index;
|
|
310
|
+
return (_jsxs("li", { "data-slot": "reorderable-list-row", "data-reorder-id": id, className: cn(ROW,
|
|
311
|
+
// The drop target changes its border's ink and its fill together,
|
|
312
|
+
// and the row being lifted fades rather than disappearing, so the
|
|
313
|
+
// reader can see both the hole it came from and the place it is
|
|
314
|
+
// about to land.
|
|
315
|
+
target && 'border-primary bg-accent', dragging && 'opacity-40'), children: [_jsx("button", { type: "button", "data-slot": "reorderable-list-handle", "data-reorder-handle": id, "aria-pressed": picked === id, "aria-describedby": instructionsId, "aria-label": handleLabel(index), onPointerDown: (event) => onPointerDown(event, id, index), onPointerMove: onPointerMove, onPointerUp: onPointerUp, onPointerCancel: () => setDrag(null), onKeyDown: (event) => onKeyDown(event, index), className: cn(HANDLE, locked
|
|
316
|
+
? 'cursor-not-allowed opacity-50'
|
|
317
|
+
: picked === id
|
|
318
|
+
? 'cursor-grabbing text-foreground'
|
|
319
|
+
: ''), children: _jsx(GripVerticalIcon, { className: "size-4", "aria-hidden": "true" }) }), _jsx("div", { "data-slot": "reorderable-list-content", className: "min-w-0 flex-1", children: children(row, { index, locked }) })] }, id));
|
|
320
|
+
}) }), lifted === null ? null : (_jsx("div", { "data-slot": "reorderable-list-overlay", "aria-hidden": "true", style: {
|
|
321
|
+
width: boxes.current[lifted.from]?.width,
|
|
322
|
+
transform: `translate3d(${boxes.current[lifted.from]?.left ?? 0}px, ${Math.round(lifted.clientY - grab.current)}px, 0)`,
|
|
323
|
+
}, className: "bg-popover text-popover-foreground pointer-events-none fixed z-50 rounded-md border p-2 shadow-md", children: children(rows[lifted.from], { index: lifted.from, locked: lockedAt(lifted.from) }) })), _jsx(LiveRegion, { className: "sr-only", politeness: "assertive", children: said })] }));
|
|
324
|
+
}
|
|
325
|
+
export { ReorderableList };
|