@nanisoft/prism-ui 0.13.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD-PARTY-NOTICES.md +22 -7
- package/dist/.tsbuildinfo +1 -1
- package/dist/blocks/about-01/about.d.ts +296 -0
- package/dist/blocks/about-01/about.d.ts.map +1 -0
- package/dist/blocks/about-01/about.js +103 -0
- package/dist/blocks/about-01/index.d.ts +3 -0
- package/dist/blocks/about-01/index.d.ts.map +1 -0
- package/dist/blocks/about-01/index.js +1 -0
- package/dist/blocks/accept-invite-01/accept-invite.d.ts +324 -0
- package/dist/blocks/accept-invite-01/accept-invite.d.ts.map +1 -0
- package/dist/blocks/accept-invite-01/accept-invite.js +230 -0
- package/dist/blocks/accept-invite-01/index.d.ts +3 -0
- package/dist/blocks/accept-invite-01/index.d.ts.map +1 -0
- package/dist/blocks/accept-invite-01/index.js +1 -0
- package/dist/blocks/account-01/account-01.d.ts +393 -0
- package/dist/blocks/account-01/account-01.d.ts.map +1 -0
- package/dist/blocks/account-01/account-01.js +215 -0
- package/dist/blocks/account-01/index.d.ts +3 -0
- package/dist/blocks/account-01/index.d.ts.map +1 -0
- package/dist/blocks/account-01/index.js +1 -0
- package/dist/blocks/activity-feed-01/activity-feed-01.d.ts +271 -0
- package/dist/blocks/activity-feed-01/activity-feed-01.d.ts.map +1 -0
- package/dist/blocks/activity-feed-01/activity-feed-01.js +185 -0
- package/dist/blocks/activity-feed-01/index.d.ts +3 -0
- package/dist/blocks/activity-feed-01/index.d.ts.map +1 -0
- package/dist/blocks/activity-feed-01/index.js +1 -0
- package/dist/blocks/address-book-01/address-book-01.d.ts +312 -0
- package/dist/blocks/address-book-01/address-book-01.d.ts.map +1 -0
- package/dist/blocks/address-book-01/address-book-01.js +233 -0
- package/dist/blocks/address-book-01/index.d.ts +3 -0
- package/dist/blocks/address-book-01/index.d.ts.map +1 -0
- package/dist/blocks/address-book-01/index.js +1 -0
- package/dist/blocks/audit-log-01/audit-log-01.d.ts +333 -0
- package/dist/blocks/audit-log-01/audit-log-01.d.ts.map +1 -0
- package/dist/blocks/audit-log-01/audit-log-01.js +211 -0
- package/dist/blocks/audit-log-01/index.d.ts +3 -0
- package/dist/blocks/audit-log-01/index.d.ts.map +1 -0
- package/dist/blocks/audit-log-01/index.js +1 -0
- package/dist/blocks/auth-form-01/auth-form.d.ts +40 -1
- package/dist/blocks/auth-form-01/auth-form.d.ts.map +1 -1
- package/dist/blocks/auth-form-01/auth-form.js +26 -3
- package/dist/blocks/awards-01/awards.d.ts +156 -0
- package/dist/blocks/awards-01/awards.d.ts.map +1 -0
- package/dist/blocks/awards-01/awards.js +102 -0
- package/dist/blocks/awards-01/index.d.ts +3 -0
- package/dist/blocks/awards-01/index.d.ts.map +1 -0
- package/dist/blocks/awards-01/index.js +1 -0
- package/dist/blocks/backdrop-01/backdrop.d.ts +268 -0
- package/dist/blocks/backdrop-01/backdrop.d.ts.map +1 -0
- package/dist/blocks/backdrop-01/backdrop.js +170 -0
- package/dist/blocks/backdrop-01/index.d.ts +3 -0
- package/dist/blocks/backdrop-01/index.d.ts.map +1 -0
- package/dist/blocks/backdrop-01/index.js +1 -0
- package/dist/blocks/bento-01/bento-01.d.ts +136 -0
- package/dist/blocks/bento-01/bento-01.d.ts.map +1 -0
- package/dist/blocks/bento-01/bento-01.js +97 -0
- package/dist/blocks/bento-01/index.d.ts +3 -0
- package/dist/blocks/bento-01/index.d.ts.map +1 -0
- package/dist/blocks/bento-01/index.js +1 -0
- package/dist/blocks/billing-source-01/billing-source-01.d.ts +379 -0
- package/dist/blocks/billing-source-01/billing-source-01.d.ts.map +1 -0
- package/dist/blocks/billing-source-01/billing-source-01.js +222 -0
- package/dist/blocks/billing-source-01/index.d.ts +3 -0
- package/dist/blocks/billing-source-01/index.d.ts.map +1 -0
- package/dist/blocks/billing-source-01/index.js +1 -0
- package/dist/blocks/bundle-01/bundle.d.ts +387 -0
- package/dist/blocks/bundle-01/bundle.d.ts.map +1 -0
- package/dist/blocks/bundle-01/bundle.js +153 -0
- package/dist/blocks/bundle-01/index.d.ts +3 -0
- package/dist/blocks/bundle-01/index.d.ts.map +1 -0
- package/dist/blocks/bundle-01/index.js +1 -0
- package/dist/blocks/calendar-01/calendar.d.ts +251 -0
- package/dist/blocks/calendar-01/calendar.d.ts.map +1 -0
- package/dist/blocks/calendar-01/calendar.js +191 -0
- package/dist/blocks/calendar-01/index.d.ts +3 -0
- package/dist/blocks/calendar-01/index.d.ts.map +1 -0
- package/dist/blocks/calendar-01/index.js +1 -0
- package/dist/blocks/capacity-01/capacity.d.ts +363 -0
- package/dist/blocks/capacity-01/capacity.d.ts.map +1 -0
- package/dist/blocks/capacity-01/capacity.js +208 -0
- package/dist/blocks/capacity-01/index.d.ts +3 -0
- package/dist/blocks/capacity-01/index.d.ts.map +1 -0
- package/dist/blocks/capacity-01/index.js +1 -0
- package/dist/blocks/careers-01/careers.d.ts +186 -0
- package/dist/blocks/careers-01/careers.d.ts.map +1 -0
- package/dist/blocks/careers-01/careers.js +83 -0
- package/dist/blocks/careers-01/index.d.ts +3 -0
- package/dist/blocks/careers-01/index.d.ts.map +1 -0
- package/dist/blocks/careers-01/index.js +1 -0
- package/dist/blocks/case-studies-01/case-studies.d.ts +192 -0
- package/dist/blocks/case-studies-01/case-studies.d.ts.map +1 -0
- package/dist/blocks/case-studies-01/case-studies.js +97 -0
- package/dist/blocks/case-studies-01/index.d.ts +3 -0
- package/dist/blocks/case-studies-01/index.d.ts.map +1 -0
- package/dist/blocks/case-studies-01/index.js +1 -0
- package/dist/blocks/case-study-01/case-study.d.ts +214 -0
- package/dist/blocks/case-study-01/case-study.d.ts.map +1 -0
- package/dist/blocks/case-study-01/case-study.js +79 -0
- package/dist/blocks/case-study-01/index.d.ts +3 -0
- package/dist/blocks/case-study-01/index.d.ts.map +1 -0
- package/dist/blocks/case-study-01/index.js +1 -0
- package/dist/blocks/changelog-01/changelog.d.ts +200 -0
- package/dist/blocks/changelog-01/changelog.d.ts.map +1 -0
- package/dist/blocks/changelog-01/changelog.js +155 -0
- package/dist/blocks/changelog-01/index.d.ts +3 -0
- package/dist/blocks/changelog-01/index.d.ts.map +1 -0
- package/dist/blocks/changelog-01/index.js +1 -0
- package/dist/blocks/chart-card-01/chart-card-01.d.ts +149 -0
- package/dist/blocks/chart-card-01/chart-card-01.d.ts.map +1 -0
- package/dist/blocks/chart-card-01/chart-card-01.js +81 -0
- package/dist/blocks/chart-card-01/index.d.ts +3 -0
- package/dist/blocks/chart-card-01/index.d.ts.map +1 -0
- package/dist/blocks/chart-card-01/index.js +1 -0
- package/dist/blocks/chart-group-01/chart-group-01.d.ts +138 -0
- package/dist/blocks/chart-group-01/chart-group-01.d.ts.map +1 -0
- package/dist/blocks/chart-group-01/chart-group-01.js +74 -0
- package/dist/blocks/chart-group-01/index.d.ts +3 -0
- package/dist/blocks/chart-group-01/index.d.ts.map +1 -0
- package/dist/blocks/chart-group-01/index.js +1 -0
- package/dist/blocks/code-sample-01/code-sample.d.ts +193 -0
- package/dist/blocks/code-sample-01/code-sample.d.ts.map +1 -0
- package/dist/blocks/code-sample-01/code-sample.js +104 -0
- package/dist/blocks/code-sample-01/index.d.ts +3 -0
- package/dist/blocks/code-sample-01/index.d.ts.map +1 -0
- package/dist/blocks/code-sample-01/index.js +1 -0
- package/dist/blocks/community-01/community.d.ts +183 -0
- package/dist/blocks/community-01/community.d.ts.map +1 -0
- package/dist/blocks/community-01/community.js +102 -0
- package/dist/blocks/community-01/index.d.ts +3 -0
- package/dist/blocks/community-01/index.d.ts.map +1 -0
- package/dist/blocks/community-01/index.js +1 -0
- package/dist/blocks/compare-01/compare.d.ts +184 -0
- package/dist/blocks/compare-01/compare.d.ts.map +1 -0
- package/dist/blocks/compare-01/compare.js +106 -0
- package/dist/blocks/compare-01/index.d.ts +3 -0
- package/dist/blocks/compare-01/index.d.ts.map +1 -0
- package/dist/blocks/compare-01/index.js +1 -0
- package/dist/blocks/compliance-01/compliance.d.ts +249 -0
- package/dist/blocks/compliance-01/compliance.d.ts.map +1 -0
- package/dist/blocks/compliance-01/compliance.js +130 -0
- package/dist/blocks/compliance-01/index.d.ts +3 -0
- package/dist/blocks/compliance-01/index.d.ts.map +1 -0
- package/dist/blocks/compliance-01/index.js +1 -0
- package/dist/blocks/consent-01/consent.d.ts +211 -0
- package/dist/blocks/consent-01/consent.d.ts.map +1 -0
- package/dist/blocks/consent-01/consent.js +101 -0
- package/dist/blocks/consent-01/index.d.ts +3 -0
- package/dist/blocks/consent-01/index.d.ts.map +1 -0
- package/dist/blocks/consent-01/index.js +1 -0
- package/dist/blocks/contact-01/contact.d.ts +319 -0
- package/dist/blocks/contact-01/contact.d.ts.map +1 -0
- package/dist/blocks/contact-01/contact.js +211 -0
- package/dist/blocks/contact-01/index.d.ts +3 -0
- package/dist/blocks/contact-01/index.d.ts.map +1 -0
- package/dist/blocks/contact-01/index.js +1 -0
- package/dist/blocks/content-grid-01/content-grid.d.ts +262 -0
- package/dist/blocks/content-grid-01/content-grid.d.ts.map +1 -0
- package/dist/blocks/content-grid-01/content-grid.js +155 -0
- package/dist/blocks/content-grid-01/index.d.ts +3 -0
- package/dist/blocks/content-grid-01/index.d.ts.map +1 -0
- package/dist/blocks/content-grid-01/index.js +1 -0
- package/dist/blocks/cta-01/cta.d.ts +7 -1
- package/dist/blocks/cta-01/cta.d.ts.map +1 -1
- package/dist/blocks/cta-01/cta.js +11 -2
- package/dist/blocks/dashboard-01/dashboard-01.d.ts +247 -0
- package/dist/blocks/dashboard-01/dashboard-01.d.ts.map +1 -0
- package/dist/blocks/dashboard-01/dashboard-01.js +141 -0
- package/dist/blocks/dashboard-01/index.d.ts +3 -0
- package/dist/blocks/dashboard-01/index.d.ts.map +1 -0
- package/dist/blocks/dashboard-01/index.js +1 -0
- package/dist/blocks/data-table-01/data-table.d.ts +22 -1
- package/dist/blocks/data-table-01/data-table.d.ts.map +1 -1
- package/dist/blocks/data-table-01/data-table.js +9 -5
- package/dist/blocks/delivery-01/delivery.d.ts +343 -0
- package/dist/blocks/delivery-01/delivery.d.ts.map +1 -0
- package/dist/blocks/delivery-01/delivery.js +212 -0
- package/dist/blocks/delivery-01/index.d.ts +3 -0
- package/dist/blocks/delivery-01/index.d.ts.map +1 -0
- package/dist/blocks/delivery-01/index.js +1 -0
- package/dist/blocks/directory-01/directory-01.d.ts +316 -0
- package/dist/blocks/directory-01/directory-01.d.ts.map +1 -0
- package/dist/blocks/directory-01/directory-01.js +252 -0
- package/dist/blocks/directory-01/index.d.ts +3 -0
- package/dist/blocks/directory-01/index.d.ts.map +1 -0
- package/dist/blocks/directory-01/index.js +1 -0
- package/dist/blocks/download-01/download.d.ts +261 -0
- package/dist/blocks/download-01/download.d.ts.map +1 -0
- package/dist/blocks/download-01/download.js +115 -0
- package/dist/blocks/download-01/index.d.ts +3 -0
- package/dist/blocks/download-01/index.d.ts.map +1 -0
- package/dist/blocks/download-01/index.js +1 -0
- package/dist/blocks/faq-01/faq.d.ts +128 -0
- package/dist/blocks/faq-01/faq.d.ts.map +1 -0
- package/dist/blocks/faq-01/faq.js +53 -0
- package/dist/blocks/faq-01/index.d.ts +3 -0
- package/dist/blocks/faq-01/index.d.ts.map +1 -0
- package/dist/blocks/faq-01/index.js +1 -0
- package/dist/blocks/feature-rows-01/feature-rows-01.d.ts +158 -0
- package/dist/blocks/feature-rows-01/feature-rows-01.d.ts.map +1 -0
- package/dist/blocks/feature-rows-01/feature-rows-01.js +81 -0
- package/dist/blocks/feature-rows-01/index.d.ts +3 -0
- package/dist/blocks/feature-rows-01/index.d.ts.map +1 -0
- package/dist/blocks/feature-rows-01/index.js +1 -0
- package/dist/blocks/feedback-01/feedback.d.ts +235 -0
- package/dist/blocks/feedback-01/feedback.d.ts.map +1 -0
- package/dist/blocks/feedback-01/feedback.js +113 -0
- package/dist/blocks/feedback-01/index.d.ts +3 -0
- package/dist/blocks/feedback-01/index.d.ts.map +1 -0
- package/dist/blocks/feedback-01/index.js +1 -0
- package/dist/blocks/field-map-01/field-map.d.ts +247 -0
- package/dist/blocks/field-map-01/field-map.d.ts.map +1 -0
- package/dist/blocks/field-map-01/field-map.js +183 -0
- package/dist/blocks/field-map-01/index.d.ts +3 -0
- package/dist/blocks/field-map-01/index.d.ts.map +1 -0
- package/dist/blocks/field-map-01/index.js +1 -0
- package/dist/blocks/forgot-password-01/forgot-password.d.ts +288 -0
- package/dist/blocks/forgot-password-01/forgot-password.d.ts.map +1 -0
- package/dist/blocks/forgot-password-01/forgot-password.js +190 -0
- package/dist/blocks/forgot-password-01/index.d.ts +3 -0
- package/dist/blocks/forgot-password-01/index.d.ts.map +1 -0
- package/dist/blocks/forgot-password-01/index.js +1 -0
- package/dist/blocks/gallery-01/gallery.d.ts +208 -0
- package/dist/blocks/gallery-01/gallery.d.ts.map +1 -0
- package/dist/blocks/gallery-01/gallery.js +174 -0
- package/dist/blocks/gallery-01/index.d.ts +3 -0
- package/dist/blocks/gallery-01/index.d.ts.map +1 -0
- package/dist/blocks/gallery-01/index.js +1 -0
- package/dist/blocks/gantt-01/gantt.d.ts +290 -0
- package/dist/blocks/gantt-01/gantt.d.ts.map +1 -0
- package/dist/blocks/gantt-01/gantt.js +224 -0
- package/dist/blocks/gantt-01/index.d.ts +3 -0
- package/dist/blocks/gantt-01/index.d.ts.map +1 -0
- package/dist/blocks/gantt-01/index.js +1 -0
- package/dist/blocks/handoff-01/handoff-01.d.ts +326 -0
- package/dist/blocks/handoff-01/handoff-01.d.ts.map +1 -0
- package/dist/blocks/handoff-01/handoff-01.js +180 -0
- package/dist/blocks/handoff-01/index.d.ts +3 -0
- package/dist/blocks/handoff-01/index.d.ts.map +1 -0
- package/dist/blocks/handoff-01/index.js +1 -0
- package/dist/blocks/help-01/help.d.ts +254 -0
- package/dist/blocks/help-01/help.d.ts.map +1 -0
- package/dist/blocks/help-01/help.js +188 -0
- package/dist/blocks/help-01/index.d.ts +3 -0
- package/dist/blocks/help-01/index.d.ts.map +1 -0
- package/dist/blocks/help-01/index.js +1 -0
- package/dist/blocks/hero-01/hero.d.ts +105 -34
- package/dist/blocks/hero-01/hero.d.ts.map +1 -1
- package/dist/blocks/hero-01/hero.js +23 -15
- package/dist/blocks/hero-01/index.d.ts +1 -1
- package/dist/blocks/hero-01/index.d.ts.map +1 -1
- package/dist/blocks/hero-02/hero-02.d.ts +244 -0
- package/dist/blocks/hero-02/hero-02.d.ts.map +1 -0
- package/dist/blocks/hero-02/hero-02.js +87 -0
- package/dist/blocks/hero-02/index.d.ts +3 -0
- package/dist/blocks/hero-02/index.d.ts.map +1 -0
- package/dist/blocks/hero-02/index.js +1 -0
- package/dist/blocks/hero-03/hero-03.d.ts +247 -0
- package/dist/blocks/hero-03/hero-03.d.ts.map +1 -0
- package/dist/blocks/hero-03/hero-03.js +93 -0
- package/dist/blocks/hero-03/index.d.ts +3 -0
- package/dist/blocks/hero-03/index.d.ts.map +1 -0
- package/dist/blocks/hero-03/index.js +1 -0
- package/dist/blocks/history-01/history-01.d.ts +414 -0
- package/dist/blocks/history-01/history-01.d.ts.map +1 -0
- package/dist/blocks/history-01/history-01.js +285 -0
- package/dist/blocks/history-01/index.d.ts +3 -0
- package/dist/blocks/history-01/index.d.ts.map +1 -0
- package/dist/blocks/history-01/index.js +1 -0
- package/dist/blocks/inbox-01/inbox.d.ts +349 -0
- package/dist/blocks/inbox-01/inbox.d.ts.map +1 -0
- package/dist/blocks/inbox-01/inbox.js +244 -0
- package/dist/blocks/inbox-01/index.d.ts +3 -0
- package/dist/blocks/inbox-01/index.d.ts.map +1 -0
- package/dist/blocks/inbox-01/index.js +1 -0
- package/dist/blocks/index.d.ts +203 -0
- package/dist/blocks/index.d.ts.map +1 -1
- package/dist/blocks/index.js +118 -0
- package/dist/blocks/industries-01/index.d.ts +3 -0
- package/dist/blocks/industries-01/index.d.ts.map +1 -0
- package/dist/blocks/industries-01/index.js +1 -0
- package/dist/blocks/industries-01/industries.d.ts +164 -0
- package/dist/blocks/industries-01/industries.d.ts.map +1 -0
- package/dist/blocks/industries-01/industries.js +96 -0
- package/dist/blocks/intake-01/index.d.ts +3 -0
- package/dist/blocks/intake-01/index.d.ts.map +1 -0
- package/dist/blocks/intake-01/index.js +1 -0
- package/dist/blocks/intake-01/intake-01.d.ts +305 -0
- package/dist/blocks/intake-01/intake-01.d.ts.map +1 -0
- package/dist/blocks/intake-01/intake-01.js +178 -0
- package/dist/blocks/integration-01/index.d.ts +3 -0
- package/dist/blocks/integration-01/index.d.ts.map +1 -0
- package/dist/blocks/integration-01/index.js +1 -0
- package/dist/blocks/integration-01/integration.d.ts +226 -0
- package/dist/blocks/integration-01/integration.d.ts.map +1 -0
- package/dist/blocks/integration-01/integration.js +170 -0
- package/dist/blocks/invite-user-01/index.d.ts +3 -0
- package/dist/blocks/invite-user-01/index.d.ts.map +1 -0
- package/dist/blocks/invite-user-01/index.js +1 -0
- package/dist/blocks/invite-user-01/invite-user.d.ts +317 -0
- package/dist/blocks/invite-user-01/invite-user.d.ts.map +1 -0
- package/dist/blocks/invite-user-01/invite-user.js +228 -0
- package/dist/blocks/issue-detail-01/index.d.ts +3 -0
- package/dist/blocks/issue-detail-01/index.d.ts.map +1 -0
- package/dist/blocks/issue-detail-01/index.js +1 -0
- package/dist/blocks/issue-detail-01/issue-detail.d.ts +355 -0
- package/dist/blocks/issue-detail-01/issue-detail.d.ts.map +1 -0
- package/dist/blocks/issue-detail-01/issue-detail.js +187 -0
- package/dist/blocks/issue-list-01/index.d.ts +3 -0
- package/dist/blocks/issue-list-01/index.d.ts.map +1 -0
- package/dist/blocks/issue-list-01/index.js +1 -0
- package/dist/blocks/issue-list-01/issue-list.d.ts +298 -0
- package/dist/blocks/issue-list-01/issue-list.d.ts.map +1 -0
- package/dist/blocks/issue-list-01/issue-list.js +284 -0
- package/dist/blocks/kanban-01/index.d.ts +3 -0
- package/dist/blocks/kanban-01/index.d.ts.map +1 -0
- package/dist/blocks/kanban-01/index.js +1 -0
- package/dist/blocks/kanban-01/kanban.d.ts +278 -0
- package/dist/blocks/kanban-01/kanban.d.ts.map +1 -0
- package/dist/blocks/kanban-01/kanban.js +144 -0
- package/dist/blocks/leaderboard-01/index.d.ts +3 -0
- package/dist/blocks/leaderboard-01/index.d.ts.map +1 -0
- package/dist/blocks/leaderboard-01/index.js +1 -0
- package/dist/blocks/leaderboard-01/leaderboard.d.ts +250 -0
- package/dist/blocks/leaderboard-01/leaderboard.d.ts.map +1 -0
- package/dist/blocks/leaderboard-01/leaderboard.js +121 -0
- package/dist/blocks/login-01/index.d.ts +3 -0
- package/dist/blocks/login-01/index.d.ts.map +1 -0
- package/dist/blocks/login-01/index.js +1 -0
- package/dist/blocks/login-01/login-01.d.ts +356 -0
- package/dist/blocks/login-01/login-01.d.ts.map +1 -0
- package/dist/blocks/login-01/login-01.js +249 -0
- package/dist/blocks/logo-cloud-01/index.d.ts +3 -0
- package/dist/blocks/logo-cloud-01/index.d.ts.map +1 -0
- package/dist/blocks/logo-cloud-01/index.js +1 -0
- package/dist/blocks/logo-cloud-01/logo-cloud.d.ts +181 -0
- package/dist/blocks/logo-cloud-01/logo-cloud.d.ts.map +1 -0
- package/dist/blocks/logo-cloud-01/logo-cloud.js +118 -0
- package/dist/blocks/magic-link-01/index.d.ts +3 -0
- package/dist/blocks/magic-link-01/index.d.ts.map +1 -0
- package/dist/blocks/magic-link-01/index.js +1 -0
- package/dist/blocks/magic-link-01/magic-link-01.d.ts +367 -0
- package/dist/blocks/magic-link-01/magic-link-01.d.ts.map +1 -0
- package/dist/blocks/magic-link-01/magic-link-01.js +233 -0
- package/dist/blocks/member-list-01/index.d.ts +3 -0
- package/dist/blocks/member-list-01/index.d.ts.map +1 -0
- package/dist/blocks/member-list-01/index.js +1 -0
- package/dist/blocks/member-list-01/member-list.d.ts +192 -0
- package/dist/blocks/member-list-01/member-list.d.ts.map +1 -0
- package/dist/blocks/member-list-01/member-list.js +142 -0
- package/dist/blocks/milestone-timeline-01/index.d.ts +3 -0
- package/dist/blocks/milestone-timeline-01/index.d.ts.map +1 -0
- package/dist/blocks/milestone-timeline-01/index.js +1 -0
- package/dist/blocks/milestone-timeline-01/milestone-timeline.d.ts +217 -0
- package/dist/blocks/milestone-timeline-01/milestone-timeline.d.ts.map +1 -0
- package/dist/blocks/milestone-timeline-01/milestone-timeline.js +173 -0
- package/dist/blocks/newsletter-01/index.d.ts +3 -0
- package/dist/blocks/newsletter-01/index.d.ts.map +1 -0
- package/dist/blocks/newsletter-01/index.js +1 -0
- package/dist/blocks/newsletter-01/newsletter.d.ts +216 -0
- package/dist/blocks/newsletter-01/newsletter.d.ts.map +1 -0
- package/dist/blocks/newsletter-01/newsletter.js +102 -0
- package/dist/blocks/notification-center-01/index.d.ts +3 -0
- package/dist/blocks/notification-center-01/index.d.ts.map +1 -0
- package/dist/blocks/notification-center-01/index.js +1 -0
- package/dist/blocks/notification-center-01/notification-center-01.d.ts +341 -0
- package/dist/blocks/notification-center-01/notification-center-01.d.ts.map +1 -0
- package/dist/blocks/notification-center-01/notification-center-01.js +203 -0
- package/dist/blocks/offer-01/index.d.ts +3 -0
- package/dist/blocks/offer-01/index.d.ts.map +1 -0
- package/dist/blocks/offer-01/index.js +1 -0
- package/dist/blocks/offer-01/offer.d.ts +139 -0
- package/dist/blocks/offer-01/offer.d.ts.map +1 -0
- package/dist/blocks/offer-01/offer.js +81 -0
- package/dist/blocks/offering-01/index.d.ts +3 -0
- package/dist/blocks/offering-01/index.d.ts.map +1 -0
- package/dist/blocks/offering-01/index.js +1 -0
- package/dist/blocks/offering-01/offering.d.ts +245 -0
- package/dist/blocks/offering-01/offering.d.ts.map +1 -0
- package/dist/blocks/offering-01/offering.js +144 -0
- package/dist/blocks/offering-categories-01/index.d.ts +3 -0
- package/dist/blocks/offering-categories-01/index.d.ts.map +1 -0
- package/dist/blocks/offering-categories-01/index.js +1 -0
- package/dist/blocks/offering-categories-01/offering-categories.d.ts +248 -0
- package/dist/blocks/offering-categories-01/offering-categories.d.ts.map +1 -0
- package/dist/blocks/offering-categories-01/offering-categories.js +153 -0
- package/dist/blocks/offering-list-01/index.d.ts +3 -0
- package/dist/blocks/offering-list-01/index.d.ts.map +1 -0
- package/dist/blocks/offering-list-01/index.js +1 -0
- package/dist/blocks/offering-list-01/offering-list.d.ts +362 -0
- package/dist/blocks/offering-list-01/offering-list.d.ts.map +1 -0
- package/dist/blocks/offering-list-01/offering-list.js +366 -0
- package/dist/blocks/onboarding-01/index.d.ts +3 -0
- package/dist/blocks/onboarding-01/index.d.ts.map +1 -0
- package/dist/blocks/onboarding-01/index.js +1 -0
- package/dist/blocks/onboarding-01/onboarding.d.ts +199 -0
- package/dist/blocks/onboarding-01/onboarding.d.ts.map +1 -0
- package/dist/blocks/onboarding-01/onboarding.js +182 -0
- package/dist/blocks/ops-checklist-01/index.d.ts +3 -0
- package/dist/blocks/ops-checklist-01/index.d.ts.map +1 -0
- package/dist/blocks/ops-checklist-01/index.js +1 -0
- package/dist/blocks/ops-checklist-01/ops-checklist-01.d.ts +308 -0
- package/dist/blocks/ops-checklist-01/ops-checklist-01.d.ts.map +1 -0
- package/dist/blocks/ops-checklist-01/ops-checklist-01.js +165 -0
- package/dist/blocks/page-header-01/index.d.ts +1 -1
- package/dist/blocks/page-header-01/index.d.ts.map +1 -1
- package/dist/blocks/page-header-01/page-header.d.ts +131 -11
- package/dist/blocks/page-header-01/page-header.d.ts.map +1 -1
- package/dist/blocks/page-header-01/page-header.js +33 -9
- package/dist/blocks/passkey-01/index.d.ts +3 -0
- package/dist/blocks/passkey-01/index.d.ts.map +1 -0
- package/dist/blocks/passkey-01/index.js +1 -0
- package/dist/blocks/passkey-01/passkey-01.d.ts +334 -0
- package/dist/blocks/passkey-01/passkey-01.d.ts.map +1 -0
- package/dist/blocks/passkey-01/passkey-01.js +192 -0
- package/dist/blocks/permission-matrix-01/index.d.ts +3 -0
- package/dist/blocks/permission-matrix-01/index.d.ts.map +1 -0
- package/dist/blocks/permission-matrix-01/index.js +1 -0
- package/dist/blocks/permission-matrix-01/permission-matrix.d.ts +282 -0
- package/dist/blocks/permission-matrix-01/permission-matrix.d.ts.map +1 -0
- package/dist/blocks/permission-matrix-01/permission-matrix.js +173 -0
- package/dist/blocks/pricing-01/index.d.ts +1 -0
- package/dist/blocks/pricing-01/index.d.ts.map +1 -1
- package/dist/blocks/pricing-01/pricing.d.ts +118 -1
- package/dist/blocks/pricing-01/pricing.d.ts.map +1 -1
- package/dist/blocks/pricing-01/pricing.js +9 -2
- package/dist/blocks/pricing-compare-01/index.d.ts +3 -0
- package/dist/blocks/pricing-compare-01/index.d.ts.map +1 -0
- package/dist/blocks/pricing-compare-01/index.js +1 -0
- package/dist/blocks/pricing-compare-01/pricing-compare.d.ts +277 -0
- package/dist/blocks/pricing-compare-01/pricing-compare.d.ts.map +1 -0
- package/dist/blocks/pricing-compare-01/pricing-compare.js +126 -0
- package/dist/blocks/project-01/index.d.ts +3 -0
- package/dist/blocks/project-01/index.d.ts.map +1 -0
- package/dist/blocks/project-01/index.js +1 -0
- package/dist/blocks/project-01/project.d.ts +323 -0
- package/dist/blocks/project-01/project.d.ts.map +1 -0
- package/dist/blocks/project-01/project.js +247 -0
- package/dist/blocks/project-dashboard-01/index.d.ts +3 -0
- package/dist/blocks/project-dashboard-01/index.d.ts.map +1 -0
- package/dist/blocks/project-dashboard-01/index.js +1 -0
- package/dist/blocks/project-dashboard-01/project-dashboard.d.ts +200 -0
- package/dist/blocks/project-dashboard-01/project-dashboard.d.ts.map +1 -0
- package/dist/blocks/project-dashboard-01/project-dashboard.js +124 -0
- package/dist/blocks/project-list-01/index.d.ts +3 -0
- package/dist/blocks/project-list-01/index.d.ts.map +1 -0
- package/dist/blocks/project-list-01/index.js +1 -0
- package/dist/blocks/project-list-01/project-list.d.ts +301 -0
- package/dist/blocks/project-list-01/project-list.d.ts.map +1 -0
- package/dist/blocks/project-list-01/project-list.js +305 -0
- package/dist/blocks/provisioning-01/index.d.ts +3 -0
- package/dist/blocks/provisioning-01/index.d.ts.map +1 -0
- package/dist/blocks/provisioning-01/index.js +1 -0
- package/dist/blocks/provisioning-01/provisioning.d.ts +357 -0
- package/dist/blocks/provisioning-01/provisioning.d.ts.map +1 -0
- package/dist/blocks/provisioning-01/provisioning.js +230 -0
- package/dist/blocks/quick-view-01/index.d.ts +3 -0
- package/dist/blocks/quick-view-01/index.d.ts.map +1 -0
- package/dist/blocks/quick-view-01/index.js +1 -0
- package/dist/blocks/quick-view-01/quick-view.d.ts +215 -0
- package/dist/blocks/quick-view-01/quick-view.d.ts.map +1 -0
- package/dist/blocks/quick-view-01/quick-view.js +136 -0
- package/dist/blocks/rate-card-01/index.d.ts +3 -0
- package/dist/blocks/rate-card-01/index.d.ts.map +1 -0
- package/dist/blocks/rate-card-01/index.js +1 -0
- package/dist/blocks/rate-card-01/rate-card.d.ts +184 -0
- package/dist/blocks/rate-card-01/rate-card.d.ts.map +1 -0
- package/dist/blocks/rate-card-01/rate-card.js +79 -0
- package/dist/blocks/reset-password-01/index.d.ts +3 -0
- package/dist/blocks/reset-password-01/index.d.ts.map +1 -0
- package/dist/blocks/reset-password-01/index.js +1 -0
- package/dist/blocks/reset-password-01/reset-password.d.ts +276 -0
- package/dist/blocks/reset-password-01/reset-password.d.ts.map +1 -0
- package/dist/blocks/reset-password-01/reset-password.js +175 -0
- package/dist/blocks/resource-list-01/index.d.ts +3 -0
- package/dist/blocks/resource-list-01/index.d.ts.map +1 -0
- package/dist/blocks/resource-list-01/index.js +1 -0
- package/dist/blocks/resource-list-01/resource-list.d.ts +237 -0
- package/dist/blocks/resource-list-01/resource-list.d.ts.map +1 -0
- package/dist/blocks/resource-list-01/resource-list.js +154 -0
- package/dist/blocks/retention-01/index.d.ts +3 -0
- package/dist/blocks/retention-01/index.d.ts.map +1 -0
- package/dist/blocks/retention-01/index.js +1 -0
- package/dist/blocks/retention-01/retention.d.ts +255 -0
- package/dist/blocks/retention-01/retention.d.ts.map +1 -0
- package/dist/blocks/retention-01/retention.js +145 -0
- package/dist/blocks/run-console-01/run-console.d.ts +14 -1
- package/dist/blocks/run-console-01/run-console.d.ts.map +1 -1
- package/dist/blocks/run-console-01/run-console.js +4 -2
- package/dist/blocks/services-01/index.d.ts +3 -0
- package/dist/blocks/services-01/index.d.ts.map +1 -0
- package/dist/blocks/services-01/index.js +1 -0
- package/dist/blocks/services-01/services.d.ts +159 -0
- package/dist/blocks/services-01/services.d.ts.map +1 -0
- package/dist/blocks/services-01/services.js +81 -0
- package/dist/blocks/settings-integrations-01/index.d.ts +3 -0
- package/dist/blocks/settings-integrations-01/index.d.ts.map +1 -0
- package/dist/blocks/settings-integrations-01/index.js +1 -0
- package/dist/blocks/settings-integrations-01/settings-integrations.d.ts +246 -0
- package/dist/blocks/settings-integrations-01/settings-integrations.d.ts.map +1 -0
- package/dist/blocks/settings-integrations-01/settings-integrations.js +213 -0
- package/dist/blocks/settings-members-01/index.d.ts +3 -0
- package/dist/blocks/settings-members-01/index.d.ts.map +1 -0
- package/dist/blocks/settings-members-01/index.js +1 -0
- package/dist/blocks/settings-members-01/settings-members.d.ts +396 -0
- package/dist/blocks/settings-members-01/settings-members.d.ts.map +1 -0
- package/dist/blocks/settings-members-01/settings-members.js +255 -0
- package/dist/blocks/settings-notifications-01/index.d.ts +3 -0
- package/dist/blocks/settings-notifications-01/index.d.ts.map +1 -0
- package/dist/blocks/settings-notifications-01/index.js +1 -0
- package/dist/blocks/settings-notifications-01/settings-notifications.d.ts +270 -0
- package/dist/blocks/settings-notifications-01/settings-notifications.d.ts.map +1 -0
- package/dist/blocks/settings-notifications-01/settings-notifications.js +202 -0
- package/dist/blocks/settings-security-01/index.d.ts +3 -0
- package/dist/blocks/settings-security-01/index.d.ts.map +1 -0
- package/dist/blocks/settings-security-01/index.js +1 -0
- package/dist/blocks/settings-security-01/settings-security.d.ts +439 -0
- package/dist/blocks/settings-security-01/settings-security.d.ts.map +1 -0
- package/dist/blocks/settings-security-01/settings-security.js +244 -0
- package/dist/blocks/shortlist-01/index.d.ts +3 -0
- package/dist/blocks/shortlist-01/index.d.ts.map +1 -0
- package/dist/blocks/shortlist-01/index.js +1 -0
- package/dist/blocks/shortlist-01/shortlist-01.d.ts +337 -0
- package/dist/blocks/shortlist-01/shortlist-01.d.ts.map +1 -0
- package/dist/blocks/shortlist-01/shortlist-01.js +191 -0
- package/dist/blocks/showcase-01/index.d.ts +3 -0
- package/dist/blocks/showcase-01/index.d.ts.map +1 -0
- package/dist/blocks/showcase-01/index.js +1 -0
- package/dist/blocks/showcase-01/showcase-01.d.ts +238 -0
- package/dist/blocks/showcase-01/showcase-01.d.ts.map +1 -0
- package/dist/blocks/showcase-01/showcase-01.js +84 -0
- package/dist/blocks/signup-01/index.d.ts +3 -0
- package/dist/blocks/signup-01/index.d.ts.map +1 -0
- package/dist/blocks/signup-01/index.js +1 -0
- package/dist/blocks/signup-01/signup-01.d.ts +405 -0
- package/dist/blocks/signup-01/signup-01.d.ts.map +1 -0
- package/dist/blocks/signup-01/signup-01.js +209 -0
- package/dist/blocks/site-footer/site-footer.d.ts +34 -1
- package/dist/blocks/site-footer/site-footer.d.ts.map +1 -1
- package/dist/blocks/site-footer/site-footer.js +24 -2
- package/dist/blocks/site-header/site-header.js +1 -1
- package/dist/blocks/site-navbar/site-navbar.d.ts +37 -3
- package/dist/blocks/site-navbar/site-navbar.d.ts.map +1 -1
- package/dist/blocks/site-navbar/site-navbar.js +33 -4
- package/dist/blocks/spec-table-01/index.d.ts +3 -0
- package/dist/blocks/spec-table-01/index.d.ts.map +1 -0
- package/dist/blocks/spec-table-01/index.js +1 -0
- package/dist/blocks/spec-table-01/spec-table.d.ts +293 -0
- package/dist/blocks/spec-table-01/spec-table.d.ts.map +1 -0
- package/dist/blocks/spec-table-01/spec-table.js +217 -0
- package/dist/blocks/stack-grid-01/stack-grid.d.ts +13 -0
- package/dist/blocks/stack-grid-01/stack-grid.d.ts.map +1 -1
- package/dist/blocks/stack-grid-01/stack-grid.js +14 -1
- package/dist/blocks/story-01/index.d.ts +3 -0
- package/dist/blocks/story-01/index.d.ts.map +1 -0
- package/dist/blocks/story-01/index.js +1 -0
- package/dist/blocks/story-01/story.d.ts +153 -0
- package/dist/blocks/story-01/story.d.ts.map +1 -0
- package/dist/blocks/story-01/story.js +103 -0
- package/dist/blocks/summary-01/index.d.ts +3 -0
- package/dist/blocks/summary-01/index.d.ts.map +1 -0
- package/dist/blocks/summary-01/index.js +1 -0
- package/dist/blocks/summary-01/summary.d.ts +300 -0
- package/dist/blocks/summary-01/summary.d.ts.map +1 -0
- package/dist/blocks/summary-01/summary.js +174 -0
- package/dist/blocks/team-01/index.d.ts +3 -0
- package/dist/blocks/team-01/index.d.ts.map +1 -0
- package/dist/blocks/team-01/index.js +1 -0
- package/dist/blocks/team-01/team.d.ts +176 -0
- package/dist/blocks/team-01/team.d.ts.map +1 -0
- package/dist/blocks/team-01/team.js +117 -0
- package/dist/blocks/testimonial-01/index.d.ts +3 -0
- package/dist/blocks/testimonial-01/index.d.ts.map +1 -0
- package/dist/blocks/testimonial-01/index.js +1 -0
- package/dist/blocks/testimonial-01/testimonial.d.ts +173 -0
- package/dist/blocks/testimonial-01/testimonial.d.ts.map +1 -0
- package/dist/blocks/testimonial-01/testimonial.js +87 -0
- package/dist/blocks/todo-01/index.d.ts +3 -0
- package/dist/blocks/todo-01/index.d.ts.map +1 -0
- package/dist/blocks/todo-01/index.js +1 -0
- package/dist/blocks/todo-01/todo.d.ts +286 -0
- package/dist/blocks/todo-01/todo.d.ts.map +1 -0
- package/dist/blocks/todo-01/todo.js +149 -0
- package/dist/blocks/trend-01/index.d.ts +3 -0
- package/dist/blocks/trend-01/index.d.ts.map +1 -0
- package/dist/blocks/trend-01/index.js +1 -0
- package/dist/blocks/trend-01/trend.d.ts +184 -0
- package/dist/blocks/trend-01/trend.d.ts.map +1 -0
- package/dist/blocks/trend-01/trend.js +99 -0
- package/dist/blocks/trust-strip-01/index.d.ts +3 -0
- package/dist/blocks/trust-strip-01/index.d.ts.map +1 -0
- package/dist/blocks/trust-strip-01/index.js +1 -0
- package/dist/blocks/trust-strip-01/trust-strip-01.d.ts +139 -0
- package/dist/blocks/trust-strip-01/trust-strip-01.d.ts.map +1 -0
- package/dist/blocks/trust-strip-01/trust-strip-01.js +58 -0
- package/dist/blocks/two-factor-01/index.d.ts +3 -0
- package/dist/blocks/two-factor-01/index.d.ts.map +1 -0
- package/dist/blocks/two-factor-01/index.js +1 -0
- package/dist/blocks/two-factor-01/two-factor-01.d.ts +440 -0
- package/dist/blocks/two-factor-01/two-factor-01.d.ts.map +1 -0
- package/dist/blocks/two-factor-01/two-factor-01.js +273 -0
- package/dist/blocks/user-profile-01/index.d.ts +3 -0
- package/dist/blocks/user-profile-01/index.d.ts.map +1 -0
- package/dist/blocks/user-profile-01/index.js +1 -0
- package/dist/blocks/user-profile-01/user-profile-01.d.ts +258 -0
- package/dist/blocks/user-profile-01/user-profile-01.d.ts.map +1 -0
- package/dist/blocks/user-profile-01/user-profile-01.js +158 -0
- package/dist/blocks/verify-email-01/index.d.ts +3 -0
- package/dist/blocks/verify-email-01/index.d.ts.map +1 -0
- package/dist/blocks/verify-email-01/index.js +1 -0
- package/dist/blocks/verify-email-01/verify-email.d.ts +262 -0
- package/dist/blocks/verify-email-01/verify-email.d.ts.map +1 -0
- package/dist/blocks/verify-email-01/verify-email.js +190 -0
- package/dist/blocks/waitlist-01/index.d.ts +3 -0
- package/dist/blocks/waitlist-01/index.d.ts.map +1 -0
- package/dist/blocks/waitlist-01/index.js +1 -0
- package/dist/blocks/waitlist-01/waitlist.d.ts +254 -0
- package/dist/blocks/waitlist-01/waitlist.d.ts.map +1 -0
- package/dist/blocks/waitlist-01/waitlist.js +75 -0
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +1641 -1
- package/dist/components/index.d.ts +114 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +134 -0
- package/dist/components/ui/accordion.d.ts.map +1 -1
- package/dist/components/ui/accordion.js +9 -2
- package/dist/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/components/ui/alert-dialog.js +22 -4
- package/dist/components/ui/announcement.d.ts +169 -0
- package/dist/components/ui/announcement.d.ts.map +1 -0
- package/dist/components/ui/announcement.js +123 -0
- package/dist/components/ui/avatar-group.d.ts +176 -0
- package/dist/components/ui/avatar-group.d.ts.map +1 -0
- package/dist/components/ui/avatar-group.js +135 -0
- package/dist/components/ui/billing-source.d.ts +293 -0
- package/dist/components/ui/billing-source.d.ts.map +1 -0
- package/dist/components/ui/billing-source.js +136 -0
- package/dist/components/ui/button.d.ts +16 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +17 -2
- package/dist/components/ui/calendar.d.ts +9 -0
- package/dist/components/ui/calendar.d.ts.map +1 -1
- package/dist/components/ui/calendar.js +30 -2
- package/dist/components/ui/carousel.d.ts +7 -0
- package/dist/components/ui/carousel.d.ts.map +1 -1
- package/dist/components/ui/carousel.js +58 -1
- package/dist/components/ui/chart.d.ts +334 -0
- package/dist/components/ui/chart.d.ts.map +1 -0
- package/dist/components/ui/chart.js +369 -0
- package/dist/components/ui/checkbox.d.ts +10 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/checkbox.js +19 -1
- package/dist/components/ui/checklist.d.ts +262 -0
- package/dist/components/ui/checklist.d.ts.map +1 -0
- package/dist/components/ui/checklist.js +135 -0
- package/dist/components/ui/choice-card.d.ts +273 -0
- package/dist/components/ui/choice-card.d.ts.map +1 -0
- package/dist/components/ui/choice-card.js +138 -0
- package/dist/components/ui/code-block.d.ts +182 -0
- package/dist/components/ui/code-block.d.ts.map +1 -0
- package/dist/components/ui/code-block.js +108 -0
- package/dist/components/ui/cohort-grid.d.ts +210 -0
- package/dist/components/ui/cohort-grid.d.ts.map +1 -0
- package/dist/components/ui/cohort-grid.js +202 -0
- package/dist/components/ui/collapsible.d.ts +11 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -1
- package/dist/components/ui/collapsible.js +13 -2
- package/dist/components/ui/combobox.d.ts +4 -1
- package/dist/components/ui/combobox.d.ts.map +1 -1
- package/dist/components/ui/combobox.js +20 -4
- package/dist/components/ui/command-palette.d.ts +11 -0
- package/dist/components/ui/command-palette.d.ts.map +1 -1
- package/dist/components/ui/command-palette.js +49 -3
- package/dist/components/ui/contribution-graph.d.ts +156 -0
- package/dist/components/ui/contribution-graph.d.ts.map +1 -0
- package/dist/components/ui/contribution-graph.js +170 -0
- package/dist/components/ui/creatable-combobox.d.ts +153 -0
- package/dist/components/ui/creatable-combobox.d.ts.map +1 -0
- package/dist/components/ui/creatable-combobox.js +285 -0
- package/dist/components/ui/data-toolbar.d.ts +133 -0
- package/dist/components/ui/data-toolbar.d.ts.map +1 -0
- package/dist/components/ui/data-toolbar.js +67 -0
- package/dist/components/ui/date-picker.d.ts.map +1 -1
- package/dist/components/ui/date-picker.js +9 -1
- package/dist/components/ui/diagram.d.ts +38 -7
- package/dist/components/ui/diagram.d.ts.map +1 -1
- package/dist/components/ui/diagram.js +134 -52
- package/dist/components/ui/dialog.d.ts +31 -2
- package/dist/components/ui/dialog.d.ts.map +1 -1
- package/dist/components/ui/dialog.js +40 -6
- package/dist/components/ui/drawer.d.ts +270 -0
- package/dist/components/ui/drawer.d.ts.map +1 -0
- package/dist/components/ui/drawer.js +241 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.js +6 -1
- package/dist/components/ui/dropzone.d.ts +147 -0
- package/dist/components/ui/dropzone.d.ts.map +1 -0
- package/dist/components/ui/dropzone.js +141 -0
- package/dist/components/ui/emoji-picker.d.ts +328 -0
- package/dist/components/ui/emoji-picker.d.ts.map +1 -0
- package/dist/components/ui/emoji-picker.js +278 -0
- package/dist/components/ui/fact-list.d.ts +17 -0
- package/dist/components/ui/fact-list.d.ts.map +1 -1
- package/dist/components/ui/fact-list.js +18 -1
- package/dist/components/ui/file-upload.d.ts +152 -0
- package/dist/components/ui/file-upload.d.ts.map +1 -0
- package/dist/components/ui/file-upload.js +101 -0
- package/dist/components/ui/filter-panel.d.ts +164 -0
- package/dist/components/ui/filter-panel.d.ts.map +1 -0
- package/dist/components/ui/filter-panel.js +91 -0
- package/dist/components/ui/form-dialog.d.ts +257 -0
- package/dist/components/ui/form-dialog.d.ts.map +1 -0
- package/dist/components/ui/form-dialog.js +176 -0
- package/dist/components/ui/form-wizard.d.ts +251 -0
- package/dist/components/ui/form-wizard.d.ts.map +1 -0
- package/dist/components/ui/form-wizard.js +151 -0
- package/dist/components/ui/image-list-field.d.ts +232 -0
- package/dist/components/ui/image-list-field.d.ts.map +1 -0
- package/dist/components/ui/image-list-field.js +168 -0
- package/dist/components/ui/image-zoom.d.ts +164 -0
- package/dist/components/ui/image-zoom.d.ts.map +1 -0
- package/dist/components/ui/image-zoom.js +169 -0
- package/dist/components/ui/intensity-grid.d.ts +270 -0
- package/dist/components/ui/intensity-grid.d.ts.map +1 -0
- package/dist/components/ui/intensity-grid.js +211 -0
- package/dist/components/ui/lifecycle-button.d.ts +276 -0
- package/dist/components/ui/lifecycle-button.d.ts.map +1 -0
- package/dist/components/ui/lifecycle-button.js +144 -0
- package/dist/components/ui/lightbox.d.ts +165 -0
- package/dist/components/ui/lightbox.d.ts.map +1 -0
- package/dist/components/ui/lightbox.js +130 -0
- package/dist/components/ui/list-panel.d.ts +288 -0
- package/dist/components/ui/list-panel.d.ts.map +1 -0
- package/dist/components/ui/list-panel.js +139 -0
- package/dist/components/ui/mega-menu.d.ts +244 -0
- package/dist/components/ui/mega-menu.d.ts.map +1 -0
- package/dist/components/ui/mega-menu.js +97 -0
- package/dist/components/ui/menubar.d.ts +9 -0
- package/dist/components/ui/menubar.d.ts.map +1 -1
- package/dist/components/ui/menubar.js +10 -1
- package/dist/components/ui/metric.d.ts +123 -0
- package/dist/components/ui/metric.d.ts.map +1 -0
- package/dist/components/ui/metric.js +68 -0
- package/dist/components/ui/mini-calendar.d.ts +143 -0
- package/dist/components/ui/mini-calendar.d.ts.map +1 -0
- package/dist/components/ui/mini-calendar.js +261 -0
- package/dist/components/ui/mode-toggle.d.ts +102 -0
- package/dist/components/ui/mode-toggle.d.ts.map +1 -0
- package/dist/components/ui/mode-toggle.js +83 -0
- package/dist/components/ui/money-field.d.ts +200 -0
- package/dist/components/ui/money-field.d.ts.map +1 -0
- package/dist/components/ui/money-field.js +215 -0
- package/dist/components/ui/multi-combobox.d.ts +181 -0
- package/dist/components/ui/multi-combobox.d.ts.map +1 -0
- package/dist/components/ui/multi-combobox.js +297 -0
- package/dist/components/ui/native-select.d.ts.map +1 -1
- package/dist/components/ui/native-select.js +8 -1
- package/dist/components/ui/navigation-menu.d.ts +7 -0
- package/dist/components/ui/navigation-menu.d.ts.map +1 -1
- package/dist/components/ui/navigation-menu.js +8 -1
- package/dist/components/ui/nested-tabs.d.ts +188 -0
- package/dist/components/ui/nested-tabs.d.ts.map +1 -0
- package/dist/components/ui/nested-tabs.js +75 -0
- package/dist/components/ui/number-field.d.ts +40 -7
- package/dist/components/ui/number-field.d.ts.map +1 -1
- package/dist/components/ui/number-field.js +37 -7
- package/dist/components/ui/overflow-actions.d.ts +169 -0
- package/dist/components/ui/overflow-actions.d.ts.map +1 -0
- package/dist/components/ui/overflow-actions.js +266 -0
- package/dist/components/ui/pack-swatch.d.ts +177 -0
- package/dist/components/ui/pack-swatch.d.ts.map +1 -0
- package/dist/components/ui/pack-swatch.js +117 -0
- package/dist/components/ui/pack-switcher.d.ts +221 -0
- package/dist/components/ui/pack-switcher.d.ts.map +1 -0
- package/dist/components/ui/pack-switcher.js +94 -0
- package/dist/components/ui/pagination.d.ts +22 -0
- package/dist/components/ui/pagination.d.ts.map +1 -1
- package/dist/components/ui/pagination.js +23 -1
- package/dist/components/ui/password-field.d.ts +122 -0
- package/dist/components/ui/password-field.d.ts.map +1 -0
- package/dist/components/ui/password-field.js +69 -0
- package/dist/components/ui/pill.d.ts +172 -0
- package/dist/components/ui/pill.d.ts.map +1 -0
- package/dist/components/ui/pill.js +102 -0
- package/dist/components/ui/platform-modifier-key.d.ts +129 -0
- package/dist/components/ui/platform-modifier-key.d.ts.map +1 -0
- package/dist/components/ui/platform-modifier-key.js +125 -0
- package/dist/components/ui/popover.d.ts.map +1 -1
- package/dist/components/ui/popover.js +8 -1
- package/dist/components/ui/price.d.ts +144 -0
- package/dist/components/ui/price.d.ts.map +1 -0
- package/dist/components/ui/price.js +107 -0
- package/dist/components/ui/progress.d.ts +55 -1
- package/dist/components/ui/progress.d.ts.map +1 -1
- package/dist/components/ui/progress.js +110 -2
- package/dist/components/ui/prompt-composer.d.ts +302 -0
- package/dist/components/ui/prompt-composer.d.ts.map +1 -0
- package/dist/components/ui/prompt-composer.js +145 -0
- package/dist/components/ui/proportion-list.d.ts +188 -0
- package/dist/components/ui/proportion-list.d.ts.map +1 -0
- package/dist/components/ui/proportion-list.js +134 -0
- package/dist/components/ui/prose.d.ts +34 -0
- package/dist/components/ui/prose.d.ts.map +1 -1
- package/dist/components/ui/prose.js +41 -1
- package/dist/components/ui/pulse-graph.d.ts +36 -4
- package/dist/components/ui/pulse-graph.d.ts.map +1 -1
- package/dist/components/ui/pulse-graph.js +174 -60
- package/dist/components/ui/radio-group.d.ts +7 -0
- package/dist/components/ui/radio-group.d.ts.map +1 -1
- package/dist/components/ui/radio-group.js +8 -1
- package/dist/components/ui/range-field.d.ts +158 -0
- package/dist/components/ui/range-field.d.ts.map +1 -0
- package/dist/components/ui/range-field.js +208 -0
- package/dist/components/ui/relative-time.d.ts +116 -0
- package/dist/components/ui/relative-time.d.ts.map +1 -0
- package/dist/components/ui/relative-time.js +67 -0
- package/dist/components/ui/reorderable-list.d.ts +262 -0
- package/dist/components/ui/reorderable-list.d.ts.map +1 -0
- package/dist/components/ui/reorderable-list.js +325 -0
- package/dist/components/ui/repeatable-rows.d.ts +241 -0
- package/dist/components/ui/repeatable-rows.d.ts.map +1 -0
- package/dist/components/ui/repeatable-rows.js +221 -0
- package/dist/components/ui/repo-stars.d.ts +165 -0
- package/dist/components/ui/repo-stars.d.ts.map +1 -0
- package/dist/components/ui/repo-stars.js +92 -0
- package/dist/components/ui/resizable.d.ts +24 -0
- package/dist/components/ui/resizable.d.ts.map +1 -1
- package/dist/components/ui/resizable.js +96 -4
- package/dist/components/ui/search-dialog.d.ts +40 -5
- package/dist/components/ui/search-dialog.d.ts.map +1 -1
- package/dist/components/ui/search-dialog.js +94 -16
- package/dist/components/ui/search-field.d.ts +159 -0
- package/dist/components/ui/search-field.d.ts.map +1 -0
- package/dist/components/ui/search-field.js +98 -0
- package/dist/components/ui/section.d.ts +110 -1
- package/dist/components/ui/section.d.ts.map +1 -1
- package/dist/components/ui/section.js +111 -3
- package/dist/components/ui/select.d.ts.map +1 -1
- package/dist/components/ui/select.js +9 -1
- package/dist/components/ui/selection-toolbar.d.ts +166 -0
- package/dist/components/ui/selection-toolbar.d.ts.map +1 -0
- package/dist/components/ui/selection-toolbar.js +139 -0
- package/dist/components/ui/sidebar.d.ts +29 -0
- package/dist/components/ui/sidebar.d.ts.map +1 -1
- package/dist/components/ui/sidebar.js +35 -2
- package/dist/components/ui/signal-field.d.ts.map +1 -1
- package/dist/components/ui/signal-field.js +1 -1
- package/dist/components/ui/slider.d.ts +7 -0
- package/dist/components/ui/slider.d.ts.map +1 -1
- package/dist/components/ui/slider.js +32 -1
- package/dist/components/ui/sparkline.d.ts +117 -0
- package/dist/components/ui/sparkline.d.ts.map +1 -0
- package/dist/components/ui/sparkline.js +113 -0
- package/dist/components/ui/spinner.d.ts.map +1 -1
- package/dist/components/ui/spinner.js +13 -0
- package/dist/components/ui/split-button.d.ts +207 -0
- package/dist/components/ui/split-button.d.ts.map +1 -0
- package/dist/components/ui/split-button.js +75 -0
- package/dist/components/ui/stateful-table.d.ts +345 -0
- package/dist/components/ui/stateful-table.d.ts.map +1 -0
- package/dist/components/ui/stateful-table.js +169 -0
- package/dist/components/ui/status.d.ts +99 -0
- package/dist/components/ui/status.d.ts.map +1 -0
- package/dist/components/ui/status.js +63 -0
- package/dist/components/ui/stepper.d.ts +155 -0
- package/dist/components/ui/stepper.d.ts.map +1 -0
- package/dist/components/ui/stepper.js +83 -0
- package/dist/components/ui/steps.d.ts +141 -0
- package/dist/components/ui/steps.d.ts.map +1 -0
- package/dist/components/ui/steps.js +128 -0
- package/dist/components/ui/switch.d.ts +8 -0
- package/dist/components/ui/switch.d.ts.map +1 -1
- package/dist/components/ui/switch.js +12 -1
- package/dist/components/ui/tabs.d.ts +21 -2
- package/dist/components/ui/tabs.d.ts.map +1 -1
- package/dist/components/ui/tabs.js +23 -4
- package/dist/components/ui/tag-group.d.ts +154 -0
- package/dist/components/ui/tag-group.d.ts.map +1 -0
- package/dist/components/ui/tag-group.js +111 -0
- package/dist/components/ui/task-progress.d.ts +149 -0
- package/dist/components/ui/task-progress.d.ts.map +1 -0
- package/dist/components/ui/task-progress.js +110 -0
- package/dist/components/ui/text-format-toolbar.d.ts +211 -0
- package/dist/components/ui/text-format-toolbar.d.ts.map +1 -0
- package/dist/components/ui/text-format-toolbar.js +186 -0
- package/dist/components/ui/timeline.d.ts.map +1 -1
- package/dist/components/ui/timeline.js +10 -1
- package/dist/components/ui/toast.d.ts +32 -10
- package/dist/components/ui/toast.d.ts.map +1 -1
- package/dist/components/ui/toast.js +150 -47
- package/dist/components/ui/toggle-group.d.ts +14 -5
- package/dist/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/components/ui/toggle-group.js +15 -1
- package/dist/components/ui/toggle.d.ts.map +1 -1
- package/dist/components/ui/toggle.js +9 -1
- package/dist/components/ui/tree.d.ts +8 -0
- package/dist/components/ui/tree.d.ts.map +1 -1
- package/dist/components/ui/tree.js +92 -13
- package/dist/components/ui/video-player.d.ts +236 -0
- package/dist/components/ui/video-player.d.ts.map +1 -0
- package/dist/components/ui/video-player.js +72 -0
- package/dist/fonts/inter-latin-400-italic.woff2 +0 -0
- package/dist/index.d.ts +112 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +72 -0
- package/dist/lib/figure.d.ts +149 -0
- package/dist/lib/figure.d.ts.map +1 -0
- package/dist/lib/figure.js +242 -0
- package/dist/lib/utils.d.ts +29 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +35 -0
- package/dist/live/index.d.ts +10 -3
- package/dist/live/index.d.ts.map +1 -1
- package/dist/live/index.js +12 -3
- package/dist/live/run-stream-01/run-stream.d.ts.map +1 -1
- package/dist/live/run-stream-01/run-stream.js +6 -5
- package/dist/live/tool-ledger-01/index.d.ts +3 -0
- package/dist/live/tool-ledger-01/index.d.ts.map +1 -0
- package/dist/live/tool-ledger-01/index.js +1 -0
- package/dist/live/tool-ledger-01/tool-ledger.d.ts +348 -0
- package/dist/live/tool-ledger-01/tool-ledger.d.ts.map +1 -0
- package/dist/live/tool-ledger-01/tool-ledger.js +245 -0
- package/dist/pages/about-page/index.d.ts +306 -0
- package/dist/pages/about-page/index.d.ts.map +1 -0
- package/dist/pages/about-page/index.js +161 -0
- package/dist/pages/blog-post-page/index.d.ts +36 -15
- package/dist/pages/blog-post-page/index.d.ts.map +1 -1
- package/dist/pages/blog-post-page/index.js +35 -10
- package/dist/pages/careers-page/index.d.ts +288 -0
- package/dist/pages/careers-page/index.d.ts.map +1 -0
- package/dist/pages/careers-page/index.js +182 -0
- package/dist/pages/changelog-page/index.d.ts +255 -0
- package/dist/pages/changelog-page/index.d.ts.map +1 -0
- package/dist/pages/changelog-page/index.js +86 -0
- package/dist/pages/contact-page/index.d.ts +261 -0
- package/dist/pages/contact-page/index.d.ts.map +1 -0
- package/dist/pages/contact-page/index.js +136 -0
- package/dist/pages/docs-shell/docs-shell.d.ts +126 -16
- package/dist/pages/docs-shell/docs-shell.d.ts.map +1 -1
- package/dist/pages/docs-shell/docs-shell.js +229 -28
- package/dist/pages/error-page/index.d.ts +188 -0
- package/dist/pages/error-page/index.d.ts.map +1 -0
- package/dist/pages/error-page/index.js +102 -0
- package/dist/pages/index.d.ts +10 -0
- package/dist/pages/index.d.ts.map +1 -1
- package/dist/pages/index.js +14 -0
- package/dist/pages/legal-page/index.d.ts +194 -0
- package/dist/pages/legal-page/index.d.ts.map +1 -0
- package/dist/pages/legal-page/index.js +99 -0
- package/dist/pages/not-found-page/index.d.ts.map +1 -1
- package/dist/pages/not-found-page/index.js +4 -3
- package/dist/pages/onboarding-page/index.d.ts +199 -0
- package/dist/pages/onboarding-page/index.d.ts.map +1 -0
- package/dist/pages/onboarding-page/index.js +71 -0
- package/dist/pages/pricing-page/index.d.ts +286 -0
- package/dist/pages/pricing-page/index.d.ts.map +1 -0
- package/dist/pages/pricing-page/index.js +139 -0
- package/dist/pages/search-page/index.d.ts +305 -0
- package/dist/pages/search-page/index.d.ts.map +1 -0
- package/dist/pages/search-page/index.js +142 -0
- package/dist/pages/status-page/index.d.ts +366 -0
- package/dist/pages/status-page/index.d.ts.map +1 -0
- package/dist/pages/status-page/index.js +136 -0
- package/dist/styles.css +1105 -62
- package/package.json +9 -3
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from 'react';
|
|
3
|
+
import { ScrollArea } from './scroll-area.js';
|
|
4
|
+
import { cn } from '../../lib/utils.js';
|
|
5
|
+
/**
|
|
6
|
+
* A titled panel whose body is a scrolling list, with slots above and below it.
|
|
7
|
+
*
|
|
8
|
+
* **This is the third thing, and the reason it exists is that the other two were
|
|
9
|
+
* already taken.** `item.tsx` is a row: media, a name, a description, a value
|
|
10
|
+
* and trailing controls, with no opinion at all about what encloses it. And
|
|
11
|
+
* `fact-list.tsx` is a definition list: a term beside its answer, scanned down a
|
|
12
|
+
* column, short enough that the whole set is meant to be read. Neither is a
|
|
13
|
+
* container, and a long list needs one. So this is the third thing: a titled,
|
|
14
|
+
* bounded, scrollable region that gives a long list a place to end. The three
|
|
15
|
+
* compose, and none of them can be derived from another: rows without a panel is
|
|
16
|
+
* a page that never ends, and a panel without rows is a frame.
|
|
17
|
+
*
|
|
18
|
+
* **A `ListPanel` is not a table, and the difference is the reader's job rather
|
|
19
|
+
* than the markup's.** A panel holds a list: each row is one thing, read top to
|
|
20
|
+
* bottom, and the reader is scanning for the one they want. The moment the reader
|
|
21
|
+
* needs to compare a value in one row against the same value in another, the
|
|
22
|
+
* content is records with columns, the answer is `table.tsx`, and putting rows in
|
|
23
|
+
* a panel instead is a table a reader has to read cell by cell because the
|
|
24
|
+
* semantics are not there. The reverse is equally wrong: a two-column table of
|
|
25
|
+
* one thing per row, where the second column is a status nobody compares against
|
|
26
|
+
* anything, is a list that paid for column semantics it does not use.
|
|
27
|
+
*
|
|
28
|
+
* **The region is a real `<section>` and it is named by its own title.** Not a
|
|
29
|
+
* `div`, because a panel of forty rows is a landmark a screen reader user walks
|
|
30
|
+
* past on the way to something else, and a landmark they cannot name is a
|
|
31
|
+
* landmark they walk past twice. The name comes from `aria-labelledby` pointing
|
|
32
|
+
* at the title element rather than from a string prop, so the name a reader hears
|
|
33
|
+
* and the name a sighted reader reads are the same text by construction and
|
|
34
|
+
* cannot drift.
|
|
35
|
+
*
|
|
36
|
+
* **With no title there is no invented one.** The panel renders a `section` with
|
|
37
|
+
* no name and says nothing, and `label` is the only way to name it. This is the
|
|
38
|
+
* one place in this package where a region is allowed to arrive anonymous, and it
|
|
39
|
+
* is the right answer rather than a gap: a panel named "Panel" is a claim that
|
|
40
|
+
* is wrong in every consumer's product, and a screen reader user hearing "Panel"
|
|
41
|
+
* learns less than hearing nothing, because a name is a promise that something
|
|
42
|
+
* follows it. An anonymous region is honestly absent from the landmark list and
|
|
43
|
+
* the reader moves on. A caller who wants a name passes one.
|
|
44
|
+
*
|
|
45
|
+
* **The scroll is `ScrollArea` and not `overflow: auto`, and that is the whole
|
|
46
|
+
* reason the body is not written inline.** The browser's scrollbar is the one
|
|
47
|
+
* control on a page that belongs to no design system: it is a rectangle the
|
|
48
|
+
* operating system drew, in a colour chosen for the OS's own background rather
|
|
49
|
+
* than for the card the content is on, and it is the only control that is resized
|
|
50
|
+
* by dragging and appears on a timer. Composing this panel around `overflow-auto`
|
|
51
|
+
* would give the reader a Prism surface beside an operating system scrollbar on
|
|
52
|
+
* every panel in every consumer. The scrolling itself is still the browser's, so
|
|
53
|
+
* the arrow keys, Page Up, Page Down, Home, End, the scroll position and
|
|
54
|
+
* scroll-into-view all keep working, and only the bar's appearance is taken over.
|
|
55
|
+
*
|
|
56
|
+
* **The bound is on the panel and the body absorbs it.** `maxHeight` is set on
|
|
57
|
+
* the `section`, which is a flex column, and the body is the flex item that
|
|
58
|
+
* shrinks, so a list shorter than the bound grows the panel to fit and a list
|
|
59
|
+
* longer than it scrolls inside what is left after the header and the footer. The
|
|
60
|
+
* alternative, a `max-height` on the scroll region alone, leaves the region's own
|
|
61
|
+
* height content-driven and clips the rows without giving the reader anything to
|
|
62
|
+
* scroll.
|
|
63
|
+
*
|
|
64
|
+
* **The title's id is generated, and `useId` is why this module needs no
|
|
65
|
+
* `'use client'`.** Pointing `aria-labelledby` at an element the Component drew
|
|
66
|
+
* itself needs an id, and the Component may not invent one by counting: two panels
|
|
67
|
+
* on a page would both reach for the same first id. `useId` is the one hook React
|
|
68
|
+
* runs during a server render as well as a client one, so the panel is an ordinary
|
|
69
|
+
* server Component with the `'use client'` line and the client runtime left off.
|
|
70
|
+
* What that costs is stated rather than implied: a panel whose body scrolls is in
|
|
71
|
+
* the client graph anyway, through `ScrollArea`, and a panel with `scroll={false}`
|
|
72
|
+
* and no caller state of its own ships no JavaScript from this file.
|
|
73
|
+
*
|
|
74
|
+
* The four exported parts are the panel's own pieces, and they are exported
|
|
75
|
+
* rather than kept private for the reason `Card`'s parts are: a caller who wants
|
|
76
|
+
* the header's geometry inside a `Card` they built, or a footer on a section of
|
|
77
|
+
* their own, should not have to re-derive `border-b px-4 py-3` to get it. The
|
|
78
|
+
* `title`, `description`, `count`, `actions` and `footer` props are the shorthand
|
|
79
|
+
* for the ordinary case, and the two are the same markup.
|
|
80
|
+
*/
|
|
81
|
+
function ListPanel({ title, description, count, actions, footer, children, scroll, maxHeight, label, className, style, ...props }) {
|
|
82
|
+
const titleId = useId();
|
|
83
|
+
const named = title !== undefined;
|
|
84
|
+
const hasHeader = named || description !== undefined || count !== undefined || actions !== undefined;
|
|
85
|
+
const hasFooter = footer !== undefined && footer !== null && footer !== false;
|
|
86
|
+
return (_jsxs("section", { "data-slot": "list-panel", "aria-labelledby": named ? titleId : undefined, "aria-label": named ? undefined : label, style: maxHeight === undefined ? style : { maxHeight, ...style }, className: cn('bg-card text-card-foreground flex min-h-0 flex-col overflow-hidden rounded-lg border', className), ...props, children: [hasHeader ? (_jsx(ListPanelHeader, { titleId: titleId, title: title, description: description, count: count, actions: actions })) : null, scroll === false ? (_jsx(ListPanelBody, { label: label, children: children })) : (_jsx(ListPanelBody, { scroll: true, label: label, children: children })), hasFooter ? _jsx(ListPanelFooter, { children: footer }) : null] }));
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* The row above a panel's list: the title, its supporting lines, and a toolbar
|
|
90
|
+
* slot at the trailing edge.
|
|
91
|
+
*
|
|
92
|
+
* Rendered by `ListPanel` when any of its four slots is present, and not rendered
|
|
93
|
+
* at all when none is, because a bordered band with nothing in it is a gap the
|
|
94
|
+
* reader looks through. The title element is a `span` carrying the id the panel
|
|
95
|
+
* points `aria-labelledby` at, rather than a heading: a panel's title is not
|
|
96
|
+
* always the heading of the region it sits in, four panels in a grid are four
|
|
97
|
+
* titles under one section heading, and four `h3`s under one `h2` is right while
|
|
98
|
+
* four `h2`s is four sections. A caller who wants a heading there passes an
|
|
99
|
+
* element as `title` and keeps the name.
|
|
100
|
+
*/
|
|
101
|
+
function ListPanelHeader({ titleId, title, description, count, actions, className, ...props }) {
|
|
102
|
+
return (_jsxs("div", { "data-slot": "list-panel-header", className: cn('flex items-start justify-between gap-4 border-b px-4 py-3', className), ...props, children: [_jsxs("div", { className: "flex min-w-0 flex-col gap-0.5", children: [title === undefined ? null : (_jsx("span", { id: titleId, "data-slot": "list-panel-title", className: "text-sm font-medium", children: title })), description === undefined ? null : (_jsx("span", { "data-slot": "list-panel-description", className: "text-muted-foreground text-sm", children: description })), count === undefined ? null : (_jsx("span", { "data-slot": "list-panel-count", className: "text-muted-foreground text-xs tabular-nums", children: count }))] }), actions === undefined ? null : (_jsx("div", { "data-slot": "list-panel-actions", className: "flex shrink-0 items-center gap-2", children: actions }))] }));
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* A panel's body: the list, and the scroll region it scrolls in.
|
|
106
|
+
*
|
|
107
|
+
* **The scroll region is `ScrollArea` and the rows are the caller's own element.**
|
|
108
|
+
* The panel draws the frame and the scrollbar; the caller writes the `ul`, the
|
|
109
|
+
* `ol` or the table inside it, because the shape of the list is a fact about the
|
|
110
|
+
* data and a list of records in a `ul` is a different thing from the same records
|
|
111
|
+
* in a table. That is the same decision `Item` makes about the row, applied one
|
|
112
|
+
* level up, and it is why this Component takes `children` and no `items`.
|
|
113
|
+
*
|
|
114
|
+
* The vertical scrollbar only. A panel scrolls because it is tall, and a panel
|
|
115
|
+
* whose content is also wider than the panel is a caller who has put a table in
|
|
116
|
+
* the wrong place: `table.tsx` already owns a horizontal region for exactly that,
|
|
117
|
+
* and two nested scrollers is a reader with two axes to guess about.
|
|
118
|
+
*/
|
|
119
|
+
function ListPanelBody({ scroll, label, className, children, ...props }) {
|
|
120
|
+
return (_jsx("div", { "data-slot": "list-panel-body", className: cn('min-w-0 flex-1',
|
|
121
|
+
// The two states differ in more than a wrapper. A bounded body clips and
|
|
122
|
+
// hands the overflow to the scroll region; an unbounded one is allowed to
|
|
123
|
+
// grow, because the caller has said the list is short.
|
|
124
|
+
scroll === true ? 'min-h-0 overflow-hidden' : '', className), ...props, children: scroll === true ? (_jsx(ScrollArea, { label: label, orientation: "vertical", className: "h-full", children: children })) : (children) }));
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* The band under a panel's list, where the actions that belong to the whole list
|
|
128
|
+
* sit and where a count that is not the caller's headline number belongs.
|
|
129
|
+
*
|
|
130
|
+
* On the muted surface and above a rule rather than on the card, because it is the
|
|
131
|
+
* one band in the panel that does not scroll: a control the reader has to reach
|
|
132
|
+
* after scrolling to the end of a long list cannot be in the list. A footer that
|
|
133
|
+
* scrolls away with the rows is a footer that only exists for a reader who never
|
|
134
|
+
* needed it.
|
|
135
|
+
*/
|
|
136
|
+
function ListPanelFooter({ className, ...props }) {
|
|
137
|
+
return (_jsx("div", { "data-slot": "list-panel-footer", className: cn('bg-muted/50 flex items-center gap-3 border-t px-4 py-3 text-sm', className), ...props }));
|
|
138
|
+
}
|
|
139
|
+
export { ListPanel, ListPanelHeader, ListPanelBody, ListPanelFooter };
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One column of a mega-menu panel, and the links in it.
|
|
3
|
+
*
|
|
4
|
+
* A column and not a link, because a column is a claim about how the caller's
|
|
5
|
+
* information is grouped and Prism cannot make it: four columns of two links and two
|
|
6
|
+
* columns of five links are two products' answers to the same panel, and a Component
|
|
7
|
+
* that decided the number would be deciding the caller's information architecture.
|
|
8
|
+
*/
|
|
9
|
+
export type MegaMenuColumn = {
|
|
10
|
+
/**
|
|
11
|
+
* The column's name.
|
|
12
|
+
*
|
|
13
|
+
* Required, and required rather than optional because an unlabelled column of
|
|
14
|
+
* links is a list a reader scans twice: once to work out what it is and once to
|
|
15
|
+
* find the link. `null` is not offered for the same reason a page heading cannot
|
|
16
|
+
* be omitted: the grouping is the thing that makes the panel readable.
|
|
17
|
+
*/
|
|
18
|
+
label: React.ReactNode;
|
|
19
|
+
/** The links, in the order a reader should meet them. */
|
|
20
|
+
links: readonly MegaMenuLink[];
|
|
21
|
+
};
|
|
22
|
+
/** One destination in a mega-menu column. */
|
|
23
|
+
export type MegaMenuLink = {
|
|
24
|
+
/** Where the link goes. */
|
|
25
|
+
href: string;
|
|
26
|
+
/** The words on the link. */
|
|
27
|
+
label: React.ReactNode;
|
|
28
|
+
/** One line under the link saying where it goes. */
|
|
29
|
+
description?: React.ReactNode;
|
|
30
|
+
/** Whether this is the page the reader is on. */
|
|
31
|
+
active?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Whether taking the link closes the panel.
|
|
34
|
+
*
|
|
35
|
+
* Optional and false by default rather than true, and the reason is which link a
|
|
36
|
+
* reader is most likely to press. A panel of destinations is read, compared and
|
|
37
|
+
* scanned, and a reader who has found the one they want and clicked it expects to
|
|
38
|
+
* be somewhere new; closing on every click means a reader who clicks to find out
|
|
39
|
+
* where something is loses the panel they were comparing in. A caller whose links
|
|
40
|
+
* are commands rather than addresses sets it on each one.
|
|
41
|
+
*/
|
|
42
|
+
closeOnClick?: boolean;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* The tabbed panels inside one disclosure, and the tabs that choose between them.
|
|
46
|
+
*
|
|
47
|
+
* A tab axis rather than a column per tab because the two are different claims. A
|
|
48
|
+
* column per tab says "here are six things you may want", all six of which are
|
|
49
|
+
* peers. A tab axis says "here are four *views of one subject*, and at any moment
|
|
50
|
+
* exactly one is the view you are looking at", which is the structure a documentation
|
|
51
|
+
* index, a pricing comparison and an API reference all have, and which a reader
|
|
52
|
+
* navigating by Tab has to be told about.
|
|
53
|
+
*/
|
|
54
|
+
export type MegaMenuPanel = {
|
|
55
|
+
/** The panel's stable key. */
|
|
56
|
+
value: string;
|
|
57
|
+
/** The tab's visible name. */
|
|
58
|
+
label: React.ReactNode;
|
|
59
|
+
/** The columns this panel holds. */
|
|
60
|
+
columns: readonly MegaMenuColumn[];
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* One disclosure in the bar, and the panels it opens.
|
|
64
|
+
*
|
|
65
|
+
* `panels` is required and may hold one entry, and a single panel is a real shape:
|
|
66
|
+
* it is a disclosure whose content is one column of links and no axis to choose on.
|
|
67
|
+
* A Component that required two would make that caller invent a second tab they do
|
|
68
|
+
* not have, and a reader who tabs onto a one-tab axis has learned nothing.
|
|
69
|
+
*/
|
|
70
|
+
export type MegaMenuGroup = {
|
|
71
|
+
/** The group's stable key, and what the disclosure's open state refers to. */
|
|
72
|
+
value: string;
|
|
73
|
+
/** The words on the trigger. */
|
|
74
|
+
label: React.ReactNode;
|
|
75
|
+
/** The panels the trigger opens. */
|
|
76
|
+
panels: readonly MegaMenuPanel[];
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* The props a MegaMenu accepts.
|
|
80
|
+
*
|
|
81
|
+
* Declared rather than extended from `NavigationMenu`'s, and the reason is that
|
|
82
|
+
* every prop here is about the *inside* of the panel, which `NavigationMenu` has no
|
|
83
|
+
* opinion about at all: it knows about triggers and links and nothing between them.
|
|
84
|
+
* The open state is forwarded rather than re-declared, so a caller reading this
|
|
85
|
+
* Component's signature can see the whole contract in one place.
|
|
86
|
+
*/
|
|
87
|
+
export interface MegaMenuProps {
|
|
88
|
+
/**
|
|
89
|
+
* The accessible name of this region of links.
|
|
90
|
+
*
|
|
91
|
+
* Required, and required for the reason `NavigationMenu` requires it: the root
|
|
92
|
+
* renders a `<nav>`, and a `<nav>` with no name is a landmark announced only as
|
|
93
|
+
* "navigation". A site header's primary links and a footer link list are both
|
|
94
|
+
* `<nav>`, and a reader moving between them is told nothing about which is which.
|
|
95
|
+
*/
|
|
96
|
+
label: string;
|
|
97
|
+
/**
|
|
98
|
+
* The disclosures, in the order a reader meets them.
|
|
99
|
+
*
|
|
100
|
+
* Required, and the order is a reading order rather than a sort: a header's
|
|
101
|
+
* disclosures are ordered by how often they are used, which is the caller's fact
|
|
102
|
+
* and not something a sort here could know.
|
|
103
|
+
*/
|
|
104
|
+
groups: readonly MegaMenuGroup[];
|
|
105
|
+
/**
|
|
106
|
+
* The open group, or `null` for none open.
|
|
107
|
+
*
|
|
108
|
+
* Controlled and required, for the reason it is on `NavigationMenu`: the caller's
|
|
109
|
+
* page, its address and its analytics all need to know what is open, and a
|
|
110
|
+
* Component holding its own copy would be a second source of truth about a state
|
|
111
|
+
* that a reader can see on the page.
|
|
112
|
+
*/
|
|
113
|
+
value: string | null;
|
|
114
|
+
/** Called when the open group changes. */
|
|
115
|
+
onValueChange: (value: string | null) => void;
|
|
116
|
+
/**
|
|
117
|
+
* The accessible name of each panel's tab axis, given the group's value.
|
|
118
|
+
*
|
|
119
|
+
* Required and a function of the group, because the inner axis is a *second*
|
|
120
|
+
* navigation region and it needs a name of its own: a reader who has tabbed out
|
|
121
|
+
* of the header's tab list and into a panel's tab list has to be told which of the
|
|
122
|
+
* two they are in, and the only word this package could invent would be a word
|
|
123
|
+
* that is wrong in every consumer's product.
|
|
124
|
+
*/
|
|
125
|
+
panelLabel: (group: string) => string;
|
|
126
|
+
/**
|
|
127
|
+
* The inner tab shown for one group, given the group's value.
|
|
128
|
+
*
|
|
129
|
+
* Required and a function of the group rather than a single value, because the
|
|
130
|
+
* inner axis belongs to the group that holds it: two groups' panels are two
|
|
131
|
+
* different lists of tabs, and one shared value would give a reader who has the
|
|
132
|
+
* second tab of one open whichever tab happened to be last in the other. So the
|
|
133
|
+
* caller holds one value per group and this Component asks for the group it needs
|
|
134
|
+
* rather than keeping a record the caller cannot see and cannot put in an address.
|
|
135
|
+
*
|
|
136
|
+
* The cost is a caller who opens two groups and has set the same value in both has
|
|
137
|
+
* a reader who lands on the same tab index in each, which is right when the panels
|
|
138
|
+
* are parallel and wrong when they are not. Telling the two apart is the caller's
|
|
139
|
+
* knowledge about their own content rather than a fact this package holds.
|
|
140
|
+
*/
|
|
141
|
+
panel: (group: string) => string;
|
|
142
|
+
/**
|
|
143
|
+
* Called when the reader moves to another inner tab, given the group and the tab.
|
|
144
|
+
*
|
|
145
|
+
* Required, and the group comes first because the caller is holding a value per
|
|
146
|
+
* group and a callback that reported only the tab would leave them to guess which
|
|
147
|
+
* of their values to write.
|
|
148
|
+
*/
|
|
149
|
+
onPanelChange: (group: string, value: string) => void;
|
|
150
|
+
/**
|
|
151
|
+
* How long the pointer must rest on a trigger before the group opens, in
|
|
152
|
+
* milliseconds.
|
|
153
|
+
*
|
|
154
|
+
* Optional and defaulted the way `NavigationMenu` defaults it, because the panel is
|
|
155
|
+
* a set of addresses rather than a preview: the reader is about to take one of
|
|
156
|
+
* these links and a long rest followed by a wait is a rest they conclude did
|
|
157
|
+
* nothing. The value is forwarded rather than re-decided so a caller who needs a
|
|
158
|
+
* different one has one place to set it.
|
|
159
|
+
*/
|
|
160
|
+
delay?: number;
|
|
161
|
+
/** Layout only. Changing a Prism-owned visual property from here is prohibited. */
|
|
162
|
+
className?: string;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* A multi-column disclosure whose panel is a second navigation axis, with its own
|
|
166
|
+
* focus order inside the header's.
|
|
167
|
+
*
|
|
168
|
+
* **`NavigationMenu` is a disclosure of links. This is a disclosure whose contents
|
|
169
|
+
* are themselves a set of views, and the difference is a focus order rather than a
|
|
170
|
+
* drawing.** `NavigationMenu` opens a panel and the panel is links: Tab moves from
|
|
171
|
+
* the trigger into a flat list and out of it, and there is nothing inside to
|
|
172
|
+
* navigate. Here the panel opens onto a *tab axis*, so a reader who has tabbed off
|
|
173
|
+
* the trigger is on a second list with its own roving tab stop, and from there into
|
|
174
|
+
* the links of whichever panel is showing. That is three levels of navigation inside
|
|
175
|
+
* one disclosure, and it is why this Component exists rather than a caller
|
|
176
|
+
* composing `NavigationMenu` and dropping a `Tabs` into its content: a hand-placed
|
|
177
|
+
* `Tabs` inside a `NavigationMenuContent` works until the reader tabs, at which
|
|
178
|
+
* point two arrow-key models are live in one panel and the reader cannot tell which
|
|
179
|
+
* one their key press is about.
|
|
180
|
+
*
|
|
181
|
+
* **The composition is deliberate and it is the argument.** `NavigationMenu`
|
|
182
|
+
* supplies the disclosure: the trigger, the open state, the portal, the viewport
|
|
183
|
+
* that absorbs the width change between panels, the Escape that closes and returns
|
|
184
|
+
* focus, and the outside press. `Tabs` supplies the inner axis: the roving tab
|
|
185
|
+
* stop, the arrow keys, `aria-selected` on the trigger and the panel relationship.
|
|
186
|
+
* Neither is reimplemented here, for the reason every composition in this package is
|
|
187
|
+
* one: two implementations of a focus model disagree within a release and a consumer
|
|
188
|
+
* cannot tell which they installed. What this Component owns is the third thing, and
|
|
189
|
+
* it is the third thing that is the Component: **the panel's focus order**, which is
|
|
190
|
+
* the ordering of the two axes relative to each other and to the trigger.
|
|
191
|
+
*
|
|
192
|
+
* **The inner panel's value is the caller's, one per group, and that is what keeps
|
|
193
|
+
* the two axes from colliding.** A reader who has the second tab of the Developers
|
|
194
|
+
* panel open expects it to still be open when they come back to it, and a Component
|
|
195
|
+
* with one shared `panel` value would give them whichever tab happened to be last.
|
|
196
|
+
* So `panel` is a function of the group and the caller's map of group to tab value is
|
|
197
|
+
* the truth. What this Component adds is the part the caller cannot: it asks for the
|
|
198
|
+
* group it needs at the moment the panel is drawn, and it never resets a value the
|
|
199
|
+
* reader chose. The cost is stated on the prop, and it is the same cost the whole
|
|
200
|
+
* composition has: a caller who has set the same value in two groups has a reader who
|
|
201
|
+
* lands on the same index in each.
|
|
202
|
+
*
|
|
203
|
+
* **The inner axis is named, and the name is per group.** The outer list is a
|
|
204
|
+
* `<nav>` named by `label`, and the inner axis is a second navigation region that a
|
|
205
|
+
* reader has to be told about separately: "Pricing, tab list" is a different
|
|
206
|
+
* sentence from "Primary, tab list", and a reader who has tabbed off the header's
|
|
207
|
+
* triggers and onto a panel's tabs has to know which one their arrow keys are about.
|
|
208
|
+
* `panelLabel` is a function of the group for the same reason: "Pricing" and "Docs"
|
|
209
|
+
* have different panels and a single word would be wrong for one of them.
|
|
210
|
+
*
|
|
211
|
+
* **A group with one panel draws one panel and no axis, and that is the honest
|
|
212
|
+
* drawing.** One panel is a disclosure whose content is a set of links, which is what
|
|
213
|
+
* `NavigationMenu` already is, and a one-tab axis is a tab stop that goes nowhere.
|
|
214
|
+
* So the tab list is drawn only when there is more than one panel to choose between,
|
|
215
|
+
* and a group with one panel renders its columns directly. The cost is that the
|
|
216
|
+
* panel's markup differs between the two shapes, and a caller styling across both
|
|
217
|
+
* has to account for a missing tab list, which is a selector rather than a
|
|
218
|
+
* behaviour.
|
|
219
|
+
*
|
|
220
|
+
* **`NavigationMenuLink` is composed for every destination and it is the only
|
|
221
|
+
* interactive leaf inside the panel.** That is `NavigationMenu`'s rule and it is
|
|
222
|
+
* load-bearing: a link carries an address, so the browser can open it in a new tab,
|
|
223
|
+
* copy it, and a crawler can follow it. A mega-menu whose panel holds buttons is a
|
|
224
|
+
* header whose links cannot be shared, and the second navigation axis makes it more
|
|
225
|
+
* tempting rather than less, because a tab axis looks like a set of controls. So
|
|
226
|
+
* every leaf here is a native anchor and there is no command part to reach for by
|
|
227
|
+
* mistake.
|
|
228
|
+
*
|
|
229
|
+
* **`active` is a required prop on every link rather than a derived one, and this is
|
|
230
|
+
* the Component that most needs it.** A mega-menu is the widest panel a header draws
|
|
231
|
+
* and the one a reader is most likely to be inside already: they are looking for
|
|
232
|
+
* where they are. The marking is `aria-current="page"` on the anchor, so it is the
|
|
233
|
+
* attribute and not a fill, which is the order the whole package keeps meaning in.
|
|
234
|
+
*
|
|
235
|
+
* **It is a client Component**, because the disclosure opens after the reader acts,
|
|
236
|
+
* because the inner axis moves after the reader acts, and because every one of its
|
|
237
|
+
* value props is a function the caller hands it, which is a client-to-client boundary
|
|
238
|
+
* wherever it is written. What that costs is the price of every client control: a
|
|
239
|
+
* server Component may render the bar's triggers once with every panel closed, and
|
|
240
|
+
* what it may not do is open one.
|
|
241
|
+
*/
|
|
242
|
+
declare function MegaMenu({ label, groups, value, onValueChange, panelLabel, panel, onPanelChange, delay, className, }: MegaMenuProps): import("react").JSX.Element;
|
|
243
|
+
export { MegaMenu };
|
|
244
|
+
//# sourceMappingURL=mega-menu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mega-menu.d.ts","sourceRoot":"","sources":["../../../src/components/ui/mega-menu.tsx"],"names":[],"mappings":"AAiBA;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;;;;OAOG;IACH,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,yDAAyD;IACzD,KAAK,EAAE,SAAS,YAAY,EAAE,CAAA;CAC/B,CAAA;AAED,6CAA6C;AAC7C,MAAM,MAAM,YAAY,GAAG;IACzB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,oDAAoD;IACpD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,8BAA8B;IAC9B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,oCAAoC;IACpC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;CACnC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAA;IACb,gCAAgC;IAChC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,oCAAoC;IACpC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAA;CACjC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,MAAM,EAAE,SAAS,aAAa,EAAE,CAAA;IAChC;;;;;;;OAOG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,0CAA0C;IAC1C,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7C;;;;;;;;OAQG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACrC;;;;;;;;;;;;;;OAcG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IAChC;;;;;;OAMG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAaD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,iBAAS,QAAQ,CAAC,EAChB,KAAK,EACL,MAAM,EACN,KAAK,EACL,aAAa,EACb,UAAU,EACV,KAAK,EACL,aAAa,EACb,KAAK,EACL,SAAS,GACV,EAAE,aAAa,+BAuHf;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Tabs, TabsContent, TabsList, TabsTrigger } from './tabs.js';
|
|
4
|
+
import { NavigationMenu, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPortal, NavigationMenuPopup, NavigationMenuPositioner, NavigationMenuTrigger, NavigationMenuViewport, } from './navigation-menu.js';
|
|
5
|
+
import { cn } from '../../lib/utils.js';
|
|
6
|
+
/**
|
|
7
|
+
* One column's links, and the column's own frame.
|
|
8
|
+
*
|
|
9
|
+
* `min-w-0` on the list so a long link wraps rather than widening the panel, and the
|
|
10
|
+
* panel's width is the panel's business: a mega-menu that sizes itself to its widest
|
|
11
|
+
* column is a panel whose width changes as the reader moves between tabs, which is
|
|
12
|
+
* the layout shift `NavigationMenu`'s viewport exists to absorb and this column list
|
|
13
|
+
* helps by not asking for more than it needs.
|
|
14
|
+
*/
|
|
15
|
+
const COLUMN = 'flex min-w-0 flex-1 flex-col gap-3';
|
|
16
|
+
/**
|
|
17
|
+
* A multi-column disclosure whose panel is a second navigation axis, with its own
|
|
18
|
+
* focus order inside the header's.
|
|
19
|
+
*
|
|
20
|
+
* **`NavigationMenu` is a disclosure of links. This is a disclosure whose contents
|
|
21
|
+
* are themselves a set of views, and the difference is a focus order rather than a
|
|
22
|
+
* drawing.** `NavigationMenu` opens a panel and the panel is links: Tab moves from
|
|
23
|
+
* the trigger into a flat list and out of it, and there is nothing inside to
|
|
24
|
+
* navigate. Here the panel opens onto a *tab axis*, so a reader who has tabbed off
|
|
25
|
+
* the trigger is on a second list with its own roving tab stop, and from there into
|
|
26
|
+
* the links of whichever panel is showing. That is three levels of navigation inside
|
|
27
|
+
* one disclosure, and it is why this Component exists rather than a caller
|
|
28
|
+
* composing `NavigationMenu` and dropping a `Tabs` into its content: a hand-placed
|
|
29
|
+
* `Tabs` inside a `NavigationMenuContent` works until the reader tabs, at which
|
|
30
|
+
* point two arrow-key models are live in one panel and the reader cannot tell which
|
|
31
|
+
* one their key press is about.
|
|
32
|
+
*
|
|
33
|
+
* **The composition is deliberate and it is the argument.** `NavigationMenu`
|
|
34
|
+
* supplies the disclosure: the trigger, the open state, the portal, the viewport
|
|
35
|
+
* that absorbs the width change between panels, the Escape that closes and returns
|
|
36
|
+
* focus, and the outside press. `Tabs` supplies the inner axis: the roving tab
|
|
37
|
+
* stop, the arrow keys, `aria-selected` on the trigger and the panel relationship.
|
|
38
|
+
* Neither is reimplemented here, for the reason every composition in this package is
|
|
39
|
+
* one: two implementations of a focus model disagree within a release and a consumer
|
|
40
|
+
* cannot tell which they installed. What this Component owns is the third thing, and
|
|
41
|
+
* it is the third thing that is the Component: **the panel's focus order**, which is
|
|
42
|
+
* the ordering of the two axes relative to each other and to the trigger.
|
|
43
|
+
*
|
|
44
|
+
* **The inner panel's value is the caller's, one per group, and that is what keeps
|
|
45
|
+
* the two axes from colliding.** A reader who has the second tab of the Developers
|
|
46
|
+
* panel open expects it to still be open when they come back to it, and a Component
|
|
47
|
+
* with one shared `panel` value would give them whichever tab happened to be last.
|
|
48
|
+
* So `panel` is a function of the group and the caller's map of group to tab value is
|
|
49
|
+
* the truth. What this Component adds is the part the caller cannot: it asks for the
|
|
50
|
+
* group it needs at the moment the panel is drawn, and it never resets a value the
|
|
51
|
+
* reader chose. The cost is stated on the prop, and it is the same cost the whole
|
|
52
|
+
* composition has: a caller who has set the same value in two groups has a reader who
|
|
53
|
+
* lands on the same index in each.
|
|
54
|
+
*
|
|
55
|
+
* **The inner axis is named, and the name is per group.** The outer list is a
|
|
56
|
+
* `<nav>` named by `label`, and the inner axis is a second navigation region that a
|
|
57
|
+
* reader has to be told about separately: "Pricing, tab list" is a different
|
|
58
|
+
* sentence from "Primary, tab list", and a reader who has tabbed off the header's
|
|
59
|
+
* triggers and onto a panel's tabs has to know which one their arrow keys are about.
|
|
60
|
+
* `panelLabel` is a function of the group for the same reason: "Pricing" and "Docs"
|
|
61
|
+
* have different panels and a single word would be wrong for one of them.
|
|
62
|
+
*
|
|
63
|
+
* **A group with one panel draws one panel and no axis, and that is the honest
|
|
64
|
+
* drawing.** One panel is a disclosure whose content is a set of links, which is what
|
|
65
|
+
* `NavigationMenu` already is, and a one-tab axis is a tab stop that goes nowhere.
|
|
66
|
+
* So the tab list is drawn only when there is more than one panel to choose between,
|
|
67
|
+
* and a group with one panel renders its columns directly. The cost is that the
|
|
68
|
+
* panel's markup differs between the two shapes, and a caller styling across both
|
|
69
|
+
* has to account for a missing tab list, which is a selector rather than a
|
|
70
|
+
* behaviour.
|
|
71
|
+
*
|
|
72
|
+
* **`NavigationMenuLink` is composed for every destination and it is the only
|
|
73
|
+
* interactive leaf inside the panel.** That is `NavigationMenu`'s rule and it is
|
|
74
|
+
* load-bearing: a link carries an address, so the browser can open it in a new tab,
|
|
75
|
+
* copy it, and a crawler can follow it. A mega-menu whose panel holds buttons is a
|
|
76
|
+
* header whose links cannot be shared, and the second navigation axis makes it more
|
|
77
|
+
* tempting rather than less, because a tab axis looks like a set of controls. So
|
|
78
|
+
* every leaf here is a native anchor and there is no command part to reach for by
|
|
79
|
+
* mistake.
|
|
80
|
+
*
|
|
81
|
+
* **`active` is a required prop on every link rather than a derived one, and this is
|
|
82
|
+
* the Component that most needs it.** A mega-menu is the widest panel a header draws
|
|
83
|
+
* and the one a reader is most likely to be inside already: they are looking for
|
|
84
|
+
* where they are. The marking is `aria-current="page"` on the anchor, so it is the
|
|
85
|
+
* attribute and not a fill, which is the order the whole package keeps meaning in.
|
|
86
|
+
*
|
|
87
|
+
* **It is a client Component**, because the disclosure opens after the reader acts,
|
|
88
|
+
* because the inner axis moves after the reader acts, and because every one of its
|
|
89
|
+
* value props is a function the caller hands it, which is a client-to-client boundary
|
|
90
|
+
* wherever it is written. What that costs is the price of every client control: a
|
|
91
|
+
* server Component may render the bar's triggers once with every panel closed, and
|
|
92
|
+
* what it may not do is open one.
|
|
93
|
+
*/
|
|
94
|
+
function MegaMenu({ label, groups, value, onValueChange, panelLabel, panel, onPanelChange, delay, className, }) {
|
|
95
|
+
return (_jsx(NavigationMenu, { label: label, value: value, onValueChange: onValueChange, delay: delay, className: cn('w-full', className), children: _jsx(NavigationMenuList, { children: groups.map((group) => (_jsxs(NavigationMenuItem, { value: group.value, children: [_jsx(NavigationMenuTrigger, { children: group.label }), _jsx(NavigationMenuPortal, { children: _jsx(NavigationMenuPositioner, { children: _jsx(NavigationMenuPopup, { children: _jsx(NavigationMenuViewport, { className: "p-4", children: _jsxs(Tabs, { value: panel(group.value), onValueChange: (next) => onPanelChange(group.value, next), children: [group.panels.length <= 1 ? null : (_jsx(TabsList, { "aria-label": panelLabel(group.value), children: group.panels.map((panel) => (_jsx(TabsTrigger, { value: panel.value, children: panel.label }, panel.value))) })), group.panels.map((panel) => (_jsx(TabsContent, { value: panel.value, children: _jsx("div", { "data-slot": "mega-menu-columns", className: "flex flex-col gap-6 sm:flex-row sm:gap-8", children: panel.columns.map((column) => (_jsxs("div", { "data-slot": "mega-menu-column", className: COLUMN, children: [_jsx("p", { "data-slot": "mega-menu-column-label", className: "text-muted-foreground text-xs font-medium tracking-wide uppercase", children: column.label }), _jsx("ul", { className: "flex list-none flex-col gap-1", children: column.links.map((link) => (_jsx("li", { children: _jsx(NavigationMenuLink, { href: link.href, active: link.active, closeOnClick: link.closeOnClick, children: _jsxs("span", { "data-slot": "mega-menu-link", className: "flex flex-col gap-0.5", children: [_jsx("span", { className: "text-sm font-medium", children: link.label }), link.description === undefined ? null : (_jsx("span", { className: "text-muted-foreground text-xs", children: link.description }))] }) }) }, link.href))) })] }, String(column.label)))) }) }, panel.value)))] }) }) }) }) })] }, group.value))) }) }));
|
|
96
|
+
}
|
|
97
|
+
export { MegaMenu };
|
|
@@ -158,6 +158,15 @@ declare function MenubarMenu({ ...props }: MenubarMenuProps): import("react").JS
|
|
|
158
158
|
*
|
|
159
159
|
* It is a real button and it is a menu item in the bar's own model, so Enter and
|
|
160
160
|
* Arrow Down open the menu and the arrows along the bar move between triggers.
|
|
161
|
+
*
|
|
162
|
+
* `pointer-coarse:h-11` is the coarse-pointer floor, as a step. A band was rejected
|
|
163
|
+
* on condition 1 and this is the sharpest case of it in the package: the triggers sit
|
|
164
|
+
* beside each other along the bar, so a 44px band on one trigger is a press aimed at
|
|
165
|
+
* its neighbour. That is the same argument `DESIGN.md` makes for a checkbox beside the
|
|
166
|
+
* next row's own checkbox, and the same one that made `NumberField` turn its steppers
|
|
167
|
+
* side by side rather than stack two 44px bands on two 18px rows. Growing the bar's
|
|
168
|
+
* height from 32 to 44 on touch input is the cost, and it is the cost the platform's
|
|
169
|
+
* own menu bars pay. See DESIGN.md, The coarse-pointer floor.
|
|
161
170
|
*/
|
|
162
171
|
declare function MenubarTrigger({ className, ...props }: MenubarTriggerProps): import("react").JSX.Element;
|
|
163
172
|
/** The floating menu surface. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menubar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/menubar.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"menubar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/menubar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -49,9 +49,18 @@ function MenubarMenu({ ...props }) {
|
|
|
49
49
|
*
|
|
50
50
|
* It is a real button and it is a menu item in the bar's own model, so Enter and
|
|
51
51
|
* Arrow Down open the menu and the arrows along the bar move between triggers.
|
|
52
|
+
*
|
|
53
|
+
* `pointer-coarse:h-11` is the coarse-pointer floor, as a step. A band was rejected
|
|
54
|
+
* on condition 1 and this is the sharpest case of it in the package: the triggers sit
|
|
55
|
+
* beside each other along the bar, so a 44px band on one trigger is a press aimed at
|
|
56
|
+
* its neighbour. That is the same argument `DESIGN.md` makes for a checkbox beside the
|
|
57
|
+
* next row's own checkbox, and the same one that made `NumberField` turn its steppers
|
|
58
|
+
* side by side rather than stack two 44px bands on two 18px rows. Growing the bar's
|
|
59
|
+
* height from 32 to 44 on touch input is the cost, and it is the cost the platform's
|
|
60
|
+
* own menu bars pay. See DESIGN.md, The coarse-pointer floor.
|
|
52
61
|
*/
|
|
53
62
|
function MenubarTrigger({ className, ...props }) {
|
|
54
|
-
return (_jsx(MenuPrimitive.Trigger, { "data-slot": "menubar-trigger", className: cn('text-foreground inline-flex h-8 items-center gap-1.5 rounded-sm px-3 text-sm font-medium whitespace-nowrap outline-none', 'transition-[color,background-color,box-shadow] duration-fast ease-out', 'hover:bg-accent hover:text-accent-foreground focus-visible:ring-ring focus-visible:ring-[3px]', 'data-[popup-open]:bg-accent data-[popup-open]:text-accent-foreground', 'data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), ...props }));
|
|
63
|
+
return (_jsx(MenuPrimitive.Trigger, { "data-slot": "menubar-trigger", className: cn('text-foreground inline-flex h-8 items-center gap-1.5 rounded-sm px-3 text-sm font-medium whitespace-nowrap outline-none', 'transition-[color,background-color,box-shadow] duration-fast ease-out', 'hover:bg-accent hover:text-accent-foreground focus-visible:ring-ring focus-visible:ring-[3px]', 'data-[popup-open]:bg-accent data-[popup-open]:text-accent-foreground', 'data-[disabled]:pointer-events-none data-[disabled]:opacity-50', 'pointer-coarse:h-11', className), ...props }));
|
|
55
64
|
}
|
|
56
65
|
/** The floating menu surface. */
|
|
57
66
|
function MenubarContent({ className, sideOffset = 4, alignOffset = 0, ...props }) {
|