@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,255 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useId } from 'react';
|
|
4
|
+
import { Avatar, AvatarFallback, AvatarImage } from '../../components/ui/avatar.js';
|
|
5
|
+
import { Field, FieldLabel } from '../../components/ui/field.js';
|
|
6
|
+
import { ListPanel } from '../../components/ui/list-panel.js';
|
|
7
|
+
import { Section, SectionHeading, childLevel, } from '../../components/ui/section.js';
|
|
8
|
+
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../../components/ui/select.js';
|
|
9
|
+
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '../../components/ui/table.js';
|
|
10
|
+
import { cn } from '../../lib/utils.js';
|
|
11
|
+
/**
|
|
12
|
+
* The initials a name produces, and the rule that produces them.
|
|
13
|
+
*
|
|
14
|
+
* Two letters from the first and last words, and the first two characters of a
|
|
15
|
+
* single word. It is the same rule `AvatarGroup` applies, repeated rather than
|
|
16
|
+
* imported, and the boundary is the reason: that helper is private to its module
|
|
17
|
+
* and exporting it would make a private derivation part of a published surface
|
|
18
|
+
* to save six lines in a Block. The cost is stated rather than hidden: two
|
|
19
|
+
* modules carry the rule, so a change to it is a change in both.
|
|
20
|
+
*/
|
|
21
|
+
function initialsOf(name) {
|
|
22
|
+
const words = name.trim().split(/\s+/).filter(Boolean);
|
|
23
|
+
const first = words[0];
|
|
24
|
+
if (first === undefined)
|
|
25
|
+
return '';
|
|
26
|
+
if (words.length === 1)
|
|
27
|
+
return first.slice(0, 2).toUpperCase();
|
|
28
|
+
return `${first.charAt(0)}${words[words.length - 1].charAt(0)}`.toUpperCase();
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The three refusals, so that a members surface never renders something it
|
|
32
|
+
* cannot justify.
|
|
33
|
+
*
|
|
34
|
+
* A role control with nothing to move a member to, a role control that does
|
|
35
|
+
* nothing when it is moved, a row the Block has decided is the reader's own and
|
|
36
|
+
* has marked in no way a reader can see, and a group of invitations under no
|
|
37
|
+
* name. Each is a caller's mistake rather than a request, so each throws in a
|
|
38
|
+
* console rather than rendering the quiet version of itself.
|
|
39
|
+
*/
|
|
40
|
+
function assertProps(props) {
|
|
41
|
+
const { members, invitations, roleOptions, roleLabel, onRoleChange, pendingTitle, columns } = props;
|
|
42
|
+
if (roleOptions !== undefined && roleLabel === undefined) {
|
|
43
|
+
throw new Error('SettingsMembers01: roleOptions was passed with no roleLabel, so each role control would draw the ' +
|
|
44
|
+
'option own label and no sentence about what the set is called in this product. Pass the function.');
|
|
45
|
+
}
|
|
46
|
+
if (onRoleChange !== undefined && roleOptions === undefined) {
|
|
47
|
+
throw new Error('SettingsMembers01: onRoleChange was passed with no roleOptions, so every row would be a control with ' +
|
|
48
|
+
'nowhere to move a member to. Pass the roles, or drop the handler and draw your own control.');
|
|
49
|
+
}
|
|
50
|
+
if (members.some((member) => member.isSelf === true) && members.every((member) => member.isSelf === true)) {
|
|
51
|
+
throw new Error('SettingsMembers01: every member is marked as the reader own, so the surface is a list of one person ' +
|
|
52
|
+
'and no role control is drawn on any row. A workspace with one member is a real state; the honest ' +
|
|
53
|
+
'answer for it is your empty sentence rather than a table of yourself.');
|
|
54
|
+
}
|
|
55
|
+
for (const member of members) {
|
|
56
|
+
if (member.isSelf === true && (member.selfLabel === undefined || member.selfLabel.trim() === '')) {
|
|
57
|
+
throw new Error('SettingsMembers01: a member is marked isSelf and passed no selfLabel, so the row the Block has ' +
|
|
58
|
+
'decided is the reader own would be marked by nothing a reader can see. Pass the words that say so.');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if ((invitations?.length ?? 0) > 0 && pendingTitle === undefined) {
|
|
62
|
+
throw new Error('SettingsMembers01: invitations were passed with no pendingTitle, so the group would be a second list ' +
|
|
63
|
+
'on the page under no name at all. Name it, so a reader can say which list they are looking at.');
|
|
64
|
+
}
|
|
65
|
+
for (const column of props.columns ?? []) {
|
|
66
|
+
if (column.id !== 'name' && column.id !== 'role' && column.id !== 'joined') {
|
|
67
|
+
throw new Error(`SettingsMembers01: a column names the cell ${JSON.stringify(column.id)}, which is not one of the ` +
|
|
68
|
+
'three cells this table can draw. A column with nothing to put in it is a column a reader counts ' +
|
|
69
|
+
'past, so add the cell rather than the heading.');
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (columns !== undefined && !columns.some((column) => column.id === 'name')) {
|
|
73
|
+
throw new Error('SettingsMembers01: columns were passed with no name column, so the table would hold no row header and ' +
|
|
74
|
+
'a screen reader navigating it by row would be given numbers with nothing to attach them to. A column ' +
|
|
75
|
+
'of people is the one column that names the row.');
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Who is in a workspace, what each of them can do, when they arrived, and one
|
|
80
|
+
* control per row, under a group for the invitations that have not been taken up.
|
|
81
|
+
*
|
|
82
|
+
* **This is the Block a reader visits to change one thing and leave, which is why
|
|
83
|
+
* it is a Block and not a page.** A settings surface is where a design system's
|
|
84
|
+
* care is most visible and least appreciated. Nothing here is impressive. The
|
|
85
|
+
* reader came to demote one colleague, they find the row, they change it, they
|
|
86
|
+
* leave, and they never learn that the Block was good. They will learn it
|
|
87
|
+
* immediately if one control is in a different place from the one above it, if a
|
|
88
|
+
* row moves when they type, or if a word on the page is in a language they do
|
|
89
|
+
* not read. So the three decisions below are all about a page that must not
|
|
90
|
+
* change under the reader, and none of them is about how the page looks.
|
|
91
|
+
*
|
|
92
|
+
* **A members list is rows or a table, and the caller chooses rather than the
|
|
93
|
+
* count.** Below the count at which a workspace stops being a list of people a
|
|
94
|
+
* reader knows, a portrait and a name and a role on one line is easier to read
|
|
95
|
+
* than four columns. Above it, the same data has to be compared across rows, and
|
|
96
|
+
* a reader comparing a role down a column against another role is doing the job
|
|
97
|
+
* a table exists for. So `columns` is the switch, the type is a closed set of
|
|
98
|
+
* three cells, and the Block derives which arrangement to draw rather than being
|
|
99
|
+
* told twice. The cost is that the two arrangements are not one tree: a caller
|
|
100
|
+
* that switches at render time gets both in the accessibility tree, which is
|
|
101
|
+
* correct, because they asked for both.
|
|
102
|
+
*
|
|
103
|
+
* **A table has to have a name column, and the Block refuses one that does
|
|
104
|
+
* not.** This is the one requirement inside a type whose members are all
|
|
105
|
+
* optional, and it is there because a table of people with no row header is the
|
|
106
|
+
* arrangement a screen reader cannot use at all: the reader asks the table for a
|
|
107
|
+
* row, gets nothing to attach the answers to, and is left holding twenty cells of
|
|
108
|
+
* role names with no idea whose any of them are. A name column is not a default
|
|
109
|
+
* because the name is also the identity the initials and the self mark hang off,
|
|
110
|
+
* and a table that drew the portrait and the role without the person is a table
|
|
111
|
+
* about a job title. The row's own controls get a column with nothing above it,
|
|
112
|
+
* because a heading over a column of buttons would be naming the buttons rather
|
|
113
|
+
* than the data, and every control in it is the caller's and carries its own
|
|
114
|
+
* name.
|
|
115
|
+
*
|
|
116
|
+
* **`isSelf` marks the reader's own row, and the marking is what stops the Block
|
|
117
|
+
* drawing a role control on it.** This is the load-bearing decision in the whole
|
|
118
|
+
* Block and it is worth the paragraph. A settings surface that lets a reader
|
|
119
|
+
* remove themselves without saying so is a trap: the control is in the same place
|
|
120
|
+
* as every other row's, it looks the same, and the consequence is a workspace the
|
|
121
|
+
* reader is no longer in. A surface that lets a reader change their own role is
|
|
122
|
+
* worse, because the consequence is a workspace with nobody left who can undo it.
|
|
123
|
+
* A self-service role editor is how a team loses its last owner, and it loses it
|
|
124
|
+
* on the settings page, in front of a reader who believed the page. So the flag
|
|
125
|
+
* is a prop the caller passes, and when it is passed the row states the role as
|
|
126
|
+
* words and offers no control, and the row's own `actions` still render because
|
|
127
|
+
* what a reader may do about their own membership is the caller's decision and
|
|
128
|
+
* the Block is not the party that should have an opinion about it. The cost is
|
|
129
|
+
* stated rather than hidden: a workspace of one has no row to change, which is
|
|
130
|
+
* why every row being self is a thrown diagnostic rather than a quiet page.
|
|
131
|
+
*
|
|
132
|
+
* **An invitation that has expired is dimmed, and not deleted.** The signal is
|
|
133
|
+
* the presence of `expiresLabel`, because the Block holds no clock and a design
|
|
134
|
+
* system that guessed would be guessing about somebody else's deadline. The
|
|
135
|
+
* reason for keeping the row is the reason `careers-01` gives for a closed role:
|
|
136
|
+
* a reader who sent an invitation and finds it gone learns nothing at all,
|
|
137
|
+
* because the absence is indistinguishable from a fault, from a list that failed
|
|
138
|
+
* to load, and from a product that quietly discards invitations. A list that
|
|
139
|
+
* silently shrinks is a list a reader stops trusting, and a members surface is
|
|
140
|
+
* the last place to spend that trust: the reader's next question is usually
|
|
141
|
+
* about somebody else's access. So the row stays, it is dimmed, and the caller's
|
|
142
|
+
* words say what happened. The Block refuses to invent those words, which is why
|
|
143
|
+
* their absence leaves a row that is not dimmed rather than a row that is dimmed
|
|
144
|
+
* with nothing to read.
|
|
145
|
+
*
|
|
146
|
+
* **A role is a machine value with a sentence beside it, and the sentence is a
|
|
147
|
+
* function.** `member.role` is the value, `roleLabel` is the words, and the
|
|
148
|
+
* separation is what `Status` argues for a dot and `Integration01` argues for a
|
|
149
|
+
* connection state: a design system that knows what a role is called is deciding
|
|
150
|
+
* for four products whose permission models share nothing but the word. The
|
|
151
|
+
* function rather than a record of strings because the honest rendering is
|
|
152
|
+
* usually longer than a select trigger can show, so the caller needs to say more
|
|
153
|
+
* than one string per option, and because one option may need a qualifier the
|
|
154
|
+
* others do not.
|
|
155
|
+
*
|
|
156
|
+
* **The Block holds no role state, so a failed change is the caller's to show.**
|
|
157
|
+
* The select is uncontrolled, the value comes from `member.role`, and
|
|
158
|
+
* `onRoleChange` is a request. That is the arrangement a server action wants and
|
|
159
|
+
* it is the arrangement where the truth is visible: when the request fails the
|
|
160
|
+
* caller re-renders with the old value and the select is where the reader left
|
|
161
|
+
* it, which is a control that told the truth. A Block that kept the new value
|
|
162
|
+
* and rolled it back on a timer would show a reader a role that was not theirs
|
|
163
|
+
* for as long as the rollback took, and a reader who acted on it would be acting
|
|
164
|
+
* on a fiction.
|
|
165
|
+
*
|
|
166
|
+
* **`joined` and `sentAt` are moments, printed exactly as passed, and the
|
|
167
|
+
* honest reading is a Component the caller composes.** The argument is the one
|
|
168
|
+
* `compliance-01` makes for a review date and `member-list-01` makes for a
|
|
169
|
+
* last-seen: a Block that formatted the moment would be choosing a locale, a
|
|
170
|
+
* calendar and a granularity on a colleague's behalf, and would put `Intl` into
|
|
171
|
+
* every consumer's bundle for a rendering Prism has no stake in. So the value is
|
|
172
|
+
* printed as given, `joinedLabel` is offered for the caller who already has a
|
|
173
|
+
* formatter, and a caller who wants "three months ago" composes `relative-time`
|
|
174
|
+
* beside this Block. The cost is stated rather than hidden: a caller who passes a
|
|
175
|
+
* raw timestamp into a row that has no `joinedLabel` gets a raw timestamp beside
|
|
176
|
+
* a colleague's name, which is honest and rarely what was wanted.
|
|
177
|
+
*
|
|
178
|
+
* **A row's role control is named by the person whose role it changes, and the
|
|
179
|
+
* label is visually hidden because the name is already on screen.** In the rows
|
|
180
|
+
* arrangement the name is beside the control; in the table arrangement it is the
|
|
181
|
+
* row header. Either way it is on the page, so the visually hidden label adds
|
|
182
|
+
* nothing a reader sees and a great deal to a screen reader, which would
|
|
183
|
+
* otherwise meet twenty comboboxes with no idea which person any of them belongs
|
|
184
|
+
* to. Naming the control by the role instead was the alternative and it fails the
|
|
185
|
+
* WCAG rule that a visible label must be contained in the accessible name, and it
|
|
186
|
+
* would leave a reader asking which row.
|
|
187
|
+
*
|
|
188
|
+
* **It is a client Component, and the directive is unconditional.** The rule this
|
|
189
|
+
* follows is the one `member-list-01` states in full: a surface that attaches a
|
|
190
|
+
* handler is a client Component, and the directive is on the module rather than
|
|
191
|
+
* in a leaf so that a consumer composing a server page gets the boundary in one
|
|
192
|
+
* place they can see. The cost is that with `onRoleChange` omitted the whole
|
|
193
|
+
* module is still in the client graph, where the static arrangement would have
|
|
194
|
+
* shipped no JavaScript at all; the price was judged worth paying for one
|
|
195
|
+
* boundary rather than two arrangements of the same surface.
|
|
196
|
+
*/
|
|
197
|
+
export function SettingsMembers01({ eyebrow, title, description, members, invitations, pendingTitle, inviteLabel, roleOptions, roleLabel, onRoleChange, empty, columns, headingLevel = 'h2', className, }) {
|
|
198
|
+
// The handle a table below takes its name from; see the note on the table.
|
|
199
|
+
const headingId = useId();
|
|
200
|
+
const props = {
|
|
201
|
+
members,
|
|
202
|
+
invitations,
|
|
203
|
+
roleOptions,
|
|
204
|
+
roleLabel,
|
|
205
|
+
onRoleChange,
|
|
206
|
+
pendingTitle,
|
|
207
|
+
columns,
|
|
208
|
+
};
|
|
209
|
+
assertProps(props);
|
|
210
|
+
// The group holding the pending invitations is a group inside the section, so
|
|
211
|
+
// its title is one level below the section's own and travels with it.
|
|
212
|
+
const GroupTitle = childLevel(headingLevel);
|
|
213
|
+
const base = useId();
|
|
214
|
+
const asTable = columns !== undefined;
|
|
215
|
+
// A row's own controls get a column in the table arrangement, with no heading
|
|
216
|
+
// over it, for the reason `pricing-compare-01` leaves its corner empty: a
|
|
217
|
+
// heading would name a column of controls, which is not what the column is, and
|
|
218
|
+
// the controls are the caller's so each one carries its own accessible name.
|
|
219
|
+
const hasActions = members.some((member) => member.actions !== undefined);
|
|
220
|
+
// A role control needs somewhere to move a member to and somewhere to report
|
|
221
|
+
// the move, and it is withheld from the row the reader is on. See the Block
|
|
222
|
+
// JSDoc for why that last part is a decision rather than an omission.
|
|
223
|
+
const canChangeRole = onRoleChange !== undefined && roleOptions !== undefined;
|
|
224
|
+
const optionLabel = (option) => roleLabel === undefined ? option.label : roleLabel(option);
|
|
225
|
+
const renderRoleControl = (member) => {
|
|
226
|
+
if (!canChangeRole || roleOptions === undefined)
|
|
227
|
+
return null;
|
|
228
|
+
if (member.isSelf === true)
|
|
229
|
+
return null;
|
|
230
|
+
const controlId = `${base}-${member.id}-role`;
|
|
231
|
+
return (_jsxs(Field, { className: "min-w-40", "data-slot": "settings-members-role", children: [_jsx(FieldLabel, { htmlFor: controlId, className: "sr-only", children: member.name }), _jsxs(Select, { defaultValue: member.role, onValueChange: (value) => onRoleChange?.(member.id, value ?? ''), items: Object.fromEntries(roleOptions.map((option) => [option.id, optionLabel(option)])), children: [_jsx(SelectTrigger, { id: controlId, className: "w-full", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: roleOptions.map((option) => (_jsx(SelectItem, { value: option.id, children: optionLabel(option) }, option.id))) })] })] }));
|
|
232
|
+
};
|
|
233
|
+
const renderRoleWords = (member) => {
|
|
234
|
+
const control = renderRoleControl(member);
|
|
235
|
+
if (control !== null)
|
|
236
|
+
return control;
|
|
237
|
+
return (_jsx("span", { "data-slot": "settings-members-role", className: "text-sm", children: member.roleLabel ?? member.role }));
|
|
238
|
+
};
|
|
239
|
+
return (_jsxs(Section, { className: className, "data-slot": "settings-members", children: [_jsx(SectionHeading, { as: headingLevel, id: headingId, align: "left", eyebrow: eyebrow, title: title, description: description, className: "mb-10" }), _jsxs("div", { className: "flex flex-col gap-10", children: [_jsxs("div", { "data-slot": "settings-members-panel", className: "flex flex-col gap-4", children: [inviteLabel === undefined ? null : (_jsx("div", { "data-slot": "settings-members-invite", className: "flex justify-end", children: inviteLabel })), members.length === 0 ? (_jsx("p", { "data-slot": "settings-members-empty", className: "text-muted-foreground text-pretty text-sm", children: empty })) : asTable ? (_jsx("div", { className: "border-border overflow-hidden rounded-xl border", children: _jsxs(Table, { "aria-labelledby": headingId, "data-slot": "settings-members-table", children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [columns.map((column) => (_jsx(TableHead, { scope: "col", className: cn('whitespace-normal', column.className), children: column.header }, column.id))), hasActions ? _jsx(TableHead, { scope: "col" }) : null] }) }), _jsx(TableBody, { children: members.map((member) => (_jsxs(TableRow, { "data-slot": "settings-members-row", "data-member": member.id, "data-self": member.isSelf === true ? 'true' : undefined, children: [columns.map((column) => {
|
|
240
|
+
if (column.id === 'name') {
|
|
241
|
+
return (_jsx(TableHead, { scope: "row", className: cn('text-foreground h-auto font-medium whitespace-normal', column.className), children: _jsxs("span", { className: "flex items-center gap-3", children: [member.avatar === undefined ? null : (_jsxs(Avatar, { className: "size-8", children: [member.avatar.src === undefined ? null : (_jsx(AvatarImage, { src: member.avatar.src, alt: "" })), _jsx(AvatarFallback, { className: "text-mono", children: initialsOf(member.avatar.name) })] })), _jsxs("span", { className: "flex min-w-0 flex-col", children: [_jsx("span", { children: member.name }), member.email === undefined ? null : (_jsx("span", { className: "text-muted-foreground text-xs font-normal", children: member.email })), member.selfLabel === undefined ? null : (_jsx("span", { className: "text-muted-foreground text-xs font-normal", children: member.selfLabel }))] })] }) }, column.id));
|
|
242
|
+
}
|
|
243
|
+
if (column.id === 'role') {
|
|
244
|
+
return (_jsx(TableCell, { className: cn('whitespace-normal', column.className), children: renderRoleWords(member) }, column.id));
|
|
245
|
+
}
|
|
246
|
+
return (_jsx(TableCell, { className: cn('whitespace-normal tabular-nums', column.className), children: member.joined === undefined
|
|
247
|
+
? null
|
|
248
|
+
: member.joinedLabel === undefined
|
|
249
|
+
? member.joined
|
|
250
|
+
: member.joinedLabel(member.joined) }, column.id));
|
|
251
|
+
}), hasActions ? (_jsx(TableCell, { "data-slot": "settings-members-actions", children: member.actions ?? null })) : null] }, member.id))) })] }) })) : (_jsx("ul", { "data-slot": "settings-members-rows", className: "border-border flex flex-col border-t", children: members.map((member) => (_jsxs("li", { "data-slot": "settings-members-row", "data-member": member.id, "data-self": member.isSelf === true ? 'true' : undefined, className: "border-border flex flex-wrap items-center gap-x-4 gap-y-2 border-b px-3 py-3", children: [member.avatar === undefined ? null : (_jsxs(Avatar, { className: "size-8", children: [member.avatar.src === undefined ? null : (_jsx(AvatarImage, { src: member.avatar.src, alt: "" })), _jsx(AvatarFallback, { className: "text-mono", children: initialsOf(member.avatar.name) })] })), _jsxs("span", { className: "flex min-w-0 flex-1 flex-col", children: [_jsx("span", { className: "text-sm font-medium", children: member.name }), member.email === undefined ? null : (_jsx("span", { className: "text-muted-foreground text-xs", children: member.email })), member.selfLabel === undefined ? null : (_jsx("span", { className: "text-muted-foreground text-xs", children: member.selfLabel }))] }), renderRoleWords(member), member.joined === undefined ? null : (_jsx("span", { "data-slot": "settings-members-joined", className: "text-muted-foreground shrink-0 text-xs tabular-nums", children: member.joinedLabel === undefined
|
|
252
|
+
? member.joined
|
|
253
|
+
: member.joinedLabel(member.joined) })), member.actions === undefined ? null : (_jsx("span", { "data-slot": "settings-members-actions", className: "flex shrink-0 items-center gap-1", children: member.actions }))] }, member.id))) }))] }), (invitations?.length ?? 0) === 0 ? null : (_jsx(ListPanel, { "data-slot": "settings-members-invitations", scroll: false, title: _jsx(GroupTitle, { "data-slot": "settings-members-pending-title", className: "text-sm font-semibold", children: pendingTitle }), children: _jsx("ul", { "data-slot": "settings-members-invitation-list", className: "flex flex-col", children: invitations?.map((invitation) => (_jsxs("li", { "data-slot": "settings-members-invitation", "data-invitation": invitation.id, "data-expired": invitation.expiresLabel === undefined ? undefined : 'true', className: "border-border flex flex-wrap items-center gap-x-4 gap-y-1 border-b px-4 py-3 last:border-b-0", children: [_jsx("span", { className: "min-w-0 flex-1 truncate text-sm", children: invitation.email }), invitation.sentAt === undefined ? null : (_jsx("span", { "data-slot": "settings-members-invitation-sent", className: "text-muted-foreground shrink-0 text-xs tabular-nums", children: invitation.sentAt })), invitation.expiresLabel === undefined ? null : (_jsx("span", { "data-slot": "settings-members-invitation-expired", className: "text-muted-foreground shrink-0 text-xs", children: invitation.expiresLabel }))] }, invitation.id))) }) }))] })] }));
|
|
254
|
+
}
|
|
255
|
+
export default SettingsMembers01;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blocks/settings-notifications-01/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAK3E,YAAY,EACV,4BAA4B,EAC5B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,0BAA0B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SettingsNotifications01, default } from './settings-notifications.js';
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type HeadingLevel } from '../../components/ui/section.js';
|
|
3
|
+
/**
|
|
4
|
+
* One thing that can happen on a channel, and whether this workspace wants to
|
|
5
|
+
* hear about it.
|
|
6
|
+
*
|
|
7
|
+
* The `on` boolean is the preference and not a request, and the difference is
|
|
8
|
+
* stated in the Block's JSDoc because it decides what a controlled switch costs:
|
|
9
|
+
* a Block that held the next value would show a reader a preference the product
|
|
10
|
+
* has not stored.
|
|
11
|
+
*/
|
|
12
|
+
export type SettingsNotificationsEvent = {
|
|
13
|
+
/** A stable key for the row, and the value handed back to `onToggle`. */
|
|
14
|
+
id: string;
|
|
15
|
+
/**
|
|
16
|
+
* The event's own name, as the product writes it, and the visible label of the
|
|
17
|
+
* control that turns it on.
|
|
18
|
+
*
|
|
19
|
+
* A short noun phrase, because it sits on a row beside a switch. A phrase that
|
|
20
|
+
* wraps is a row whose control is vertically centred against two lines, and a
|
|
21
|
+
* list of preferences is scanned on the left edge.
|
|
22
|
+
*/
|
|
23
|
+
label: string;
|
|
24
|
+
/**
|
|
25
|
+
* The line under the event's name: when it fires, what it carries, what it
|
|
26
|
+
* costs.
|
|
27
|
+
*
|
|
28
|
+
* A node rather than a string because half of the useful sentences in this
|
|
29
|
+
* position carry a link to the thing being described, and a caller who has to
|
|
30
|
+
* flatten theirs to a string loses it.
|
|
31
|
+
*/
|
|
32
|
+
description?: ReactNode;
|
|
33
|
+
/**
|
|
34
|
+
* The preference as the product has it, and not what the reader is about to
|
|
35
|
+
* change it to.
|
|
36
|
+
*
|
|
37
|
+
* The switch is controlled from this value and nothing else, so a change is a
|
|
38
|
+
* request rather than a mutation. See the Block's JSDoc for why that is the
|
|
39
|
+
* arrangement rather than the one that feels more responsive.
|
|
40
|
+
*/
|
|
41
|
+
on: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Marks an event the product cannot work without, which draws the control
|
|
44
|
+
* read-only and asks the reader to accept the state rather than to change it.
|
|
45
|
+
*
|
|
46
|
+
* This is the load-bearing flag in the whole Block and the argument for it is
|
|
47
|
+
* the Block's JSDoc at length. The short version: a preference surface where
|
|
48
|
+
* every control is optional will let a reader turn off something the product
|
|
49
|
+
* cannot work without, and the failure arrives later, somewhere else, with
|
|
50
|
+
* nothing on this page to point at.
|
|
51
|
+
*/
|
|
52
|
+
required?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* The mark that says this event cannot be turned off.
|
|
55
|
+
*
|
|
56
|
+
* Required whenever `required` is set, and a thrown diagnostic rather than a
|
|
57
|
+
* silent absence, for the reason `Status` gives for its own label: a control
|
|
58
|
+
* that will not move with nothing beside it saying so is a control a reader
|
|
59
|
+
* cannot tell from a fault.
|
|
60
|
+
*/
|
|
61
|
+
requiredLabel?: string;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* One channel a workspace can be notified on, and the events on it.
|
|
65
|
+
*
|
|
66
|
+
* A channel is a group, and the group is named by the product: whether a
|
|
67
|
+
* notification goes by email, by a message inside the product, by a push to a
|
|
68
|
+
* device or by a webhook is a fact about the product's architecture and about
|
|
69
|
+
* its users, and a design system that shipped a channel list would be shipping
|
|
70
|
+
* an architecture.
|
|
71
|
+
*/
|
|
72
|
+
export type SettingsNotificationsChannel = {
|
|
73
|
+
/** A stable key for the group, and the value handed back to `onToggle`. */
|
|
74
|
+
id: string;
|
|
75
|
+
/** The channel's own name, and the heading of the group. */
|
|
76
|
+
name: string;
|
|
77
|
+
/** The line under the channel's name: what it is for, and who else sees it. */
|
|
78
|
+
description?: ReactNode;
|
|
79
|
+
/** The events on this channel, in the order a reader should meet them. */
|
|
80
|
+
events: readonly SettingsNotificationsEvent[];
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* The props a SettingsNotifications01 takes.
|
|
84
|
+
*
|
|
85
|
+
* Every string is a prop and the Block ships none. There is no channel, no event,
|
|
86
|
+
* no default preference, no required set and not one of the three sentences a
|
|
87
|
+
* notification surface is most tempted to ship, which are the words on a switch,
|
|
88
|
+
* the words beside a control that will not move, and the note that says a product
|
|
89
|
+
* needs the event. A Block that shipped any of the three would be stating
|
|
90
|
+
* somebody else's notification policy inside their own product.
|
|
91
|
+
*/
|
|
92
|
+
export type SettingsNotifications01Props = {
|
|
93
|
+
/** Optional label above the section title. See the No-Default-Eyebrow Rule. */
|
|
94
|
+
eyebrow?: ReactNode;
|
|
95
|
+
/** The section title. Required, because a preferences list with no heading is a fragment. */
|
|
96
|
+
title: ReactNode;
|
|
97
|
+
/** One or two sentences under the title. */
|
|
98
|
+
description?: ReactNode;
|
|
99
|
+
/** The channels, in the order a reader should meet them. The Block does not sort. */
|
|
100
|
+
channels: readonly SettingsNotificationsChannel[];
|
|
101
|
+
/**
|
|
102
|
+
* Called when a reader turns one event on or off.
|
|
103
|
+
*
|
|
104
|
+
* A request and not a mutation: the switch is controlled from `event.on`, so
|
|
105
|
+
* nothing moves on this page until the product says it has. See the Block's
|
|
106
|
+
* JSDoc for why the truth is worth more here than the immediacy.
|
|
107
|
+
*/
|
|
108
|
+
onToggle?: (channelId: string, eventId: string, on: boolean) => void;
|
|
109
|
+
/**
|
|
110
|
+
* The accessible name of one switch, given the channel, the event and the
|
|
111
|
+
* state the control would move to.
|
|
112
|
+
*
|
|
113
|
+
* Required whenever `onToggle` is set, and the last argument is the state
|
|
114
|
+
* pressing the control would produce rather than the state it is in, because a
|
|
115
|
+
* switch's accessible name has to say what turning it does. A name that says
|
|
116
|
+
* what the control currently is asks the reader to combine two facts before
|
|
117
|
+
* they can act, and the whole of a switch is that it is one press.
|
|
118
|
+
*
|
|
119
|
+
* The sentence must contain the event's own `label`, because that is the
|
|
120
|
+
* visible label of the control and the WCAG rule that a visible label must be
|
|
121
|
+
* contained in the accessible name is not a formality on this Block: a reader
|
|
122
|
+
* using voice control says the words they can see, and a switch whose announced
|
|
123
|
+
* name does not contain its own label cannot be activated by saying them.
|
|
124
|
+
*
|
|
125
|
+
* It is not consulted for an event marked `required`, and the Block's JSDoc
|
|
126
|
+
* says why: that control does not move, so a sentence describing what pressing
|
|
127
|
+
* it would do is a claim about a thing that cannot happen.
|
|
128
|
+
*/
|
|
129
|
+
updateLabel?: (channel: {
|
|
130
|
+
id: string;
|
|
131
|
+
name: string;
|
|
132
|
+
}, event: {
|
|
133
|
+
id: string;
|
|
134
|
+
label: string;
|
|
135
|
+
}, on: boolean) => string;
|
|
136
|
+
/**
|
|
137
|
+
* The note that says the product cannot work without the marked events.
|
|
138
|
+
*
|
|
139
|
+
* Required whenever any event is marked `required`, and drawn once at the top
|
|
140
|
+
* of the section rather than repeated on each row, because it is the product's
|
|
141
|
+
* standing reason for the whole set rather than an excuse for one control. It
|
|
142
|
+
* is also the described-by of every read-only control on the page, which is the
|
|
143
|
+
* arrangement that makes a control which cannot move legible rather than
|
|
144
|
+
* mysterious.
|
|
145
|
+
*/
|
|
146
|
+
disabledLabel?: string;
|
|
147
|
+
/**
|
|
148
|
+
* What the surface shows when there are no channels.
|
|
149
|
+
*
|
|
150
|
+
* Required, and the reason is that a product with no notification channels and
|
|
151
|
+
* a product whose channels failed to load are not the same page, and a Block
|
|
152
|
+
* that guessed between them would be guessing about somebody else's outage.
|
|
153
|
+
*/
|
|
154
|
+
empty: ReactNode;
|
|
155
|
+
/** Heading level for the section title. @defaultValue 'h2' */
|
|
156
|
+
headingLevel?: HeadingLevel;
|
|
157
|
+
/**
|
|
158
|
+
* Layout only, exactly as on every Block. Changing a Prism-owned visual
|
|
159
|
+
* property from here is prohibited.
|
|
160
|
+
*/
|
|
161
|
+
className?: string;
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Per-channel notification preferences: a channel, a line about it, a set of
|
|
165
|
+
* switches for the events on it, and a note where the product has a standing
|
|
166
|
+
* requirement of its own.
|
|
167
|
+
*
|
|
168
|
+
* **This is the Block where a design system's care is most visible and least
|
|
169
|
+
* appreciated, because the reader came to change one thing and leave.** A
|
|
170
|
+
* preferences surface is the densest set of controls a product puts in front of a
|
|
171
|
+
* reader, and it is the one they visit least often and trust most. They are not
|
|
172
|
+
* reading it, they are hunting. They want the switch for the one event and they
|
|
173
|
+
* want to be sure of three things when they find it: that this is the right
|
|
174
|
+
* event, that pressing it does what they think, and that it did what they wanted.
|
|
175
|
+
* Everything below is in service of the third of those, which is the one a
|
|
176
|
+
* surface usually gets wrong, usually by being optimistic.
|
|
177
|
+
*
|
|
178
|
+
* **The `required` flag is the load-bearing decision, and the set is a prop
|
|
179
|
+
* because a design system that fixed the list would be deciding for every
|
|
180
|
+
* product which of its events are load-bearing.** The argument has two halves and
|
|
181
|
+
* both matter. A preference surface where every control is optional is a surface
|
|
182
|
+
* that will let a reader turn off something the product cannot work without: the
|
|
183
|
+
* reader is told the switch is theirs, presses it, the product stores the answer,
|
|
184
|
+
* and the failure arrives days later in a different part of the product with
|
|
185
|
+
* nothing on this page to point at. The reader is right that the switch was
|
|
186
|
+
* there and the product is right that the event was needed, and neither of them
|
|
187
|
+
* is wrong, which is the worst possible place for a disagreement to live. So a
|
|
188
|
+
* required set has to exist. And the fixed-list alternative is worse than the
|
|
189
|
+
* problem: this package does not know what any product cannot work without. A
|
|
190
|
+
* product whose password reset email is load-bearing and a product that mails
|
|
191
|
+
* nothing at all are both real, and a Block that shipped the first product's list
|
|
192
|
+
* would install it into the second, where a reader could turn off a notification
|
|
193
|
+
* that does not exist and a support ticket would arrive with no cause anyone can
|
|
194
|
+
* find. So the flag is on the event, the note is the caller's, and the
|
|
195
|
+
* consequence is that a consumer wiring this Block up has to decide which of their
|
|
196
|
+
* own events are load-bearing. That is a sentence worth naming rather than
|
|
197
|
+
* hiding: it is a decision, and it is theirs.
|
|
198
|
+
*
|
|
199
|
+
* **A required control is drawn read-only rather than disabled, and the reason is
|
|
200
|
+
* that a disabled control is not in the tab order.** A keyboard reader who tabs
|
|
201
|
+
* across a preferences surface with three required events meets three holes where
|
|
202
|
+
* three controls used to be. They cannot find the setting, they cannot come back
|
|
203
|
+
* to it, and there is nothing in the document to tell them the setting exists at
|
|
204
|
+
* all, so the most likely reading is that the page is broken or that the product
|
|
205
|
+
* has hidden something from them. Both are worse than the truth, which is that a
|
|
206
|
+
* decision has been made on their behalf. So the control keeps its place in the
|
|
207
|
+
* order, keeps its state announced, and takes the note as its description: the
|
|
208
|
+
* reader meets it, hears that it will not move, and hears why. The cost is
|
|
209
|
+
* stated rather than hidden, because it is real: a read-only control is drawn in
|
|
210
|
+
* the same ink as a live one, so the mark beside it and the note under the title
|
|
211
|
+
* are what carry the fact, and there is no flag on this package that dims it. A
|
|
212
|
+
* caller who wants the visual weight of a disabled control has to choose between
|
|
213
|
+
* that and the focus hole, and the focus hole is the worse of the two, so the
|
|
214
|
+
* decision here is not that read-only is better but that it is less bad.
|
|
215
|
+
*
|
|
216
|
+
* **The switch's accessible name says what pressing it will do, and the sentence
|
|
217
|
+
* is the caller's.** A switch announces its state, so a reader who meets a
|
|
218
|
+
* control named "Deploys" with the state off knows the current answer and has to
|
|
219
|
+
* work out the consequence themselves, which is the one step a switch exists to
|
|
220
|
+
* remove. So the name is composed from the state the control would move to, and
|
|
221
|
+
* it is a function rather than a record of strings because the honest sentence
|
|
222
|
+
* names the event, the channel and sometimes a qualification, and because a
|
|
223
|
+
* consumer in three languages has the sentence in three languages and Prism has
|
|
224
|
+
* none of them. The name is not consulted for a required event, and that is a
|
|
225
|
+
* consequence rather than an omission: a sentence describing what pressing a
|
|
226
|
+
* read-only control would do is a claim about a thing that cannot happen, and a
|
|
227
|
+
* Block that printed one would be the defect it exists to prevent.
|
|
228
|
+
*
|
|
229
|
+
* **The note is described once and repeated by reference, so every read-only
|
|
230
|
+
* control on the page carries it.** It is drawn at the top rather than repeated on
|
|
231
|
+
* each row, for the reason `list-panel` states for a count: it is the product's
|
|
232
|
+
* standing reason for the whole set, so a reader who meets it once has met it. The
|
|
233
|
+
* `aria-describedby` is what makes it true per control, and that is a real
|
|
234
|
+
* difference rather than a nicety: a sentence a reader has to go and find is a
|
|
235
|
+
* sentence most readers do not go and find, and a control that will not move with
|
|
236
|
+
* an unfound reason behind it is exactly the control a reader reports as broken.
|
|
237
|
+
* The same attribute carries the event's own description, which was drawn and never
|
|
238
|
+
* referred to, so the two are assembled rather than chosen between: a read-only
|
|
239
|
+
* event has both, and a reader who meets one without the other has to work out
|
|
240
|
+
* which half they are missing.
|
|
241
|
+
*
|
|
242
|
+
* **A switch is the control, and not a checkbox and not a button.** `Switch` is
|
|
243
|
+
* composed for all three reasons the Component's own JSDoc gives, and the third
|
|
244
|
+
* is the one that matters on this surface: a switch takes effect immediately, so
|
|
245
|
+
* there is no save control on the page for a reader to press and no state in which
|
|
246
|
+
* the page is holding changes the reader has not committed. That is the whole
|
|
247
|
+
* reason a preferences surface is drawn as switches rather than as a form, and
|
|
248
|
+
* re-deriving it here would mean a hand-written checkbox with no keyboard model, a
|
|
249
|
+
* hidden input that may not submit, and a page where a reader has to look for a
|
|
250
|
+
* button to find out whether they pressed the right thing.
|
|
251
|
+
*
|
|
252
|
+
* **The Block holds no preference state, so a failed change is the caller's to
|
|
253
|
+
* show.** `event.on` is the truth, the switch is controlled from it, and
|
|
254
|
+
* `onToggle` is a request. A Block that moved the switch and rolled it back would
|
|
255
|
+
* show a reader a preference the product rejected, and a reader who left the page
|
|
256
|
+
* in the moment between would leave believing they had turned something off that
|
|
257
|
+
* was still on. The arrangement is the one a server action wants, and it is
|
|
258
|
+
* stated rather than hidden: with a slow network the switch does not move until
|
|
259
|
+
* the product answers, which is slower than the alternative and the only version
|
|
260
|
+
* of it that is not lying.
|
|
261
|
+
*
|
|
262
|
+
* It is a client Component, and the directive is unconditional: a surface that
|
|
263
|
+
* attaches a handler owns the JavaScript that carries it, and the directive is on
|
|
264
|
+
* the module rather than in a leaf so a consumer composing a server page gets the
|
|
265
|
+
* boundary in one place they can see. `Switch` is the only client leaf it draws,
|
|
266
|
+
* and it is a client leaf for the same reason.
|
|
267
|
+
*/
|
|
268
|
+
export declare function SettingsNotifications01({ eyebrow, title, description, channels, onToggle, updateLabel, disabledLabel, empty, headingLevel, className, }: SettingsNotifications01Props): import("react").JSX.Element;
|
|
269
|
+
export default SettingsNotifications01;
|
|
270
|
+
//# sourceMappingURL=settings-notifications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-notifications.d.ts","sourceRoot":"","sources":["../../../src/blocks/settings-notifications-01/settings-notifications.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAS,MAAM,OAAO,CAAA;AAG7C,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAA;AAGpC;;;;;;;;GAQG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,yEAAyE;IACzE,EAAE,EAAE,MAAM,CAAA;IACV;;;;;;;OAOG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB;;;;;;;OAOG;IACH,EAAE,EAAE,OAAO,CAAA;IACX;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC,2EAA2E;IAC3E,EAAE,EAAE,MAAM,CAAA;IACV,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,+EAA+E;IAC/E,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,0EAA0E;IAC1E,MAAM,EAAE,SAAS,0BAA0B,EAAE,CAAA;CAC9C,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC,+EAA+E;IAC/E,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,6FAA6F;IAC7F,KAAK,EAAE,SAAS,CAAA;IAChB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,qFAAqF;IACrF,QAAQ,EAAE,SAAS,4BAA4B,EAAE,CAAA;IACjD;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,KAAK,IAAI,CAAA;IACpE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,WAAW,CAAC,EAAE,CACZ,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EACrC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EACpC,EAAE,EAAE,OAAO,KACR,MAAM,CAAA;IACX;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;;OAMG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAyED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwGG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,aAAa,EACb,KAAK,EACL,YAAmB,EACnB,SAAS,GACV,EAAE,4BAA4B,+BAuL9B;AAED,eAAe,uBAAuB,CAAA"}
|