@nanisoft/prism-ui 0.10.2 → 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/LICENSE +21 -21
- 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/app-shell-01/app-shell.js +4 -4
- package/dist/blocks/app-shell-01/index.d.ts +2 -2
- package/dist/blocks/app-shell-01/index.js +1 -1
- 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 +51 -2
- package/dist/blocks/auth-form-01/auth-form.d.ts.map +1 -1
- package/dist/blocks/auth-form-01/auth-form.js +36 -10
- package/dist/blocks/auth-form-01/index.d.ts +2 -2
- package/dist/blocks/auth-form-01/index.js +1 -1
- 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 +33 -22
- package/dist/blocks/cta-01/cta.d.ts.map +1 -1
- package/dist/blocks/cta-01/cta.js +12 -3
- package/dist/blocks/cta-01/index.d.ts +2 -2
- package/dist/blocks/cta-01/index.js +1 -1
- 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 +15 -12
- package/dist/blocks/data-table-01/index.d.ts +2 -2
- package/dist/blocks/data-table-01/index.js +1 -1
- 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/empty-state-01/empty-state.d.ts +143 -0
- package/dist/blocks/empty-state-01/empty-state.d.ts.map +1 -0
- package/dist/blocks/empty-state-01/empty-state.js +104 -0
- package/dist/blocks/empty-state-01/index.d.ts +3 -0
- package/dist/blocks/empty-state-01/index.d.ts.map +1 -0
- package/dist/blocks/empty-state-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-grid-01/feature-grid.d.ts +28 -1
- package/dist/blocks/feature-grid-01/feature-grid.d.ts.map +1 -1
- package/dist/blocks/feature-grid-01/feature-grid.js +34 -3
- package/dist/blocks/feature-grid-01/index.d.ts +2 -2
- package/dist/blocks/feature-grid-01/index.js +1 -1
- 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 +112 -21
- package/dist/blocks/hero-01/hero.d.ts.map +1 -1
- package/dist/blocks/hero-01/hero.js +29 -16
- package/dist/blocks/hero-01/index.d.ts +2 -1
- package/dist/blocks/hero-01/index.d.ts.map +1 -1
- package/dist/blocks/hero-01/index.js +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 +223 -20
- package/dist/blocks/index.d.ts.map +1 -1
- package/dist/blocks/index.js +137 -19
- 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/instrument-panel-01/index.d.ts +2 -2
- package/dist/blocks/instrument-panel-01/index.js +1 -1
- package/dist/blocks/instrument-panel-01/instrument-panel.js +1 -1
- 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/logo-strip-01/index.d.ts +2 -2
- package/dist/blocks/logo-strip-01/index.js +1 -1
- package/dist/blocks/logo-strip-01/logo-strip.d.ts +1 -1
- package/dist/blocks/logo-strip-01/logo-strip.js +2 -2
- 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/note-grid-01/index.d.ts +2 -2
- package/dist/blocks/note-grid-01/index.js +1 -1
- package/dist/blocks/note-grid-01/note-grid.d.ts +1 -1
- package/dist/blocks/note-grid-01/note-grid.js +1 -1
- 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 +2 -2
- package/dist/blocks/page-header-01/index.d.ts.map +1 -1
- package/dist/blocks/page-header-01/index.js +1 -1
- package/dist/blocks/page-header-01/page-header.d.ts +125 -12
- package/dist/blocks/page-header-01/page-header.d.ts.map +1 -1
- package/dist/blocks/page-header-01/page-header.js +28 -12
- 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 +2 -1
- package/dist/blocks/pricing-01/index.d.ts.map +1 -1
- package/dist/blocks/pricing-01/index.js +1 -1
- package/dist/blocks/pricing-01/pricing.d.ts +126 -2
- package/dist/blocks/pricing-01/pricing.d.ts.map +1 -1
- package/dist/blocks/pricing-01/pricing.js +22 -5
- 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/process-flow-01/index.d.ts +3 -0
- package/dist/blocks/process-flow-01/index.d.ts.map +1 -0
- package/dist/blocks/process-flow-01/index.js +1 -0
- package/dist/blocks/process-flow-01/process-flow.d.ts +118 -0
- package/dist/blocks/process-flow-01/process-flow.d.ts.map +1 -0
- package/dist/blocks/process-flow-01/process-flow.js +71 -0
- package/dist/blocks/process-rail-01/index.d.ts +2 -2
- package/dist/blocks/process-rail-01/index.js +1 -1
- package/dist/blocks/process-rail-01/process-rail.d.ts +1 -1
- package/dist/blocks/process-rail-01/process-rail.js +2 -2
- package/dist/blocks/product-grid-01/index.d.ts +2 -2
- package/dist/blocks/product-grid-01/index.js +1 -1
- package/dist/blocks/product-grid-01/product-grid.d.ts +37 -5
- package/dist/blocks/product-grid-01/product-grid.d.ts.map +1 -1
- package/dist/blocks/product-grid-01/product-grid.js +20 -6
- 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/index.d.ts +3 -0
- package/dist/blocks/run-console-01/index.d.ts.map +1 -0
- package/dist/blocks/run-console-01/index.js +1 -0
- package/dist/blocks/run-console-01/run-console.d.ts +124 -0
- package/dist/blocks/run-console-01/run-console.d.ts.map +1 -0
- package/dist/blocks/run-console-01/run-console.js +49 -0
- 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-panel-01/index.d.ts +2 -2
- package/dist/blocks/settings-panel-01/index.js +1 -1
- package/dist/blocks/settings-panel-01/settings-panel.d.ts +11 -1
- package/dist/blocks/settings-panel-01/settings-panel.d.ts.map +1 -1
- package/dist/blocks/settings-panel-01/settings-panel.js +15 -10
- 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/index.d.ts +2 -2
- package/dist/blocks/site-footer/index.js +1 -1
- package/dist/blocks/site-footer/site-footer.d.ts +19 -2
- package/dist/blocks/site-footer/site-footer.d.ts.map +1 -1
- package/dist/blocks/site-footer/site-footer.js +10 -4
- package/dist/blocks/site-header/index.d.ts +2 -2
- package/dist/blocks/site-header/index.js +1 -1
- package/dist/blocks/site-header/site-header.d.ts +2 -2
- package/dist/blocks/site-header/site-header.js +4 -4
- package/dist/blocks/site-navbar/index.d.ts +3 -0
- package/dist/blocks/site-navbar/index.d.ts.map +1 -0
- package/dist/blocks/site-navbar/index.js +1 -0
- package/dist/blocks/site-navbar/mobile-nav.d.ts +48 -0
- package/dist/blocks/site-navbar/mobile-nav.d.ts.map +1 -0
- package/dist/blocks/site-navbar/mobile-nav.js +35 -0
- package/dist/blocks/site-navbar/mode-toggle.d.ts +39 -0
- package/dist/blocks/site-navbar/mode-toggle.d.ts.map +1 -0
- package/dist/blocks/site-navbar/mode-toggle.js +39 -0
- package/dist/blocks/site-navbar/navbar-controls.d.ts +79 -0
- package/dist/blocks/site-navbar/navbar-controls.d.ts.map +1 -0
- package/dist/blocks/site-navbar/navbar-controls.js +40 -0
- package/dist/blocks/site-navbar/search-entry.d.ts +29 -0
- package/dist/blocks/site-navbar/search-entry.d.ts.map +1 -0
- package/dist/blocks/site-navbar/search-entry.js +52 -0
- package/dist/blocks/site-navbar/site-navbar.d.ts +246 -0
- package/dist/blocks/site-navbar/site-navbar.d.ts.map +1 -0
- package/dist/blocks/site-navbar/site-navbar.js +90 -0
- package/dist/blocks/site-navbar/sites-menu.d.ts +40 -0
- package/dist/blocks/site-navbar/sites-menu.d.ts.map +1 -0
- package/dist/blocks/site-navbar/sites-menu.js +48 -0
- package/dist/blocks/site-navbar/theme-menu.d.ts +47 -0
- package/dist/blocks/site-navbar/theme-menu.d.ts.map +1 -0
- package/dist/blocks/site-navbar/theme-menu.js +55 -0
- package/dist/blocks/spec-table-01/index.d.ts +3 -0
- package/dist/blocks/spec-table-01/index.d.ts.map +1 -0
- package/dist/blocks/spec-table-01/index.js +1 -0
- package/dist/blocks/spec-table-01/spec-table.d.ts +293 -0
- package/dist/blocks/spec-table-01/spec-table.d.ts.map +1 -0
- package/dist/blocks/spec-table-01/spec-table.js +217 -0
- package/dist/blocks/stack-grid-01/index.d.ts +2 -2
- package/dist/blocks/stack-grid-01/index.js +1 -1
- package/dist/blocks/stack-grid-01/stack-grid.d.ts +42 -11
- package/dist/blocks/stack-grid-01/stack-grid.d.ts.map +1 -1
- package/dist/blocks/stack-grid-01/stack-grid.js +15 -7
- package/dist/blocks/stats-01/index.d.ts +9 -1
- package/dist/blocks/stats-01/index.d.ts.map +1 -1
- package/dist/blocks/stats-01/index.js +8 -1
- package/dist/blocks/stats-01/stats.d.ts +1 -1
- package/dist/blocks/stats-01/stats.js +2 -2
- package/dist/blocks/status-ledger-01/index.d.ts +2 -2
- package/dist/blocks/status-ledger-01/index.js +1 -1
- package/dist/blocks/status-ledger-01/status-ledger.d.ts +1 -1
- package/dist/blocks/status-ledger-01/status-ledger.js +2 -2
- 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 +1 -1
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +2114 -2
- package/dist/components/index.d.ts +218 -66
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +208 -40
- package/dist/components/ui/accordion.d.ts.map +1 -1
- package/dist/components/ui/accordion.js +10 -3
- package/dist/components/ui/alert-dialog.d.ts +119 -0
- package/dist/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/components/ui/alert-dialog.js +100 -0
- package/dist/components/ui/alert.js +1 -1
- 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/aspect-ratio.d.ts +60 -0
- package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
- package/dist/components/ui/aspect-ratio.js +61 -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/avatar.js +1 -1
- package/dist/components/ui/badge.js +1 -1
- 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/breadcrumb.js +1 -1
- package/dist/components/ui/button-group.d.ts +68 -0
- package/dist/components/ui/button-group.d.ts.map +1 -0
- package/dist/components/ui/button-group.js +54 -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 +18 -3
- package/dist/components/ui/calendar.d.ts +167 -0
- package/dist/components/ui/calendar.d.ts.map +1 -0
- package/dist/components/ui/calendar.js +244 -0
- package/dist/components/ui/card.d.ts +18 -6
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/card.js +23 -8
- package/dist/components/ui/carousel.d.ts +125 -0
- package/dist/components/ui/carousel.d.ts.map +1 -0
- package/dist/components/ui/carousel.js +209 -0
- package/dist/components/ui/chart-frame.d.ts +216 -0
- package/dist/components/ui/chart-frame.d.ts.map +1 -0
- package/dist/components/ui/chart-frame.js +286 -0
- 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 +20 -2
- 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 +108 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -0
- package/dist/components/ui/collapsible.js +65 -0
- package/dist/components/ui/combobox.d.ts +144 -0
- package/dist/components/ui/combobox.d.ts.map +1 -0
- package/dist/components/ui/combobox.js +259 -0
- package/dist/components/ui/command-palette.d.ts +117 -0
- package/dist/components/ui/command-palette.d.ts.map +1 -0
- package/dist/components/ui/command-palette.js +222 -0
- package/dist/components/ui/command.d.ts +82 -0
- package/dist/components/ui/command.d.ts.map +1 -0
- package/dist/components/ui/command.js +37 -0
- package/dist/components/ui/context-menu.d.ts +151 -0
- package/dist/components/ui/context-menu.d.ts.map +1 -0
- package/dist/components/ui/context-menu.js +97 -0
- 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/cta-link.js +1 -1
- 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 +111 -0
- package/dist/components/ui/date-picker.d.ts.map +1 -0
- package/dist/components/ui/date-picker.js +82 -0
- package/dist/components/ui/diagram.d.ts +84 -15
- package/dist/components/ui/diagram.d.ts.map +1 -1
- package/dist/components/ui/diagram.js +77 -7
- 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 +41 -7
- package/dist/components/ui/diff.d.ts +105 -0
- package/dist/components/ui/diff.d.ts.map +1 -0
- package/dist/components/ui/diff.js +113 -0
- 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 +18 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.js +7 -2
- package/dist/components/ui/dropzone.d.ts +147 -0
- package/dist/components/ui/dropzone.d.ts.map +1 -0
- package/dist/components/ui/dropzone.js +141 -0
- package/dist/components/ui/emoji-picker.d.ts +328 -0
- package/dist/components/ui/emoji-picker.d.ts.map +1 -0
- package/dist/components/ui/emoji-picker.js +278 -0
- package/dist/components/ui/fact-list.js +1 -1
- package/dist/components/ui/field.js +1 -1
- package/dist/components/ui/file-upload.d.ts +152 -0
- package/dist/components/ui/file-upload.d.ts.map +1 -0
- package/dist/components/ui/file-upload.js +101 -0
- package/dist/components/ui/filter-panel.d.ts +164 -0
- package/dist/components/ui/filter-panel.d.ts.map +1 -0
- package/dist/components/ui/filter-panel.js +91 -0
- package/dist/components/ui/form-dialog.d.ts +257 -0
- package/dist/components/ui/form-dialog.d.ts.map +1 -0
- package/dist/components/ui/form-dialog.js +176 -0
- package/dist/components/ui/form-wizard.d.ts +251 -0
- package/dist/components/ui/form-wizard.d.ts.map +1 -0
- package/dist/components/ui/form-wizard.js +151 -0
- package/dist/components/ui/form.d.ts +151 -0
- package/dist/components/ui/form.d.ts.map +1 -0
- package/dist/components/ui/form.js +73 -0
- package/dist/components/ui/hover-card.d.ts +105 -0
- package/dist/components/ui/hover-card.d.ts.map +1 -0
- package/dist/components/ui/hover-card.js +49 -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/input-group.d.ts +99 -0
- package/dist/components/ui/input-group.d.ts.map +1 -0
- package/dist/components/ui/input-group.js +83 -0
- package/dist/components/ui/input.js +1 -1
- 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/item.d.ts +113 -0
- package/dist/components/ui/item.d.ts.map +1 -0
- package/dist/components/ui/item.js +61 -0
- package/dist/components/ui/kbd.js +1 -1
- package/dist/components/ui/label.d.ts +58 -0
- package/dist/components/ui/label.d.ts.map +1 -0
- package/dist/components/ui/label.js +29 -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/live-region.d.ts +9 -0
- package/dist/components/ui/live-region.d.ts.map +1 -1
- package/dist/components/ui/live-region.js +10 -2
- package/dist/components/ui/mark.js +1 -1
- 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 +206 -0
- package/dist/components/ui/menubar.d.ts.map +1 -0
- package/dist/components/ui/menubar.js +118 -0
- package/dist/components/ui/meter.d.ts +121 -0
- package/dist/components/ui/meter.d.ts.map +1 -0
- package/dist/components/ui/meter.js +82 -0
- 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 +72 -0
- package/dist/components/ui/native-select.d.ts.map +1 -0
- package/dist/components/ui/native-select.js +62 -0
- package/dist/components/ui/navigation-menu.d.ts +193 -0
- package/dist/components/ui/navigation-menu.d.ts.map +1 -0
- package/dist/components/ui/navigation-menu.js +101 -0
- 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 +144 -0
- package/dist/components/ui/number-field.d.ts.map +1 -0
- package/dist/components/ui/number-field.js +114 -0
- package/dist/components/ui/one-time-code.d.ts +127 -0
- package/dist/components/ui/one-time-code.d.ts.map +1 -0
- package/dist/components/ui/one-time-code.js +57 -0
- 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 +24 -2
- 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 +9 -2
- 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/product-mark.d.ts +1 -1
- package/dist/components/ui/product-mark.js +1 -1
- package/dist/components/ui/product-switcher.d.ts +1 -1
- package/dist/components/ui/product-switcher.js +2 -2
- 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 +111 -3
- 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 +31 -2
- package/dist/components/ui/pulse-graph.js +1 -1
- package/dist/components/ui/pulse-series.js +1 -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 +9 -2
- 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 +153 -0
- package/dist/components/ui/resizable.d.ts.map +1 -0
- package/dist/components/ui/resizable.js +297 -0
- package/dist/components/ui/scroll-area.d.ts +97 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.js +68 -0
- package/dist/components/ui/search-dialog.d.ts +174 -0
- package/dist/components/ui/search-dialog.d.ts.map +1 -0
- package/dist/components/ui/search-dialog.js +256 -0
- 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 +134 -1
- package/dist/components/ui/section.d.ts.map +1 -1
- package/dist/components/ui/section.js +141 -4
- package/dist/components/ui/select.d.ts.map +1 -1
- package/dist/components/ui/select.js +10 -2
- 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/separator.js +1 -1
- package/dist/components/ui/sheet.d.ts +103 -0
- package/dist/components/ui/sheet.d.ts.map +1 -0
- package/dist/components/ui/sheet.js +58 -0
- package/dist/components/ui/sidebar.d.ts +257 -0
- package/dist/components/ui/sidebar.d.ts.map +1 -0
- package/dist/components/ui/sidebar.js +205 -0
- package/dist/components/ui/signal-field.d.ts.map +1 -1
- package/dist/components/ui/signal-field.js +2 -2
- package/dist/components/ui/skeleton.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 +33 -2
- 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 +79 -0
- package/dist/components/ui/spinner.d.ts.map +1 -0
- package/dist/components/ui/spinner.js +92 -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 +13 -2
- package/dist/components/ui/table-sort.d.ts +97 -0
- package/dist/components/ui/table-sort.d.ts.map +1 -0
- package/dist/components/ui/table-sort.js +102 -0
- package/dist/components/ui/table.js +1 -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 +24 -5
- 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/textarea.js +1 -1
- package/dist/components/ui/timeline.d.ts +106 -0
- package/dist/components/ui/timeline.d.ts.map +1 -0
- package/dist/components/ui/timeline.js +120 -0
- package/dist/components/ui/toast.d.ts +241 -0
- package/dist/components/ui/toast.d.ts.map +1 -0
- package/dist/components/ui/toast.js +373 -0
- package/dist/components/ui/toggle-group.d.ts +127 -0
- package/dist/components/ui/toggle-group.d.ts.map +1 -0
- package/dist/components/ui/toggle-group.js +208 -0
- package/dist/components/ui/toggle.d.ts +73 -0
- package/dist/components/ui/toggle.d.ts.map +1 -0
- package/dist/components/ui/toggle.js +52 -0
- package/dist/components/ui/tooltip.js +1 -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 +93 -14
- package/dist/components/ui/typography.js +1 -1
- 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-OFL.txt +93 -93
- package/dist/fonts/inter-latin-400-italic.woff2 +0 -0
- package/dist/index.d.ts +184 -70
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +133 -60
- package/dist/lib/rank.d.ts +69 -0
- package/dist/lib/rank.d.ts.map +1 -0
- package/dist/lib/rank.js +77 -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 +29 -0
- package/dist/live/index.d.ts.map +1 -0
- package/dist/live/index.js +29 -0
- package/dist/live/run-stream-01/index.d.ts +3 -0
- package/dist/live/run-stream-01/index.d.ts.map +1 -0
- package/dist/live/run-stream-01/index.js +1 -0
- package/dist/live/run-stream-01/run-stream.d.ts +125 -0
- package/dist/live/run-stream-01/run-stream.d.ts.map +1 -0
- package/dist/live/run-stream-01/run-stream.js +111 -0
- 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/auth-page/index.d.ts +15 -2
- package/dist/pages/auth-page/index.d.ts.map +1 -1
- package/dist/pages/auth-page/index.js +8 -4
- package/dist/pages/blog-post-page/index.js +5 -5
- 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/dashboard-page/index.d.ts +4 -4
- package/dist/pages/dashboard-page/index.js +4 -4
- package/dist/pages/docs-shell/docs-shell.d.ts +45 -4
- package/dist/pages/docs-shell/docs-shell.d.ts.map +1 -1
- package/dist/pages/docs-shell/docs-shell.js +131 -23
- package/dist/pages/docs-shell/index.d.ts +2 -2
- package/dist/pages/docs-shell/index.js +1 -1
- 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 +24 -14
- package/dist/pages/index.d.ts.map +1 -1
- package/dist/pages/index.js +21 -7
- 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/marketing-page/index.d.ts +6 -6
- package/dist/pages/marketing-page/index.js +5 -5
- package/dist/pages/not-found-page/index.js +4 -4
- 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/settings-page/index.d.ts +3 -3
- package/dist/pages/settings-page/index.js +4 -4
- 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/provider/index.d.ts +4 -4
- package/dist/provider/index.js +2 -2
- package/dist/provider/provider.d.ts +1 -1
- package/dist/provider/provider.js +1 -1
- package/dist/provider/theme-script.d.ts +1 -1
- package/dist/provider/theme-script.js +1 -1
- package/dist/styles.css +1669 -32
- package/package.json +17 -3
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* One thing wrong with a step, in the caller's own words.
|
|
4
|
+
*
|
|
5
|
+
* `field` is the `id` of the control the message belongs to and it is what makes a
|
|
6
|
+
* step's refusal actionable in the same way `FormDialog`'s summary is: an entry a
|
|
7
|
+
* reader cannot take to the control is a sentence they have to match by eye against
|
|
8
|
+
* a form they then have to read a second time.
|
|
9
|
+
*/
|
|
10
|
+
export type FormWizardIssue = {
|
|
11
|
+
/** The `id` of the control this message belongs to. */
|
|
12
|
+
field: string;
|
|
13
|
+
/** The message, in the product's own words. */
|
|
14
|
+
message: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* One step of a sequence a reader passes through in order.
|
|
18
|
+
*
|
|
19
|
+
* `id` is required because a step's record is what a caller keys their own per-step
|
|
20
|
+
* state on, and because a sequence whose entries have no identity is a sequence
|
|
21
|
+
* whose saved answers have nowhere to live.
|
|
22
|
+
*/
|
|
23
|
+
export type FormWizardStep = {
|
|
24
|
+
/** A stable key for the step. */
|
|
25
|
+
id: string;
|
|
26
|
+
/**
|
|
27
|
+
* The step's name, in the words a reader would use about it in conversation.
|
|
28
|
+
*
|
|
29
|
+
* A `string` and not a node, and the reason is the rail: the same word is drawn
|
|
30
|
+
* in `Steps` at a width a step gets in a six-step row, and `Steps` states that a
|
|
31
|
+
* label has to survive that width. So one word serves the rail and the heading,
|
|
32
|
+
* which is also the right way round, because a rail saying "Billing details" and a
|
|
33
|
+
* heading saying `<strong>Billing</strong> details` is two names for one step.
|
|
34
|
+
*/
|
|
35
|
+
label: string;
|
|
36
|
+
/** One line under the name saying what this step asks for, in plain words. */
|
|
37
|
+
description?: string;
|
|
38
|
+
/** The step's own controls. */
|
|
39
|
+
children?: ReactNode;
|
|
40
|
+
/**
|
|
41
|
+
* Called when the reader tries to leave this step forwards, given the step's own
|
|
42
|
+
* element.
|
|
43
|
+
*
|
|
44
|
+
* Optional per step rather than a rule on the whole sequence, and the reason is
|
|
45
|
+
* that a step which asks for nothing has nothing to refuse. A checkout's payment
|
|
46
|
+
* step validates and its review step does not, and one `validate` on the Component
|
|
47
|
+
* would have the caller write a branch per step to express what the absence of one
|
|
48
|
+
* already says.
|
|
49
|
+
*
|
|
50
|
+
* Returning issues refuses the move and nothing else. The caller is expected to
|
|
51
|
+
* set the step's own error state from the same source that produced them, because
|
|
52
|
+
* this Component cannot see the caller's controls and cannot mark them invalid.
|
|
53
|
+
*/
|
|
54
|
+
validate?: (form: HTMLFormElement) => readonly FormWizardIssue[];
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* The props a FormWizard accepts.
|
|
58
|
+
*
|
|
59
|
+
* Two halves, and the split is the argument. The *progress rail* is `Steps`, and it
|
|
60
|
+
* is composed rather than redrawn: it is an ordered indicator of position, it
|
|
61
|
+
* derives three marks from one number, and it throws when the marks disagree, which
|
|
62
|
+
* is a stronger guarantee than any arrangement drawn here. The *gate* is this
|
|
63
|
+
* Component's own, and it exists because a rail that shows progress and a sequence
|
|
64
|
+
* that gates it are different jobs, and upstream ships the second as the first with
|
|
65
|
+
* the decision left out.
|
|
66
|
+
*/
|
|
67
|
+
export interface FormWizardProps {
|
|
68
|
+
/**
|
|
69
|
+
* The steps, in order.
|
|
70
|
+
*
|
|
71
|
+
* Required, and the order is the claim: a reader told these are steps is told
|
|
72
|
+
* there is a route through them, so a list passed in an order the process does not
|
|
73
|
+
* have is a wrong diagram rather than a layout problem. The same constraint
|
|
74
|
+
* `Steps` states, for the same reason.
|
|
75
|
+
*/
|
|
76
|
+
steps: readonly FormWizardStep[];
|
|
77
|
+
/**
|
|
78
|
+
* The step the reader is on, counting from zero.
|
|
79
|
+
*
|
|
80
|
+
* Controlled and clamped, and clamped rather than optional for the reason
|
|
81
|
+
* `Steps` gives: a sequence with no position is a list and a list is a different
|
|
82
|
+
* Component. The clamp makes an off-by-one harmless, where the alternative was a
|
|
83
|
+
* throw on a value that is only wrong by one.
|
|
84
|
+
*/
|
|
85
|
+
current: number;
|
|
86
|
+
/**
|
|
87
|
+
* Called when the reader moves, given the step's index and which way they asked.
|
|
88
|
+
*
|
|
89
|
+
* Required, and the second argument is there because forward and back are not the
|
|
90
|
+
* same move and a caller whose rules differ by direction has to be able to tell
|
|
91
|
+
* them apart without reading the index. A refused forward press arrives here as
|
|
92
|
+
* nothing at all, so a caller who wants to know their validation ran hears it from
|
|
93
|
+
* the refusal list rather than from this callback.
|
|
94
|
+
*/
|
|
95
|
+
onStepChange: (index: number, direction: 'forward' | 'back') => void;
|
|
96
|
+
/**
|
|
97
|
+
* The sequence's own rules, given the step the reader is on.
|
|
98
|
+
*
|
|
99
|
+
* Required and separate from each step's own `validate`, because there are two
|
|
100
|
+
* questions and one of them is not about a step. A step's rules ask whether *this*
|
|
101
|
+
* step is complete. This asks whether the sequence as a whole may be submitted,
|
|
102
|
+
* which is a check no individual step can make: a review step has nothing to
|
|
103
|
+
* validate locally and the whole sequence may still be un-submittable because the
|
|
104
|
+
* terms were not accepted three steps ago.
|
|
105
|
+
*/
|
|
106
|
+
validate?: (index: number, form: HTMLFormElement) => readonly FormWizardIssue[];
|
|
107
|
+
/**
|
|
108
|
+
* The label of the control that goes back.
|
|
109
|
+
*
|
|
110
|
+
* Required and never defaulted, and the one label on this Component that is shown
|
|
111
|
+
* at every step: see the JSDoc for why back is the one direction a gate never
|
|
112
|
+
* closes.
|
|
113
|
+
*/
|
|
114
|
+
backLabel: ReactNode;
|
|
115
|
+
/**
|
|
116
|
+
* The label of the control that goes forward, on every step but the last.
|
|
117
|
+
*
|
|
118
|
+
* Required, and separate from the last step's label because "Next" and "Finish"
|
|
119
|
+
* are two different claims about what the press does, and a sequence whose last
|
|
120
|
+
* control says "Next" has not told the reader it is the end.
|
|
121
|
+
*/
|
|
122
|
+
nextLabel: ReactNode;
|
|
123
|
+
/**
|
|
124
|
+
* The label of the control on the last step, which submits rather than advances.
|
|
125
|
+
*
|
|
126
|
+
* Required, and a separate prop rather than a computed one because both labels are
|
|
127
|
+
* a product's two words and this package knows neither of them.
|
|
128
|
+
*/
|
|
129
|
+
finishLabel: ReactNode;
|
|
130
|
+
/**
|
|
131
|
+
* The heading above the refusal.
|
|
132
|
+
*
|
|
133
|
+
* Required, and a heading rather than a sentence because the refusal list is a
|
|
134
|
+
* focus target and a reader who lands on it needs to know what they have landed on
|
|
135
|
+
* before they read the list.
|
|
136
|
+
*/
|
|
137
|
+
blockedLabel: ReactNode;
|
|
138
|
+
/**
|
|
139
|
+
* The accessible name of the progress rail.
|
|
140
|
+
*
|
|
141
|
+
* Required, and the sequence's noun rather than this Component's: a page with a
|
|
142
|
+
* checkout and an onboarding wizard on it has two rails, and a reader moving
|
|
143
|
+
* between them is told nothing about which they are in.
|
|
144
|
+
*/
|
|
145
|
+
progressLabel: string;
|
|
146
|
+
/**
|
|
147
|
+
* The accessible name of one control in the refusal list, given the field the
|
|
148
|
+
* issue belongs to.
|
|
149
|
+
*
|
|
150
|
+
* Required, and a function of the field rather than of the message for the reason
|
|
151
|
+
* every readable string here is one. It is also what lets an entry name the
|
|
152
|
+
* *control* rather than repeat the sentence beside it.
|
|
153
|
+
*/
|
|
154
|
+
issueLabel: (field: string) => string;
|
|
155
|
+
/**
|
|
156
|
+
* The words for this sequence's keyboard model, read once when the reader lands on
|
|
157
|
+
* the step's region.
|
|
158
|
+
*
|
|
159
|
+
* Required, because a gated sequence is a place a reader can get stuck and the one
|
|
160
|
+
* thing they need while stuck is that going back is always allowed. One sentence
|
|
161
|
+
* for the whole sequence, since it is the same sentence at every step.
|
|
162
|
+
*/
|
|
163
|
+
instructionsLabel: string;
|
|
164
|
+
/** The reader's own slot, for anything above or below the step's controls. */
|
|
165
|
+
children?: ReactNode;
|
|
166
|
+
/** Layout only. Changing a Prism-owned visual property from here is prohibited. */
|
|
167
|
+
className?: string;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* A sequence of steps where each one gates the way forward and none of them gates
|
|
171
|
+
* the way back.
|
|
172
|
+
*
|
|
173
|
+
* **This is not `Steps`, and the difference is a check rather than a drawing.**
|
|
174
|
+
* `Steps` is an ordered indicator of where a reader is: it derives three marks from
|
|
175
|
+
* one number, it marks the current step with `aria-current`, and it throws when the
|
|
176
|
+
* marks disagree, which is a stronger guarantee than any arrangement drawn here. It
|
|
177
|
+
* has no opinion at all about whether a reader may move, because showing a reader
|
|
178
|
+
* their position and deciding whether they may leave it are different jobs, and
|
|
179
|
+
* upstream ships the second as the first with the decision left out. A caller who
|
|
180
|
+
* wants a rail composes `Steps`; a caller who reaches for `Tabs` has picked the wrong
|
|
181
|
+
* Component, because a tab list is peer views of one subject and a wizard's steps are
|
|
182
|
+
* a route through it.
|
|
183
|
+
*
|
|
184
|
+
* **Back is always allowed, and that asymmetry is the whole Component.** Forward is
|
|
185
|
+
* gated, and the gate is the point: a wizard exists to stop a reader submitting a
|
|
186
|
+
* sequence with a hole in it, and a step's rules are how it knows there is one. Back
|
|
187
|
+
* is not, for a reason that is about the reader rather than about the data. A gated
|
|
188
|
+
* back control traps a reader in the very step they opened the wizard to escape:
|
|
189
|
+
* they have opened step two, found it asks for something they do not have, and
|
|
190
|
+
* pressing back does nothing either. No arrangement of the data makes that
|
|
191
|
+
* acceptable and the fix is not a better error message, it is that going back is
|
|
192
|
+
* always available. So the back control is drawn, named and operable at every step
|
|
193
|
+
* including the first, where it is inert rather than absent: a control that appears
|
|
194
|
+
* and disappears moves the row a reader is aiming at, and its absence on step one
|
|
195
|
+
* would be a claim that there is nothing before here, which is true and not worth a
|
|
196
|
+
* layout shift to say. On the first step it is `aria-disabled` rather than natively
|
|
197
|
+
* `disabled`, for the reason `LifecycleButton` gives: a natively disabled control
|
|
198
|
+
* leaves the tab order, so a reader tabs onto where it was, presses Enter and nothing
|
|
199
|
+
* happens with no announcement to explain it.
|
|
200
|
+
*
|
|
201
|
+
* **A refused forward move takes focus to the refusal and announces nothing else.**
|
|
202
|
+
* The same reasoning as `FormDialog`, and the two are kept consistent on purpose: a
|
|
203
|
+
* refusal is announced once, by a focus target the reader lands on and can read
|
|
204
|
+
* from, rather than by an alert *and* a focus move, which is one refusal heard twice
|
|
205
|
+
* in two voices. The list is a list of anchors, each carrying the field's own name
|
|
206
|
+
* with the message beneath it. Focus moves once per refusal rather than on every
|
|
207
|
+
* render, so a reader who tabs away and comes back is not dragged onto it again, and
|
|
208
|
+
* the Component holds no live region at all for the same reason: a permanently
|
|
209
|
+
* mounted one would announce the refusal a second time when the move commits.
|
|
210
|
+
*
|
|
211
|
+
* **The gate is the caller's and the drawing is Prism's.** Each step's own
|
|
212
|
+
* `validate` decides whether its step may be left forwards, and this Component
|
|
213
|
+
* refuses the move and draws what came back. It never marks a control invalid and
|
|
214
|
+
* never shows a message under one, because it cannot see the caller's form: the
|
|
215
|
+
* caller's fields are their own `Field`s and their own `Input`s, and reaching into
|
|
216
|
+
* them would be the override path this package refuses everywhere else. The cost is
|
|
217
|
+
* named rather than hidden: a caller has to render each message under its control as
|
|
218
|
+
* well as in the refusal list, and a caller who does only the first has a list a
|
|
219
|
+
* reader can follow and controls that do not say why. That is two renderings of one
|
|
220
|
+
* sentence, and it is the price of the caller owning the form.
|
|
221
|
+
*
|
|
222
|
+
* **Forward is gated twice over and the order matters.** The step's own rules run
|
|
223
|
+
* first, because they are about the reader's answers, and the sequence's own rules
|
|
224
|
+
* second, because they are about the submission. A step that fails its own rules
|
|
225
|
+
* never reaches the sequence's, which is what stops a reader being told their card
|
|
226
|
+
* was declined when the field they left empty was the problem.
|
|
227
|
+
*
|
|
228
|
+
* **The last step's control is a different prop and not a computed label.** `next`
|
|
229
|
+
* and `finish` are two claims about what the press does, and a sequence whose last
|
|
230
|
+
* control says "Next" has not told the reader it is the end, while one that says
|
|
231
|
+
* "Finish" and then opens step four has lied about something a reader will act on.
|
|
232
|
+
* Both are required and neither has a default, because this package does not know
|
|
233
|
+
* whether the product's word is "Continue", "Weiter" or "Siguiente".
|
|
234
|
+
*
|
|
235
|
+
* **`Steps` is composed at the position the rail belongs rather than inside a
|
|
236
|
+
* wrapper.** The reader sees the rail above the step, the step's own controls in the
|
|
237
|
+
* middle and the two directions below, and a wizard whose rail is somewhere else is a
|
|
238
|
+
* wizard whose progress is somewhere else in the reader's eye. The rail reads the
|
|
239
|
+
* same index the navigation moves, so the two cannot disagree about which step is
|
|
240
|
+
* current.
|
|
241
|
+
*
|
|
242
|
+
* **It is a client Component**, because a gate is a decision taken after the reader
|
|
243
|
+
* acts and the decision has to be able to refuse, and because every one of its value
|
|
244
|
+
* props is a function the caller hands it, which is a client-to-client boundary
|
|
245
|
+
* wherever it is written. What that costs is the price of every client control: a
|
|
246
|
+
* server Component may render one step's controls once, and what it may not do is let
|
|
247
|
+
* the reader move between them.
|
|
248
|
+
*/
|
|
249
|
+
declare function FormWizard({ steps, current, onStepChange, validate, backLabel, nextLabel, finishLabel, blockedLabel, progressLabel, issueLabel, instructionsLabel, children, className, }: FormWizardProps): import("react").JSX.Element;
|
|
250
|
+
export { FormWizard };
|
|
251
|
+
//# sourceMappingURL=form-wizard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-wizard.d.ts","sourceRoot":"","sources":["../../../src/components/ui/form-wizard.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAM1E;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAA;IACV;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,SAAS,eAAe,EAAE,CAAA;CACjE,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;OAOG;IACH,KAAK,EAAE,SAAS,cAAc,EAAE,CAAA;IAChC;;;;;;;OAOG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;;;OAQG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,KAAK,IAAI,CAAA;IACpE;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,SAAS,eAAe,EAAE,CAAA;IAC/E;;;;;;OAMG;IACH,SAAS,EAAE,SAAS,CAAA;IACpB;;;;;;OAMG;IACH,SAAS,EAAE,SAAS,CAAA;IACpB;;;;;OAKG;IACH,WAAW,EAAE,SAAS,CAAA;IACtB;;;;;;OAMG;IACH,YAAY,EAAE,SAAS,CAAA;IACvB;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;;;;;;OAOG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACrC;;;;;;;OAOG;IACH,iBAAiB,EAAE,MAAM,CAAA;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,iBAAS,UAAU,CAAC,EAClB,KAAK,EACL,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,SAAS,GACV,EAAE,eAAe,+BA+NjB;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';
|
|
4
|
+
import { useEffect, useId, useRef, useState } from 'react';
|
|
5
|
+
import { Button } from './button.js';
|
|
6
|
+
import { Steps } from './steps.js';
|
|
7
|
+
import { cn } from '../../lib/utils.js';
|
|
8
|
+
/**
|
|
9
|
+
* A sequence of steps where each one gates the way forward and none of them gates
|
|
10
|
+
* the way back.
|
|
11
|
+
*
|
|
12
|
+
* **This is not `Steps`, and the difference is a check rather than a drawing.**
|
|
13
|
+
* `Steps` is an ordered indicator of where a reader is: it derives three marks from
|
|
14
|
+
* one number, it marks the current step with `aria-current`, and it throws when the
|
|
15
|
+
* marks disagree, which is a stronger guarantee than any arrangement drawn here. It
|
|
16
|
+
* has no opinion at all about whether a reader may move, because showing a reader
|
|
17
|
+
* their position and deciding whether they may leave it are different jobs, and
|
|
18
|
+
* upstream ships the second as the first with the decision left out. A caller who
|
|
19
|
+
* wants a rail composes `Steps`; a caller who reaches for `Tabs` has picked the wrong
|
|
20
|
+
* Component, because a tab list is peer views of one subject and a wizard's steps are
|
|
21
|
+
* a route through it.
|
|
22
|
+
*
|
|
23
|
+
* **Back is always allowed, and that asymmetry is the whole Component.** Forward is
|
|
24
|
+
* gated, and the gate is the point: a wizard exists to stop a reader submitting a
|
|
25
|
+
* sequence with a hole in it, and a step's rules are how it knows there is one. Back
|
|
26
|
+
* is not, for a reason that is about the reader rather than about the data. A gated
|
|
27
|
+
* back control traps a reader in the very step they opened the wizard to escape:
|
|
28
|
+
* they have opened step two, found it asks for something they do not have, and
|
|
29
|
+
* pressing back does nothing either. No arrangement of the data makes that
|
|
30
|
+
* acceptable and the fix is not a better error message, it is that going back is
|
|
31
|
+
* always available. So the back control is drawn, named and operable at every step
|
|
32
|
+
* including the first, where it is inert rather than absent: a control that appears
|
|
33
|
+
* and disappears moves the row a reader is aiming at, and its absence on step one
|
|
34
|
+
* would be a claim that there is nothing before here, which is true and not worth a
|
|
35
|
+
* layout shift to say. On the first step it is `aria-disabled` rather than natively
|
|
36
|
+
* `disabled`, for the reason `LifecycleButton` gives: a natively disabled control
|
|
37
|
+
* leaves the tab order, so a reader tabs onto where it was, presses Enter and nothing
|
|
38
|
+
* happens with no announcement to explain it.
|
|
39
|
+
*
|
|
40
|
+
* **A refused forward move takes focus to the refusal and announces nothing else.**
|
|
41
|
+
* The same reasoning as `FormDialog`, and the two are kept consistent on purpose: a
|
|
42
|
+
* refusal is announced once, by a focus target the reader lands on and can read
|
|
43
|
+
* from, rather than by an alert *and* a focus move, which is one refusal heard twice
|
|
44
|
+
* in two voices. The list is a list of anchors, each carrying the field's own name
|
|
45
|
+
* with the message beneath it. Focus moves once per refusal rather than on every
|
|
46
|
+
* render, so a reader who tabs away and comes back is not dragged onto it again, and
|
|
47
|
+
* the Component holds no live region at all for the same reason: a permanently
|
|
48
|
+
* mounted one would announce the refusal a second time when the move commits.
|
|
49
|
+
*
|
|
50
|
+
* **The gate is the caller's and the drawing is Prism's.** Each step's own
|
|
51
|
+
* `validate` decides whether its step may be left forwards, and this Component
|
|
52
|
+
* refuses the move and draws what came back. It never marks a control invalid and
|
|
53
|
+
* never shows a message under one, because it cannot see the caller's form: the
|
|
54
|
+
* caller's fields are their own `Field`s and their own `Input`s, and reaching into
|
|
55
|
+
* them would be the override path this package refuses everywhere else. The cost is
|
|
56
|
+
* named rather than hidden: a caller has to render each message under its control as
|
|
57
|
+
* well as in the refusal list, and a caller who does only the first has a list a
|
|
58
|
+
* reader can follow and controls that do not say why. That is two renderings of one
|
|
59
|
+
* sentence, and it is the price of the caller owning the form.
|
|
60
|
+
*
|
|
61
|
+
* **Forward is gated twice over and the order matters.** The step's own rules run
|
|
62
|
+
* first, because they are about the reader's answers, and the sequence's own rules
|
|
63
|
+
* second, because they are about the submission. A step that fails its own rules
|
|
64
|
+
* never reaches the sequence's, which is what stops a reader being told their card
|
|
65
|
+
* was declined when the field they left empty was the problem.
|
|
66
|
+
*
|
|
67
|
+
* **The last step's control is a different prop and not a computed label.** `next`
|
|
68
|
+
* and `finish` are two claims about what the press does, and a sequence whose last
|
|
69
|
+
* control says "Next" has not told the reader it is the end, while one that says
|
|
70
|
+
* "Finish" and then opens step four has lied about something a reader will act on.
|
|
71
|
+
* Both are required and neither has a default, because this package does not know
|
|
72
|
+
* whether the product's word is "Continue", "Weiter" or "Siguiente".
|
|
73
|
+
*
|
|
74
|
+
* **`Steps` is composed at the position the rail belongs rather than inside a
|
|
75
|
+
* wrapper.** The reader sees the rail above the step, the step's own controls in the
|
|
76
|
+
* middle and the two directions below, and a wizard whose rail is somewhere else is a
|
|
77
|
+
* wizard whose progress is somewhere else in the reader's eye. The rail reads the
|
|
78
|
+
* same index the navigation moves, so the two cannot disagree about which step is
|
|
79
|
+
* current.
|
|
80
|
+
*
|
|
81
|
+
* **It is a client Component**, because a gate is a decision taken after the reader
|
|
82
|
+
* acts and the decision has to be able to refuse, and because every one of its value
|
|
83
|
+
* props is a function the caller hands it, which is a client-to-client boundary
|
|
84
|
+
* wherever it is written. What that costs is the price of every client control: a
|
|
85
|
+
* server Component may render one step's controls once, and what it may not do is let
|
|
86
|
+
* the reader move between them.
|
|
87
|
+
*/
|
|
88
|
+
function FormWizard({ steps, current, onStepChange, validate, backLabel, nextLabel, finishLabel, blockedLabel, progressLabel, issueLabel, instructionsLabel, children, className, }) {
|
|
89
|
+
const generated = useId();
|
|
90
|
+
const instructionsId = `${generated}-instructions`;
|
|
91
|
+
const labelId = `${generated}-label`;
|
|
92
|
+
const blockedId = `${generated}-blocked`;
|
|
93
|
+
const formRef = useRef(null);
|
|
94
|
+
const refusedRef = useRef(null);
|
|
95
|
+
const [refused, setRefused] = useState([]);
|
|
96
|
+
const total = steps.length;
|
|
97
|
+
const at = total === 0 ? 0 : Math.min(Math.max(Math.trunc(current), 0), total - 1);
|
|
98
|
+
const step = steps[at];
|
|
99
|
+
const last = at === total - 1;
|
|
100
|
+
const leave = (direction) => {
|
|
101
|
+
const form = formRef.current;
|
|
102
|
+
if (form === null)
|
|
103
|
+
return;
|
|
104
|
+
if (direction === 'back') {
|
|
105
|
+
// The asymmetry, in one branch. Nothing is checked, nothing is refused, and
|
|
106
|
+
// the callback fires whatever this step's rules would have said, because a
|
|
107
|
+
// reader who has opened the wrong step has to be able to get out of it. The
|
|
108
|
+
// refusal is cleared rather than left standing, because a message about step
|
|
109
|
+
// two shown while the reader reads step one is a message about a form they
|
|
110
|
+
// are no longer in.
|
|
111
|
+
setRefused([]);
|
|
112
|
+
if (at > 0)
|
|
113
|
+
onStepChange(at - 1, 'back');
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
// Forward, gated twice, and the order is the argument. The step's own rules ask
|
|
117
|
+
// whether this step is complete; the sequence's ask whether the whole thing may
|
|
118
|
+
// be submitted. A step that fails its own rules never reaches the sequence's,
|
|
119
|
+
// which is what stops a reader being told their card was declined when the
|
|
120
|
+
// field they left empty was the problem.
|
|
121
|
+
const own = step.validate === undefined ? [] : step.validate(form);
|
|
122
|
+
if (own.length > 0) {
|
|
123
|
+
setRefused(own);
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
const whole = validate === undefined ? [] : validate(at, form);
|
|
127
|
+
if (whole.length > 0) {
|
|
128
|
+
setRefused(whole);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
setRefused([]);
|
|
132
|
+
onStepChange(last ? at : at + 1, 'forward');
|
|
133
|
+
};
|
|
134
|
+
// The focus move, once per refusal. The dependency is the length rather than the
|
|
135
|
+
// array itself, because the caller builds a fresh array on every check and
|
|
136
|
+
// depending on its identity would move the reader's focus on every render.
|
|
137
|
+
useEffect(() => {
|
|
138
|
+
if (refused.length === 0)
|
|
139
|
+
return;
|
|
140
|
+
refusedRef.current?.focus();
|
|
141
|
+
}, [refused.length]);
|
|
142
|
+
return (_jsxs("div", { "data-slot": "form-wizard", className: cn('flex w-full flex-col gap-6', className), children: [_jsx(Steps, { steps: steps, current: at, label: progressLabel }), _jsx("span", { id: instructionsId, "data-slot": "form-wizard-instructions", className: "sr-only", children: instructionsLabel }), _jsxs("form", { ref: formRef, "data-slot": "form-wizard-form", noValidate: true, role: "group", "aria-labelledby": labelId, "aria-describedby": instructionsId, onSubmit: (event) => {
|
|
143
|
+
event.preventDefault();
|
|
144
|
+
leave('forward');
|
|
145
|
+
}, className: "flex flex-col gap-4", children: [_jsxs("div", { "data-slot": "form-wizard-heading", className: "flex flex-col gap-1", children: [_jsx("h2", { id: labelId, "data-slot": "form-wizard-step-label", className: "text-lg font-semibold tracking-tight", children: step.label }), step.description === undefined ? null : (_jsx("p", { "data-slot": "form-wizard-step-description", className: "text-muted-foreground text-sm", children: step.description }))] }), refused.length === 0 ? null : (_jsxs("div", { ref: refusedRef, "data-slot": "form-wizard-refusal", role: "group", "aria-labelledby": blockedId, tabIndex: -1, className: cn('border-destructive/40 bg-destructive/5 text-destructive', 'focus-visible:ring-ring', 'rounded-md border p-3 outline-none', 'focus-visible:ring-[3px]'), children: [_jsx("h3", { id: blockedId, "data-slot": "form-wizard-refusal-label", className: "text-sm font-semibold", children: blockedLabel }), _jsx("ul", { "data-slot": "form-wizard-issues", className: "mt-1 flex list-none flex-col gap-2", children: refused.map((issue) => (_jsxs("li", { "data-slot": "form-wizard-issue", children: [_jsx("a", { href: `#${issue.field}`, "data-slot": "form-wizard-issue-link", className: cn('hover:underline', 'focus-visible:ring-ring', 'rounded-sm text-sm font-medium', 'underline underline-offset-2 outline-none', 'focus-visible:ring-[3px]'), children: issueLabel(issue.field) }), _jsx("p", { "data-slot": "form-wizard-issue-message", className: "text-sm", children: issue.message })] }, `${issue.field}:${issue.message}`))) })] })), _jsx("div", { "data-slot": "form-wizard-step", className: "flex flex-col gap-4", children: step.children }), children, _jsxs("div", { "data-slot": "form-wizard-navigation", className: "flex items-center gap-2", children: [_jsxs(Button, { "data-slot": "form-wizard-back", type: "button", variant: "ghost", "aria-disabled": at === 0 || undefined, onClick: () => {
|
|
146
|
+
if (at === 0)
|
|
147
|
+
return;
|
|
148
|
+
leave('back');
|
|
149
|
+
}, children: [_jsx(ChevronLeftIcon, { "aria-hidden": "true" }), backLabel] }), _jsxs(Button, { "data-slot": "form-wizard-forward", type: "submit", variant: "default", className: "ms-auto", children: [last ? finishLabel : nextLabel, last ? null : _jsx(ChevronRightIcon, { "aria-hidden": "true" })] })] })] })] }));
|
|
150
|
+
}
|
|
151
|
+
export { FormWizard };
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import type { ComponentProps } from 'react';
|
|
2
|
+
/** The props the Form accepts. */
|
|
3
|
+
export interface FormProps extends Omit<ComponentProps<'form'>, 'onSubmit'> {
|
|
4
|
+
/**
|
|
5
|
+
* The errors the server returned, keyed by field name.
|
|
6
|
+
*
|
|
7
|
+
* This is the whole point of the binding. A submission fails and comes back with
|
|
8
|
+
* a record of what was wrong with it, and a form that cannot take that record has
|
|
9
|
+
* to either drop it or turn it into a banner above the form that the reader has to
|
|
10
|
+
* match to a field themselves. Passed here, each `FormField` named after the key
|
|
11
|
+
* renders it under the control that caused it, and the control is marked invalid.
|
|
12
|
+
* Pass an empty record to clear them: the errors are cleared as data, not by
|
|
13
|
+
* reloading the page. A key with no error is an absent key rather than a key
|
|
14
|
+
* holding nothing, because a record that says "this field is wrong" and does not
|
|
15
|
+
* say how is not one this can draw.
|
|
16
|
+
*/
|
|
17
|
+
errors?: Record<string, string | string[]>;
|
|
18
|
+
/**
|
|
19
|
+
* Called with the field values when the form submits.
|
|
20
|
+
*
|
|
21
|
+
* The native submit event is prevented, so this is where a server action goes.
|
|
22
|
+
* Nothing is submitted to the browser and no navigation happens unless the caller
|
|
23
|
+
* does it.
|
|
24
|
+
*/
|
|
25
|
+
onSubmit?: (values: Record<string, unknown>) => void;
|
|
26
|
+
/**
|
|
27
|
+
* Whether the browser's own validation bubbles are off. @defaultValue true
|
|
28
|
+
*
|
|
29
|
+
* On by default, because the binding reports validity on the field and a form
|
|
30
|
+
* that shows the browser's bubble and a styled message is two reports of one
|
|
31
|
+
* problem, in two places, in two voices.
|
|
32
|
+
*/
|
|
33
|
+
noValidate?: boolean;
|
|
34
|
+
}
|
|
35
|
+
/** The props the Form field accepts. */
|
|
36
|
+
export interface FormFieldProps extends ComponentProps<'div'> {
|
|
37
|
+
/**
|
|
38
|
+
* The name of the field, and the key its error arrives under.
|
|
39
|
+
*
|
|
40
|
+
* Required, and it is the join between the control's `name`, the key in the
|
|
41
|
+
* server's `errors` and the field the error is drawn under. A field that is not
|
|
42
|
+
* named cannot receive an error, so this is the one prop that makes the rest of
|
|
43
|
+
* the binding work.
|
|
44
|
+
*/
|
|
45
|
+
name: string;
|
|
46
|
+
/**
|
|
47
|
+
* The rule the field is checked against, returning the message to show.
|
|
48
|
+
*
|
|
49
|
+
* The message is the caller's, because it is a sentence about their product's
|
|
50
|
+
* rules. Returning nothing means the value is valid.
|
|
51
|
+
*/
|
|
52
|
+
validate?: (value: unknown) => string | string[] | null | void;
|
|
53
|
+
/** Whether the field is invalid, for a value a library of the caller's owns. */
|
|
54
|
+
invalid?: boolean;
|
|
55
|
+
/** Whether the field ignores interaction. */
|
|
56
|
+
disabled?: boolean;
|
|
57
|
+
}
|
|
58
|
+
/** The props the Form label accepts. */
|
|
59
|
+
export interface FormLabelProps extends ComponentProps<'label'> {
|
|
60
|
+
}
|
|
61
|
+
/** The props the Form description accepts. */
|
|
62
|
+
export interface FormDescriptionProps extends ComponentProps<'p'> {
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The props the Form control accepts.
|
|
66
|
+
*
|
|
67
|
+
* Declared here rather than as `ComponentProps<typeof FieldPrimitive.Control>`,
|
|
68
|
+
* for the same reason `Progress` declares its own props rather than re-exporting
|
|
69
|
+
* Base UI's (ticket 07 section 6): an upstream type in the signature reaches the
|
|
70
|
+
* emitted declaration, and the surface gate fails a declaration file that names
|
|
71
|
+
* an upstream module. A consumer would then need Base UI resolvable to typecheck a
|
|
72
|
+
* Prism import, which is the seam the rule exists to keep closed.
|
|
73
|
+
*
|
|
74
|
+
* It is `ComponentProps<'input'>` because that is the element the control renders
|
|
75
|
+
* by default, and naming the element is more honest than naming a `div` and being
|
|
76
|
+
* wrong about every attribute. A caller who swaps the element for a select or a
|
|
77
|
+
* textarea passes that element's own attributes and the runtime does the rest; the
|
|
78
|
+
* type here is the default case, not a limit on what may be rendered.
|
|
79
|
+
*/
|
|
80
|
+
export interface FormControlProps extends ComponentProps<'input'> {
|
|
81
|
+
}
|
|
82
|
+
/** The props the Form error accepts. */
|
|
83
|
+
export interface FormErrorProps extends ComponentProps<'div'> {
|
|
84
|
+
/**
|
|
85
|
+
* What the reader can do about the error, drawn after the message.
|
|
86
|
+
*
|
|
87
|
+
* The message and the way out are one unit. "That address is already registered"
|
|
88
|
+
* with nothing after it is a dead end, and the reader is left to guess whether
|
|
89
|
+
* they should sign in instead, change the address or ask somebody. So this
|
|
90
|
+
* Component renders both in the same live region: the recovery is announced with
|
|
91
|
+
* the problem rather than being something the reader has to find.
|
|
92
|
+
*/
|
|
93
|
+
action?: React.ReactNode;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The form binding: a form, its fields, and the errors that came back from it.
|
|
97
|
+
*
|
|
98
|
+
* **`Field` is the layout; this is the wiring.** `Field` is presentational and says
|
|
99
|
+
* so: nothing in it generates an `id`, so the consumer owns the control's id and
|
|
100
|
+
* wires it to the label's `htmlFor` and to the description or error's `id` through
|
|
101
|
+
* `aria-describedby`. That is the right default for a layout, and it is a lot of
|
|
102
|
+
* hand-written ids in a form with eleven fields, none of which a reader can see
|
|
103
|
+
* and all of which a screen reader depends on. This module is the part that
|
|
104
|
+
* generates them: `FormField` owns the name, `FormControl` registers itself with
|
|
105
|
+
* the field, and `FormLabel` and `FormDescription` find the control and point at
|
|
106
|
+
* it. Nothing here changes how `Field` looks.
|
|
107
|
+
*
|
|
108
|
+
* **A server error arrives as data and lands under the control that caused it.**
|
|
109
|
+
* `errors` is a record keyed by field name and `FormField` is keyed by the same
|
|
110
|
+
* name, so the message a submission came back with is drawn under the control the
|
|
111
|
+
* reader has to fix, the control is marked invalid, and the message is added to the
|
|
112
|
+
* control's description so it is read out when the reader reaches the field. The
|
|
113
|
+
* errors clear when the record clears: a field that fixed itself still shows the
|
|
114
|
+
* server's complaint until the caller stops passing it, which is exactly as
|
|
115
|
+
* honest as it sounds.
|
|
116
|
+
*
|
|
117
|
+
* **The error and the way out are rendered together, in one live region.** The
|
|
118
|
+
* recovery is the half of an error that is usually missing. A `FormError` renders
|
|
119
|
+
* the message and then the caller's `action`, and the region is in the document
|
|
120
|
+
* before either of them is, because a live region inserted at the same moment as
|
|
121
|
+
* its content is not announced by every screen reader. The region is therefore
|
|
122
|
+
* present and empty while the field is valid, which is the cost of the reliable
|
|
123
|
+
* half.
|
|
124
|
+
*
|
|
125
|
+
* **Use a `FormControl` inside a `FormField`.** The control is the part that
|
|
126
|
+
* registers itself, which is what makes the label's `for` resolve and what puts the
|
|
127
|
+
* description and the error into the control's accessible description. A plain
|
|
128
|
+
* `Input` renders and submits perfectly well inside a `FormField` and is not
|
|
129
|
+
* registered, so its label points at an id that is on nothing and its error is
|
|
130
|
+
* never announced with it. That is the one rule this module asks for, and it is
|
|
131
|
+
* the rule `Field` deliberately leaves to the caller.
|
|
132
|
+
*/
|
|
133
|
+
declare function Form({ errors, onSubmit, noValidate, className, ...props }: FormProps): import("react").JSX.Element;
|
|
134
|
+
/** One field's name, its rule and the control that answers to it. */
|
|
135
|
+
declare function FormField({ name, validate, invalid, disabled, className, ...props }: FormFieldProps): import("react").JSX.Element;
|
|
136
|
+
/** The control's accessible name, associated with it rather than placed near it. */
|
|
137
|
+
declare function FormLabel({ className, ...props }: FormLabelProps): import("react").JSX.Element;
|
|
138
|
+
/** The control itself, registered with the field so the label and errors find it. */
|
|
139
|
+
declare function FormControl({ className, ...props }: FormControlProps): import("react").JSX.Element;
|
|
140
|
+
/** A short helper line under the control, announced with the control itself. */
|
|
141
|
+
declare function FormDescription({ className, ...props }: FormDescriptionProps): import("react").JSX.Element;
|
|
142
|
+
/**
|
|
143
|
+
* The field's error and what to do about it, in one announced region.
|
|
144
|
+
*
|
|
145
|
+
* The region is always in the document and the message is not, because a live
|
|
146
|
+
* region that arrives with its content is missed by some screen readers. It is
|
|
147
|
+
* empty while the field is valid.
|
|
148
|
+
*/
|
|
149
|
+
declare function FormError({ className, action, ...props }: FormErrorProps): import("react").JSX.Element;
|
|
150
|
+
export { Form, FormControl, FormDescription, FormError, FormField, FormLabel };
|
|
151
|
+
//# sourceMappingURL=form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/components/ui/form.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAI3C,kCAAkC;AAClC,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IACzE;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IACpD;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,KAAK,CAAC;IAC3D;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;IAC9D,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,OAAO,CAAC;CAAG;AAElE,8CAA8C;AAC9C,MAAM,WAAW,oBAAqB,SAAQ,cAAc,CAAC,GAAG,CAAC;CAAG;AAEpE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAiB,SAAQ,cAAc,CAAC,OAAO,CAAC;CAAG;AAEpE,wCAAwC;AACxC,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,KAAK,CAAC;IAC3D;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,iBAAS,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAiB,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAUpF;AAED,qEAAqE;AACrE,iBAAS,SAAS,CAAC,EACjB,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,+BAYhB;AAED,oFAAoF;AACpF,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAQzD;AAED,qFAAqF;AACrF,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BAc7D;AAED,gFAAgF;AAChF,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,+BAQrE;AAED;;;;;;GAMG;AACH,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAyBjE;AAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAA"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Field as FieldPrimitive } from '@base-ui/react/field';
|
|
4
|
+
import { Form as FormPrimitive } from '@base-ui/react/form';
|
|
5
|
+
import { cn } from '../../lib/utils.js';
|
|
6
|
+
/**
|
|
7
|
+
* The form binding: a form, its fields, and the errors that came back from it.
|
|
8
|
+
*
|
|
9
|
+
* **`Field` is the layout; this is the wiring.** `Field` is presentational and says
|
|
10
|
+
* so: nothing in it generates an `id`, so the consumer owns the control's id and
|
|
11
|
+
* wires it to the label's `htmlFor` and to the description or error's `id` through
|
|
12
|
+
* `aria-describedby`. That is the right default for a layout, and it is a lot of
|
|
13
|
+
* hand-written ids in a form with eleven fields, none of which a reader can see
|
|
14
|
+
* and all of which a screen reader depends on. This module is the part that
|
|
15
|
+
* generates them: `FormField` owns the name, `FormControl` registers itself with
|
|
16
|
+
* the field, and `FormLabel` and `FormDescription` find the control and point at
|
|
17
|
+
* it. Nothing here changes how `Field` looks.
|
|
18
|
+
*
|
|
19
|
+
* **A server error arrives as data and lands under the control that caused it.**
|
|
20
|
+
* `errors` is a record keyed by field name and `FormField` is keyed by the same
|
|
21
|
+
* name, so the message a submission came back with is drawn under the control the
|
|
22
|
+
* reader has to fix, the control is marked invalid, and the message is added to the
|
|
23
|
+
* control's description so it is read out when the reader reaches the field. The
|
|
24
|
+
* errors clear when the record clears: a field that fixed itself still shows the
|
|
25
|
+
* server's complaint until the caller stops passing it, which is exactly as
|
|
26
|
+
* honest as it sounds.
|
|
27
|
+
*
|
|
28
|
+
* **The error and the way out are rendered together, in one live region.** The
|
|
29
|
+
* recovery is the half of an error that is usually missing. A `FormError` renders
|
|
30
|
+
* the message and then the caller's `action`, and the region is in the document
|
|
31
|
+
* before either of them is, because a live region inserted at the same moment as
|
|
32
|
+
* its content is not announced by every screen reader. The region is therefore
|
|
33
|
+
* present and empty while the field is valid, which is the cost of the reliable
|
|
34
|
+
* half.
|
|
35
|
+
*
|
|
36
|
+
* **Use a `FormControl` inside a `FormField`.** The control is the part that
|
|
37
|
+
* registers itself, which is what makes the label's `for` resolve and what puts the
|
|
38
|
+
* description and the error into the control's accessible description. A plain
|
|
39
|
+
* `Input` renders and submits perfectly well inside a `FormField` and is not
|
|
40
|
+
* registered, so its label points at an id that is on nothing and its error is
|
|
41
|
+
* never announced with it. That is the one rule this module asks for, and it is
|
|
42
|
+
* the rule `Field` deliberately leaves to the caller.
|
|
43
|
+
*/
|
|
44
|
+
function Form({ errors, onSubmit, noValidate = true, className, ...props }) {
|
|
45
|
+
return (_jsx(FormPrimitive, { className: cn('flex w-full flex-col gap-6', className), noValidate: noValidate, ...(errors === undefined ? null : { errors }), onFormSubmit: (values) => onSubmit?.(values), ...props }));
|
|
46
|
+
}
|
|
47
|
+
/** One field's name, its rule and the control that answers to it. */
|
|
48
|
+
function FormField({ name, validate, invalid, disabled, className, ...props }) {
|
|
49
|
+
return (_jsx(FieldPrimitive.Root, { "data-slot": "form-field", name: name, className: cn('flex w-full flex-col gap-1.5', className), ...(validate === undefined ? null : { validate }), ...(invalid === undefined ? null : { invalid }), ...(disabled === undefined ? null : { disabled }), ...props }));
|
|
50
|
+
}
|
|
51
|
+
/** The control's accessible name, associated with it rather than placed near it. */
|
|
52
|
+
function FormLabel({ className, ...props }) {
|
|
53
|
+
return (_jsx(FieldPrimitive.Label, { "data-slot": "form-label", className: cn('text-foreground text-sm leading-none font-medium', className), ...props }));
|
|
54
|
+
}
|
|
55
|
+
/** The control itself, registered with the field so the label and errors find it. */
|
|
56
|
+
function FormControl({ className, ...props }) {
|
|
57
|
+
return (_jsx(FieldPrimitive.Control, { "data-slot": "form-control", className: cn('border-input bg-background text-foreground placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base shadow-xs transition-[color,box-shadow] duration-fast ease-out outline-none md:text-sm', 'focus-visible:border-ring focus-visible:ring-ring focus-visible:ring-[3px]', 'aria-invalid:border-destructive aria-invalid:ring-destructive/20', 'disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50', className), ...props }));
|
|
58
|
+
}
|
|
59
|
+
/** A short helper line under the control, announced with the control itself. */
|
|
60
|
+
function FormDescription({ className, ...props }) {
|
|
61
|
+
return (_jsx(FieldPrimitive.Description, { "data-slot": "form-description", className: cn('text-muted-foreground text-sm', className), ...props }));
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The field's error and what to do about it, in one announced region.
|
|
65
|
+
*
|
|
66
|
+
* The region is always in the document and the message is not, because a live
|
|
67
|
+
* region that arrives with its content is missed by some screen readers. It is
|
|
68
|
+
* empty while the field is valid.
|
|
69
|
+
*/
|
|
70
|
+
function FormError({ className, action, ...props }) {
|
|
71
|
+
return (_jsxs("div", { "data-slot": "form-error", role: "alert", className: cn('flex flex-col items-start gap-1', className), ...props, children: [_jsx(FieldPrimitive.Error, { "data-slot": "form-error-message", className: "text-destructive text-sm font-medium" }), action === undefined ? null : (_jsx(FieldPrimitive.Validity, { children: (state) => (state.validity.valid === false ? action : null) }))] }));
|
|
72
|
+
}
|
|
73
|
+
export { Form, FormControl, FormDescription, FormError, FormField, FormLabel };
|