@smicolon/fasla-ui 0.5.1 → 0.7.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.
Files changed (962) hide show
  1. package/README.md +42 -14
  2. package/dist/cli/index.js +2286 -195
  3. package/dist/index.cjs +50 -12
  4. package/dist/index.js +50 -12
  5. package/dist/motion/index.cjs +12 -0
  6. package/dist/motion/index.d.cts +7 -0
  7. package/dist/motion/index.d.ts +7 -0
  8. package/dist/motion/index.js +12 -0
  9. package/dist/registry/index.cjs +4 -4
  10. package/dist/registry/index.js +4 -4
  11. package/dist/tokens/index.cjs +34 -8
  12. package/dist/tokens/index.d.cts +23 -1
  13. package/dist/tokens/index.d.ts +23 -1
  14. package/dist/tokens/index.js +34 -8
  15. package/package.json +12 -3
  16. package/registry/blocks/about-approach-stack-cards/AboutApproachStackCards.tsx +305 -0
  17. package/registry/blocks/about-approach-stack-cards/index.ts +9 -0
  18. package/registry/blocks/about-bento/AboutBento.tsx +442 -0
  19. package/registry/blocks/about-bento/index.ts +9 -0
  20. package/registry/blocks/about-collage-hero/AboutCollageHero.tsx +285 -0
  21. package/registry/blocks/about-collage-hero/index.ts +8 -0
  22. package/registry/blocks/about-color-bento/AboutColorBento.tsx +235 -0
  23. package/registry/blocks/about-color-bento/index.ts +6 -0
  24. package/registry/blocks/about-culture-masonry/AboutCultureMasonry.tsx +305 -0
  25. package/registry/blocks/about-culture-masonry/index.ts +9 -0
  26. package/registry/blocks/about-headline-photos/AboutHeadlinePhotos.tsx +270 -0
  27. package/registry/blocks/about-headline-photos/index.ts +8 -0
  28. package/registry/blocks/about-impact-stats-band/AboutImpactStatsBand.test.tsx +45 -0
  29. package/registry/blocks/about-impact-stats-band/AboutImpactStatsBand.tsx +348 -0
  30. package/registry/blocks/about-impact-stats-band/index.ts +9 -0
  31. package/registry/blocks/about-letter-card/AboutLetterCard.tsx +403 -0
  32. package/registry/blocks/about-letter-card/index.ts +9 -0
  33. package/registry/blocks/about-mission-statement-hero/AboutMissionStatementHero.tsx +282 -0
  34. package/registry/blocks/about-mission-statement-hero/index.ts +8 -0
  35. package/registry/blocks/about-numbered-rows/AboutNumberedRows.tsx +289 -0
  36. package/registry/blocks/about-numbered-rows/index.ts +7 -0
  37. package/registry/blocks/about-split-panel/AboutSplitPanel.tsx +247 -0
  38. package/registry/blocks/about-split-panel/index.ts +8 -0
  39. package/registry/blocks/about-spotlight/AboutSpotlight.tsx +260 -0
  40. package/registry/blocks/about-spotlight/index.ts +7 -0
  41. package/registry/blocks/about-statement-band/AboutStatementBand.tsx +236 -0
  42. package/registry/blocks/about-statement-band/index.ts +7 -0
  43. package/registry/blocks/about-story-photos/AboutStoryPhotos.test.tsx +12 -0
  44. package/registry/blocks/about-story-photos/AboutStoryPhotos.tsx +252 -0
  45. package/registry/blocks/about-story-photos/index.ts +8 -0
  46. package/registry/blocks/about-story-snapshots/AboutStorySnapshots.tsx +239 -0
  47. package/registry/blocks/about-story-snapshots/index.ts +8 -0
  48. package/registry/blocks/about-type-stack/AboutTypeStack.tsx +205 -0
  49. package/registry/blocks/about-type-stack/index.ts +6 -0
  50. package/registry/blocks/about-values-connector-list/AboutValuesConnectorList.tsx +316 -0
  51. package/registry/blocks/about-values-connector-list/index.ts +7 -0
  52. package/registry/blocks/about-values-focus/AboutValuesFocus.tsx +303 -0
  53. package/registry/blocks/about-values-focus/index.ts +8 -0
  54. package/registry/blocks/about-values-spotlight/AboutValuesSpotlight.tsx +265 -0
  55. package/registry/blocks/about-values-spotlight/index.ts +8 -0
  56. package/registry/blocks/auth-centered-card-sign-in/AuthCenteredCardSignIn.tsx +373 -0
  57. package/registry/blocks/auth-centered-card-sign-in/index.ts +9 -0
  58. package/registry/blocks/auth-check-your-email/AuthCheckYourEmail.tsx +366 -0
  59. package/registry/blocks/auth-check-your-email/index.ts +7 -0
  60. package/registry/blocks/auth-forgot-password/AuthForgotPassword.tsx +265 -0
  61. package/registry/blocks/auth-forgot-password/index.ts +8 -0
  62. package/registry/blocks/auth-locked-session-re-authenticate/AuthLockedSessionReAuthenticate.tsx +305 -0
  63. package/registry/blocks/auth-locked-session-re-authenticate/index.ts +8 -0
  64. package/registry/blocks/auth-magic-link-request/AuthMagicLinkRequest.tsx +336 -0
  65. package/registry/blocks/auth-magic-link-request/index.ts +8 -0
  66. package/registry/blocks/auth-minimal-centered-sign-in/AuthMinimalCenteredSignIn.tsx +261 -0
  67. package/registry/blocks/auth-minimal-centered-sign-in/index.ts +8 -0
  68. package/registry/blocks/auth-multi-step-sign-up-wizard/AuthMultiStepSignUpWizard.tsx +460 -0
  69. package/registry/blocks/auth-multi-step-sign-up-wizard/index.ts +8 -0
  70. package/registry/blocks/auth-otp-verification/AuthOtpVerification.tsx +348 -0
  71. package/registry/blocks/auth-otp-verification/index.ts +7 -0
  72. package/registry/blocks/auth-passkey-sign-in/AuthPasskeySignIn.tsx +294 -0
  73. package/registry/blocks/auth-passkey-sign-in/index.ts +8 -0
  74. package/registry/blocks/auth-password-changed/AuthPasswordChanged.tsx +239 -0
  75. package/registry/blocks/auth-password-changed/index.ts +8 -0
  76. package/registry/blocks/auth-phone-number-sign-in/AuthPhoneNumberSignIn.tsx +402 -0
  77. package/registry/blocks/auth-phone-number-sign-in/index.ts +10 -0
  78. package/registry/blocks/auth-photo-background-sign-in/AuthPhotoBackgroundSignIn.tsx +398 -0
  79. package/registry/blocks/auth-photo-background-sign-in/index.ts +10 -0
  80. package/registry/blocks/auth-profile-setup-onboarding/AuthProfileSetupOnboarding.tsx +420 -0
  81. package/registry/blocks/auth-profile-setup-onboarding/index.ts +7 -0
  82. package/registry/blocks/auth-qr-device-login/AuthQrDeviceLogin.tsx +303 -0
  83. package/registry/blocks/auth-qr-device-login/index.ts +7 -0
  84. package/registry/blocks/auth-reset-password/AuthResetPassword.tsx +313 -0
  85. package/registry/blocks/auth-reset-password/index.ts +7 -0
  86. package/registry/blocks/auth-sign-in-error-state/AuthSignInErrorState.tsx +419 -0
  87. package/registry/blocks/auth-sign-in-error-state/index.ts +9 -0
  88. package/registry/blocks/auth-sign-up-benefits-column/AuthSignUpBenefitsColumn.tsx +481 -0
  89. package/registry/blocks/auth-sign-up-benefits-column/index.ts +10 -0
  90. package/registry/blocks/auth-sign-up-password-strength/AuthSignUpPasswordStrength.tsx +511 -0
  91. package/registry/blocks/auth-sign-up-password-strength/index.ts +8 -0
  92. package/registry/blocks/auth-social-first-sign-in/AuthSocialFirstSignIn.tsx +337 -0
  93. package/registry/blocks/auth-social-first-sign-in/index.ts +9 -0
  94. package/registry/blocks/auth-split-photo-sign-in/AuthSplitPhotoSignIn.tsx +472 -0
  95. package/registry/blocks/auth-split-photo-sign-in/index.ts +11 -0
  96. package/registry/blocks/auth-split-testimonial-sign-up/AuthSplitTestimonialSignUp.tsx +548 -0
  97. package/registry/blocks/auth-split-testimonial-sign-up/index.ts +11 -0
  98. package/registry/blocks/auth-tabbed-sign-in-sign-up/AuthTabbedSignInSignUp.tsx +566 -0
  99. package/registry/blocks/auth-tabbed-sign-in-sign-up/index.ts +11 -0
  100. package/registry/blocks/auth-team-invite-accept/AuthTeamInviteAccept.tsx +372 -0
  101. package/registry/blocks/auth-team-invite-accept/index.ts +9 -0
  102. package/registry/blocks/auth-two-factor-authenticator/AuthTwoFactorAuthenticator.tsx +333 -0
  103. package/registry/blocks/auth-two-factor-authenticator/index.ts +7 -0
  104. package/registry/blocks/auth-two-factor-method-chooser/AuthTwoFactorMethodChooser.tsx +290 -0
  105. package/registry/blocks/auth-two-factor-method-chooser/index.ts +8 -0
  106. package/registry/blocks/auth-waitlist-early-access/AuthWaitlistEarlyAccess.tsx +430 -0
  107. package/registry/blocks/auth-waitlist-early-access/index.ts +11 -0
  108. package/registry/blocks/blog-cards-alongside.test.tsx +176 -0
  109. package/registry/blocks/blog-cards-author-spotlight/BlogCardsAuthorSpotlight.tsx +342 -0
  110. package/registry/blocks/blog-cards-author-spotlight/index.ts +6 -0
  111. package/registry/blocks/blog-cards-bento-editorial-grid/BlogCardsBentoEditorialGrid.tsx +345 -0
  112. package/registry/blocks/blog-cards-bento-editorial-grid/index.ts +7 -0
  113. package/registry/blocks/blog-cards-browse.test.tsx +367 -0
  114. package/registry/blocks/blog-cards-classic-3-up-grid/BlogCardsClassic3UpGrid.tsx +287 -0
  115. package/registry/blocks/blog-cards-classic-3-up-grid/index.ts +7 -0
  116. package/registry/blocks/blog-cards-compact-4-up-thumb-grid/BlogCardsCompact4UpThumbGrid.tsx +265 -0
  117. package/registry/blocks/blog-cards-compact-4-up-thumb-grid/index.ts +7 -0
  118. package/registry/blocks/blog-cards-dark-editorial-feature/BlogCardsDarkEditorialFeature.tsx +287 -0
  119. package/registry/blocks/blog-cards-dark-editorial-feature/index.ts +6 -0
  120. package/registry/blocks/blog-cards-featured-two-up/BlogCardsFeaturedTwoUp.tsx +295 -0
  121. package/registry/blocks/blog-cards-featured-two-up/index.ts +7 -0
  122. package/registry/blocks/blog-cards-features.test.tsx +183 -0
  123. package/registry/blocks/blog-cards-filter-sidebar-results/BlogCardsFilterSidebarResults.tsx +582 -0
  124. package/registry/blocks/blog-cards-filter-sidebar-results/index.ts +6 -0
  125. package/registry/blocks/blog-cards-grids.test.tsx +110 -0
  126. package/registry/blocks/blog-cards-hairline-text-index/BlogCardsHairlineTextIndex.tsx +193 -0
  127. package/registry/blocks/blog-cards-hairline-text-index/index.ts +7 -0
  128. package/registry/blocks/blog-cards-journal-bento/BlogCardsJournalBento.tsx +409 -0
  129. package/registry/blocks/blog-cards-journal-bento/index.ts +8 -0
  130. package/registry/blocks/blog-cards-latest-popular-split/BlogCardsLatestPopularSplit.tsx +258 -0
  131. package/registry/blocks/blog-cards-latest-popular-split/index.ts +7 -0
  132. package/registry/blocks/blog-cards-lead-ranked-picks/BlogCardsLeadRankedPicks.tsx +276 -0
  133. package/registry/blocks/blog-cards-lead-ranked-picks/index.ts +6 -0
  134. package/registry/blocks/blog-cards-left-thumb-row-cards/BlogCardsLeftThumbRowCards.tsx +288 -0
  135. package/registry/blocks/blog-cards-left-thumb-row-cards/index.ts +7 -0
  136. package/registry/blocks/blog-cards-lists.test.tsx +93 -0
  137. package/registry/blocks/blog-cards-magazine-cover-story/BlogCardsMagazineCoverStory.tsx +326 -0
  138. package/registry/blocks/blog-cards-magazine-cover-story/index.ts +6 -0
  139. package/registry/blocks/blog-cards-newsletter-latest/BlogCardsNewsletterLatest.tsx +291 -0
  140. package/registry/blocks/blog-cards-newsletter-latest/index.ts +6 -0
  141. package/registry/blocks/blog-cards-numbered-reading-list/BlogCardsNumberedReadingList.tsx +275 -0
  142. package/registry/blocks/blog-cards-numbered-reading-list/index.ts +7 -0
  143. package/registry/blocks/blog-cards-overlay-photo-trio/BlogCardsOverlayPhotoTrio.tsx +279 -0
  144. package/registry/blocks/blog-cards-overlay-photo-trio/index.ts +7 -0
  145. package/registry/blocks/blog-cards-post-carousel-with-controls/BlogCardsPostCarouselWithControls.tsx +257 -0
  146. package/registry/blocks/blog-cards-post-carousel-with-controls/index.ts +6 -0
  147. package/registry/blocks/blog-cards-pull-quote-feature/BlogCardsPullQuoteFeature.tsx +245 -0
  148. package/registry/blocks/blog-cards-pull-quote-feature/index.ts +6 -0
  149. package/registry/blocks/blog-cards-related-posts-strip/BlogCardsRelatedPostsStrip.tsx +247 -0
  150. package/registry/blocks/blog-cards-related-posts-strip/index.ts +6 -0
  151. package/registry/blocks/blog-cards-search-chips-results/BlogCardsSearchChipsResults.tsx +473 -0
  152. package/registry/blocks/blog-cards-search-chips-results/index.ts +6 -0
  153. package/registry/blocks/blog-cards-split-feature/BlogCardsSplitFeature.tsx +214 -0
  154. package/registry/blocks/blog-cards-split-feature/index.ts +6 -0
  155. package/registry/blocks/careers/careers.test.tsx +414 -0
  156. package/registry/blocks/careers/careers.tsx +391 -0
  157. package/registry/blocks/careers/index.ts +27 -0
  158. package/registry/blocks/careers-about-card-role-list/CareersAboutCardRoleList.tsx +235 -0
  159. package/registry/blocks/careers-about-card-role-list/index.ts +8 -0
  160. package/registry/blocks/careers-featured-role-spotlight/CareersFeaturedRoleSpotlight.tsx +271 -0
  161. package/registry/blocks/careers-featured-role-spotlight/index.ts +8 -0
  162. package/registry/blocks/careers-no-open-roles-empty-state/CareersNoOpenRolesEmptyState.tsx +330 -0
  163. package/registry/blocks/careers-no-open-roles-empty-state/index.ts +8 -0
  164. package/registry/blocks/careers-open-roles-hairline-list/CareersOpenRolesHairlineList.tsx +320 -0
  165. package/registry/blocks/careers-open-roles-hairline-list/index.ts +6 -0
  166. package/registry/blocks/careers-open-vacancies-table/CareersOpenVacanciesTable.tsx +493 -0
  167. package/registry/blocks/careers-open-vacancies-table/index.ts +6 -0
  168. package/registry/blocks/careers-perks-benefits/CareersPerksBenefits.tsx +181 -0
  169. package/registry/blocks/careers-perks-benefits/index.ts +8 -0
  170. package/registry/blocks/careers-role-cards-grid/CareersRoleCardsGrid.tsx +405 -0
  171. package/registry/blocks/careers-role-cards-grid/index.ts +6 -0
  172. package/registry/blocks/careers-role-detail-page/CareersRoleDetailPage.tsx +541 -0
  173. package/registry/blocks/careers-role-detail-page/index.ts +10 -0
  174. package/registry/blocks/careers-role-detail-panel/CareersRoleDetailPanel.tsx +255 -0
  175. package/registry/blocks/careers-role-detail-panel/index.ts +6 -0
  176. package/registry/blocks/careers-roles-by-department/CareersRolesByDepartment.tsx +242 -0
  177. package/registry/blocks/careers-roles-by-department/index.ts +7 -0
  178. package/registry/blocks/careers-roles-list-accordion-expanded/CareersRolesListAccordionExpanded.tsx +558 -0
  179. package/registry/blocks/careers-roles-list-accordion-expanded/index.ts +9 -0
  180. package/registry/blocks/contact-us/contact-us.test.tsx +239 -0
  181. package/registry/blocks/contact-us/contact-us.tsx +989 -0
  182. package/registry/blocks/contact-us/index.ts +34 -0
  183. package/registry/blocks/contact-us-bento-grid/ContactUsBentoGrid.tsx +304 -0
  184. package/registry/blocks/contact-us-bento-grid/index.ts +5 -0
  185. package/registry/blocks/contact-us-bento-grid.test.tsx +102 -0
  186. package/registry/blocks/contact-us-book-a-call/ContactUsBookACall.tsx +403 -0
  187. package/registry/blocks/contact-us-book-a-call/index.ts +7 -0
  188. package/registry/blocks/contact-us-book-a-call.test.tsx +134 -0
  189. package/registry/blocks/contact-us-classic-centered/ContactUsClassicCentered.tsx +199 -0
  190. package/registry/blocks/contact-us-classic-centered/index.ts +6 -0
  191. package/registry/blocks/contact-us-dark-statement/ContactUsDarkStatement.tsx +218 -0
  192. package/registry/blocks/contact-us-dark-statement/index.ts +6 -0
  193. package/registry/blocks/contact-us-editorial-and-address-card/ContactUsEditorialAndAddressCard.tsx +212 -0
  194. package/registry/blocks/contact-us-editorial-and-address-card/index.ts +6 -0
  195. package/registry/blocks/contact-us-editorial-statement/ContactUsEditorialStatement.tsx +205 -0
  196. package/registry/blocks/contact-us-editorial-statement/index.ts +6 -0
  197. package/registry/blocks/contact-us-form-contact-methods/ContactUsFormContactMethods.tsx +272 -0
  198. package/registry/blocks/contact-us-form-contact-methods/index.ts +6 -0
  199. package/registry/blocks/contact-us-form-with-faq/ContactUsFormWithFaq.tsx +383 -0
  200. package/registry/blocks/contact-us-form-with-faq/index.ts +7 -0
  201. package/registry/blocks/contact-us-form-with-faq.test.tsx +161 -0
  202. package/registry/blocks/contact-us-forms.test.tsx +333 -0
  203. package/registry/blocks/contact-us-global-offices-table/ContactUsGlobalOfficesTable.tsx +301 -0
  204. package/registry/blocks/contact-us-global-offices-table/index.ts +5 -0
  205. package/registry/blocks/contact-us-global-offices-table.test.tsx +100 -0
  206. package/registry/blocks/contact-us-grand-headline-form/ContactUsGrandHeadlineForm.tsx +180 -0
  207. package/registry/blocks/contact-us-grand-headline-form/index.ts +6 -0
  208. package/registry/blocks/contact-us-hours-and-availability/ContactUsHoursAndAvailability.tsx +412 -0
  209. package/registry/blocks/contact-us-hours-and-availability/index.ts +5 -0
  210. package/registry/blocks/contact-us-hours-and-availability.test.tsx +123 -0
  211. package/registry/blocks/contact-us-hq-feature/ContactUsHqFeature.tsx +281 -0
  212. package/registry/blocks/contact-us-hq-feature/index.ts +5 -0
  213. package/registry/blocks/contact-us-hq-feature.test.tsx +102 -0
  214. package/registry/blocks/contact-us-map-split/ContactUsMapSplit.tsx +211 -0
  215. package/registry/blocks/contact-us-map-split/index.ts +5 -0
  216. package/registry/blocks/contact-us-map-split.test.tsx +70 -0
  217. package/registry/blocks/contact-us-named-owners/ContactUsNamedOwners.tsx +324 -0
  218. package/registry/blocks/contact-us-named-owners/index.ts +6 -0
  219. package/registry/blocks/contact-us-named-owners.test.tsx +116 -0
  220. package/registry/blocks/contact-us-newsletter-combo/ContactUsNewsletterCombo.tsx +363 -0
  221. package/registry/blocks/contact-us-newsletter-combo/index.ts +6 -0
  222. package/registry/blocks/contact-us-newsletter-combo.test.tsx +165 -0
  223. package/registry/blocks/contact-us-office-cards/ContactUsOfficeCards.tsx +235 -0
  224. package/registry/blocks/contact-us-office-cards/index.ts +5 -0
  225. package/registry/blocks/contact-us-office-cards.test.tsx +71 -0
  226. package/registry/blocks/contact-us-oversized-wordmark/ContactUsOversizedWordmark.tsx +222 -0
  227. package/registry/blocks/contact-us-oversized-wordmark/index.ts +6 -0
  228. package/registry/blocks/contact-us-photo-and-dark-panel/ContactUsPhotoAndDarkPanel.tsx +185 -0
  229. package/registry/blocks/contact-us-photo-and-dark-panel/index.ts +6 -0
  230. package/registry/blocks/contact-us-photo-forms.test.tsx +311 -0
  231. package/registry/blocks/contact-us-pitch-and-inquiry/ContactUsPitchAndInquiry.tsx +202 -0
  232. package/registry/blocks/contact-us-pitch-and-inquiry/index.ts +6 -0
  233. package/registry/blocks/contact-us-rtl.test.tsx +105 -0
  234. package/registry/blocks/contact-us-ruled-split-form/ContactUsRuledSplitForm.tsx +214 -0
  235. package/registry/blocks/contact-us-ruled-split-form/index.ts +6 -0
  236. package/registry/blocks/contact-us-social-rail/ContactUsSocialRail.tsx +270 -0
  237. package/registry/blocks/contact-us-social-rail/index.ts +7 -0
  238. package/registry/blocks/contact-us-social-rail.test.tsx +121 -0
  239. package/registry/blocks/contact-us-split-photo-dark/ContactUsSplitPhotoDark.tsx +185 -0
  240. package/registry/blocks/contact-us-split-photo-dark/index.ts +6 -0
  241. package/registry/blocks/contact-us-support-channels/ContactUsSupportChannels.tsx +267 -0
  242. package/registry/blocks/contact-us-support-channels/index.ts +5 -0
  243. package/registry/blocks/contact-us-support-channels.test.tsx +81 -0
  244. package/registry/blocks/data-table/DataTable.test.tsx +1 -34
  245. package/registry/blocks/data-table/DataTable.tsx +0 -139
  246. package/registry/blocks/data-table/index.ts +1 -8
  247. package/registry/blocks/error-state-access-denied-403/ErrorStateAccessDenied403.tsx +324 -0
  248. package/registry/blocks/error-state-access-denied-403/index.ts +10 -0
  249. package/registry/blocks/error-state-broken-trail-breadcrumb/ErrorStateBrokenTrailBreadcrumb.tsx +179 -0
  250. package/registry/blocks/error-state-broken-trail-breadcrumb/index.ts +8 -0
  251. package/registry/blocks/error-state-centered-minimal/ErrorStateCenteredMinimal.tsx +119 -0
  252. package/registry/blocks/error-state-centered-minimal/index.ts +7 -0
  253. package/registry/blocks/error-state-colour-field-scatter/ErrorStateColourFieldScatter.tsx +144 -0
  254. package/registry/blocks/error-state-colour-field-scatter/index.ts +7 -0
  255. package/registry/blocks/error-state-countdown-redirect/ErrorStateCountdownRedirect.tsx +272 -0
  256. package/registry/blocks/error-state-countdown-redirect/index.ts +7 -0
  257. package/registry/blocks/error-state-dark-spotlight/ErrorStateDarkSpotlight.tsx +156 -0
  258. package/registry/blocks/error-state-dark-spotlight/index.ts +7 -0
  259. package/registry/blocks/error-state-display-numeral-split/ErrorStateDisplayNumeralSplit.tsx +156 -0
  260. package/registry/blocks/error-state-display-numeral-split/index.ts +8 -0
  261. package/registry/blocks/error-state-editorial-photo-split/ErrorStateEditorialPhotoSplit.tsx +156 -0
  262. package/registry/blocks/error-state-editorial-photo-split/index.ts +8 -0
  263. package/registry/blocks/error-state-empty-search-results/ErrorStateEmptySearchResults.tsx +243 -0
  264. package/registry/blocks/error-state-empty-search-results/index.ts +6 -0
  265. package/registry/blocks/error-state-error-card-panel/ErrorStateErrorCardPanel.tsx +213 -0
  266. package/registry/blocks/error-state-error-card-panel/index.ts +7 -0
  267. package/registry/blocks/error-state-full-bleed-photo/ErrorStateFullBleedPhoto.tsx +130 -0
  268. package/registry/blocks/error-state-full-bleed-photo/index.ts +8 -0
  269. package/registry/blocks/error-state-ghost-watermark/ErrorStateGhostWatermark.tsx +115 -0
  270. package/registry/blocks/error-state-ghost-watermark/index.ts +7 -0
  271. package/registry/blocks/error-state-helpful-links-list/ErrorStateHelpfulLinksList.tsx +185 -0
  272. package/registry/blocks/error-state-helpful-links-list/index.ts +8 -0
  273. package/registry/blocks/error-state-illustrated-empty-state/ErrorStateIllustratedEmptyState.tsx +201 -0
  274. package/registry/blocks/error-state-illustrated-empty-state/index.ts +7 -0
  275. package/registry/blocks/error-state-layered-badge-centered/ErrorStateLayeredBadgeCentered.tsx +138 -0
  276. package/registry/blocks/error-state-layered-badge-centered/index.ts +7 -0
  277. package/registry/blocks/error-state-light-editorial/ErrorStateLightEditorial.tsx +126 -0
  278. package/registry/blocks/error-state-light-editorial/index.ts +7 -0
  279. package/registry/blocks/error-state-maintenance-mode/ErrorStateMaintenanceMode.tsx +255 -0
  280. package/registry/blocks/error-state-maintenance-mode/index.ts +6 -0
  281. package/registry/blocks/error-state-marquee-404-band/ErrorStateMarquee404Band.tsx +316 -0
  282. package/registry/blocks/error-state-marquee-404-band/index.ts +7 -0
  283. package/registry/blocks/error-state-offline-state/ErrorStateOfflineState.tsx +188 -0
  284. package/registry/blocks/error-state-offline-state/index.ts +7 -0
  285. package/registry/blocks/error-state-photo-collage-scatter/ErrorStatePhotoCollageScatter.tsx +224 -0
  286. package/registry/blocks/error-state-photo-collage-scatter/index.ts +8 -0
  287. package/registry/blocks/error-state-popular-pages-grid/ErrorStatePopularPagesGrid.tsx +195 -0
  288. package/registry/blocks/error-state-popular-pages-grid/index.ts +9 -0
  289. package/registry/blocks/error-state-recovery-bento/ErrorStateRecoveryBento.tsx +274 -0
  290. package/registry/blocks/error-state-recovery-bento/index.ts +7 -0
  291. package/registry/blocks/error-state-search-recovery/ErrorStateSearchRecovery.tsx +173 -0
  292. package/registry/blocks/error-state-search-recovery/index.ts +7 -0
  293. package/registry/blocks/error-state-server-error-500/ErrorStateServerError500.tsx +277 -0
  294. package/registry/blocks/error-state-server-error-500/index.ts +9 -0
  295. package/registry/blocks/error-state-sitemap-columns/ErrorStateSitemapColumns.tsx +192 -0
  296. package/registry/blocks/error-state-sitemap-columns/index.ts +9 -0
  297. package/registry/blocks/error-state-split-colour-panel/ErrorStateSplitColourPanel.tsx +156 -0
  298. package/registry/blocks/error-state-split-colour-panel/index.ts +7 -0
  299. package/registry/blocks/error-state-support-escalation-band/ErrorStateSupportEscalationBand.tsx +186 -0
  300. package/registry/blocks/error-state-support-escalation-band/index.ts +8 -0
  301. package/registry/blocks/error-state-terminal-console/ErrorStateTerminalConsole.tsx +208 -0
  302. package/registry/blocks/error-state-terminal-console/index.ts +8 -0
  303. package/registry/blocks/faq-accent-active-card/FaqAccentActiveCard.tsx +186 -0
  304. package/registry/blocks/faq-accent-active-card/index.ts +1 -0
  305. package/registry/blocks/faq-category-chip-grid/FaqCategoryChipGrid.tsx +425 -0
  306. package/registry/blocks/faq-category-chip-grid/index.ts +8 -0
  307. package/registry/blocks/faq-category-columns/FaqCategoryColumns.tsx +248 -0
  308. package/registry/blocks/faq-category-columns/index.ts +8 -0
  309. package/registry/blocks/faq-chat-thread/FaqChatThread.tsx +273 -0
  310. package/registry/blocks/faq-chat-thread/index.ts +7 -0
  311. package/registry/blocks/faq-classic-centered/FaqClassicCentered.tsx +190 -0
  312. package/registry/blocks/faq-classic-centered/index.ts +7 -0
  313. package/registry/blocks/faq-contact-cta-card/FaqContactCtaCard.tsx +229 -0
  314. package/registry/blocks/faq-contact-cta-card/index.ts +9 -0
  315. package/registry/blocks/faq-dark-panel/FaqDarkPanel.tsx +186 -0
  316. package/registry/blocks/faq-dark-panel/index.ts +1 -0
  317. package/registry/blocks/faq-featured-question/FaqFeaturedQuestion.tsx +221 -0
  318. package/registry/blocks/faq-featured-question/index.ts +1 -0
  319. package/registry/blocks/faq-grouped-sections/FaqGroupedSections.tsx +266 -0
  320. package/registry/blocks/faq-grouped-sections/index.ts +8 -0
  321. package/registry/blocks/faq-help-hero-popular/FaqHelpHeroPopular.tsx +212 -0
  322. package/registry/blocks/faq-help-hero-popular/index.ts +7 -0
  323. package/registry/blocks/faq-masonry-cards/FaqMasonryCards.tsx +268 -0
  324. package/registry/blocks/faq-masonry-cards/index.ts +7 -0
  325. package/registry/blocks/faq-media-split/FaqMediaSplit.tsx +197 -0
  326. package/registry/blocks/faq-media-split/index.ts +8 -0
  327. package/registry/blocks/faq-mono-index/FaqMonoIndex.tsx +247 -0
  328. package/registry/blocks/faq-mono-index/index.ts +1 -0
  329. package/registry/blocks/faq-newsletter-close/FaqNewsletterClose.tsx +314 -0
  330. package/registry/blocks/faq-newsletter-close/index.ts +8 -0
  331. package/registry/blocks/faq-numbered-editorial/FaqNumberedEditorial.tsx +190 -0
  332. package/registry/blocks/faq-numbered-editorial/index.ts +1 -0
  333. package/registry/blocks/faq-search-categories/FaqSearchCategories.tsx +312 -0
  334. package/registry/blocks/faq-search-categories/index.ts +8 -0
  335. package/registry/blocks/faq-sidebar-nav/FaqSidebarNav.tsx +390 -0
  336. package/registry/blocks/faq-sidebar-nav/index.ts +8 -0
  337. package/registry/blocks/faq-soft-filled-rows/FaqSoftFilledRows.tsx +209 -0
  338. package/registry/blocks/faq-soft-filled-rows/index.ts +1 -0
  339. package/registry/blocks/faq-split-sticky/FaqSplitSticky.tsx +205 -0
  340. package/registry/blocks/faq-split-sticky/index.ts +7 -0
  341. package/registry/blocks/faq-support-channels/FaqSupportChannels.tsx +266 -0
  342. package/registry/blocks/faq-support-channels/index.ts +8 -0
  343. package/registry/blocks/faq-support-stats/FaqSupportStats.tsx +242 -0
  344. package/registry/blocks/faq-support-stats/index.ts +8 -0
  345. package/registry/blocks/faq-table-compact/FaqTableCompact.tsx +220 -0
  346. package/registry/blocks/faq-table-compact/index.ts +1 -0
  347. package/registry/blocks/faq-tabs-by-topic/FaqTabsByTopic.tsx +347 -0
  348. package/registry/blocks/faq-tabs-by-topic/index.ts +8 -0
  349. package/registry/blocks/faq-topic-tiles/FaqTopicTiles.tsx +254 -0
  350. package/registry/blocks/faq-topic-tiles/index.ts +7 -0
  351. package/registry/blocks/faq-two-column-grid/FaqTwoColumnGrid.tsx +256 -0
  352. package/registry/blocks/faq-two-column-grid/index.ts +7 -0
  353. package/registry/blocks/faq-uppercase-dense/FaqUppercaseDense.tsx +213 -0
  354. package/registry/blocks/faq-uppercase-dense/index.ts +1 -0
  355. package/registry/blocks/features/features.tsx +164 -0
  356. package/registry/blocks/features/index.ts +12 -0
  357. package/registry/blocks/features-accordion-photo/FeaturesAccordionPhoto.tsx +149 -0
  358. package/registry/blocks/features-accordion-photo/index.ts +7 -0
  359. package/registry/blocks/features-colour-block-cards/FeaturesColourBlockCards.tsx +118 -0
  360. package/registry/blocks/features-colour-block-cards/index.ts +8 -0
  361. package/registry/blocks/features-compact-icon-index/FeaturesCompactIconIndex.tsx +136 -0
  362. package/registry/blocks/features-compact-icon-index/index.ts +7 -0
  363. package/registry/blocks/features-compare-panels-chat-answer/FeaturesComparePanelsChatAnswer.tsx +346 -0
  364. package/registry/blocks/features-compare-panels-chat-answer/index.ts +8 -0
  365. package/registry/blocks/features-editorial-photo-split/FeaturesEditorialPhotoSplit.tsx +118 -0
  366. package/registry/blocks/features-editorial-photo-split/index.ts +7 -0
  367. package/registry/blocks/features-expanding-step-cards/FeaturesExpandingStepCards.tsx +300 -0
  368. package/registry/blocks/features-expanding-step-cards/index.ts +7 -0
  369. package/registry/blocks/features-feature-checklist-columns/FeaturesFeatureChecklistColumns.tsx +158 -0
  370. package/registry/blocks/features-feature-checklist-columns/index.ts +7 -0
  371. package/registry/blocks/features-feature-list-thumbnails/FeaturesFeatureListThumbnails.tsx +137 -0
  372. package/registry/blocks/features-feature-list-thumbnails/index.ts +7 -0
  373. package/registry/blocks/features-full-bleed-photo-banner/FeaturesFullBleedPhotoBanner.tsx +116 -0
  374. package/registry/blocks/features-full-bleed-photo-banner/index.ts +7 -0
  375. package/registry/blocks/features-icon-card-grid/FeaturesIconCardGrid.tsx +120 -0
  376. package/registry/blocks/features-icon-card-grid/index.ts +7 -0
  377. package/registry/blocks/features-icon-titled-preview-rail/FeaturesIconTitledPreviewRail.tsx +321 -0
  378. package/registry/blocks/features-icon-titled-preview-rail/index.ts +7 -0
  379. package/registry/blocks/features-icons-numbers.test.tsx +107 -0
  380. package/registry/blocks/features-interactive.test.tsx +175 -0
  381. package/registry/blocks/features-media-rail/FeaturesMediaRail.tsx +119 -0
  382. package/registry/blocks/features-media-rail/index.ts +7 -0
  383. package/registry/blocks/features-notched-photo-columns/FeaturesNotchedPhotoColumns.tsx +209 -0
  384. package/registry/blocks/features-notched-photo-columns/index.ts +7 -0
  385. package/registry/blocks/features-numbered-feature-rows/FeaturesNumberedFeatureRows.tsx +107 -0
  386. package/registry/blocks/features-numbered-feature-rows/index.ts +7 -0
  387. package/registry/blocks/features-numbered-steps-floating-cards/FeaturesNumberedStepsFloatingCards.tsx +324 -0
  388. package/registry/blocks/features-numbered-steps-floating-cards/index.ts +8 -0
  389. package/registry/blocks/features-perforated-photo-strip/FeaturesPerforatedPhotoStrip.tsx +218 -0
  390. package/registry/blocks/features-perforated-photo-strip/index.ts +7 -0
  391. package/registry/blocks/features-photo-bento/FeaturesPhotoBento.tsx +160 -0
  392. package/registry/blocks/features-photo-bento/index.ts +8 -0
  393. package/registry/blocks/features-photo-carousel/FeaturesPhotoCarousel.tsx +249 -0
  394. package/registry/blocks/features-photo-carousel/index.ts +7 -0
  395. package/registry/blocks/features-photo-collage/FeaturesPhotoCollage.tsx +143 -0
  396. package/registry/blocks/features-photo-collage/index.ts +7 -0
  397. package/registry/blocks/features-photo-feature-chips/FeaturesPhotoFeatureChips.tsx +125 -0
  398. package/registry/blocks/features-photo-feature-chips/index.ts +7 -0
  399. package/registry/blocks/features-photo-led.test.tsx +177 -0
  400. package/registry/blocks/features-photo-tabs-panel/FeaturesPhotoTabsPanel.tsx +197 -0
  401. package/registry/blocks/features-photo-tabs-panel/index.ts +7 -0
  402. package/registry/blocks/features-portrait-photo-cards-link-row/FeaturesPortraitPhotoCardsLinkRow.tsx +202 -0
  403. package/registry/blocks/features-portrait-photo-cards-link-row/index.ts +7 -0
  404. package/registry/blocks/features-product-in-use.test.tsx +188 -0
  405. package/registry/blocks/features-showcase-card-pair/FeaturesShowcaseCardPair.tsx +161 -0
  406. package/registry/blocks/features-showcase-card-pair/index.ts +7 -0
  407. package/registry/blocks/features-solid-colour-cards/FeaturesSolidColourCards.tsx +264 -0
  408. package/registry/blocks/features-solid-colour-cards/index.ts +7 -0
  409. package/registry/blocks/features-split-photo-icon-list/FeaturesSplitPhotoIconList.tsx +117 -0
  410. package/registry/blocks/features-split-photo-icon-list/index.ts +7 -0
  411. package/registry/blocks/features-stat-feature-band/FeaturesStatFeatureBand.tsx +114 -0
  412. package/registry/blocks/features-stat-feature-band/index.ts +7 -0
  413. package/registry/blocks/features-tinted-product-bento/FeaturesTintedProductBento.tsx +252 -0
  414. package/registry/blocks/features-tinted-product-bento/index.ts +7 -0
  415. package/registry/blocks/footer/footer.test.tsx +253 -0
  416. package/registry/blocks/footer/footer.tsx +554 -0
  417. package/registry/blocks/footer/index.ts +31 -0
  418. package/registry/blocks/footer-accordion-sitemap/FooterAccordionSitemap.tsx +260 -0
  419. package/registry/blocks/footer-accordion-sitemap/index.ts +7 -0
  420. package/registry/blocks/footer-bars.test.tsx +121 -0
  421. package/registry/blocks/footer-bento-tile/FooterBentoTile.tsx +331 -0
  422. package/registry/blocks/footer-bento-tile/index.ts +6 -0
  423. package/registry/blocks/footer-big-question-cta/FooterBigQuestionCta.tsx +250 -0
  424. package/registry/blocks/footer-big-question-cta/index.ts +6 -0
  425. package/registry/blocks/footer-big-type-link-stack/FooterBigTypeLinkStack.tsx +275 -0
  426. package/registry/blocks/footer-big-type-link-stack/index.ts +6 -0
  427. package/registry/blocks/footer-brand-panel-split/FooterBrandPanelSplit.tsx +163 -0
  428. package/registry/blocks/footer-brand-panel-split/index.ts +6 -0
  429. package/registry/blocks/footer-brand.test.tsx +608 -0
  430. package/registry/blocks/footer-careers-culture/FooterCareersCulture.tsx +297 -0
  431. package/registry/blocks/footer-careers-culture/index.ts +7 -0
  432. package/registry/blocks/footer-centered-brand-minimal/FooterCenteredBrandMinimal.tsx +121 -0
  433. package/registry/blocks/footer-centered-brand-minimal/index.ts +6 -0
  434. package/registry/blocks/footer-commerce.test.tsx +208 -0
  435. package/registry/blocks/footer-community-events/FooterCommunityEvents.tsx +263 -0
  436. package/registry/blocks/footer-community-events/index.ts +8 -0
  437. package/registry/blocks/footer-community.test.tsx +309 -0
  438. package/registry/blocks/footer-contact-first/FooterContactFirst.tsx +242 -0
  439. package/registry/blocks/footer-contact-first/index.ts +7 -0
  440. package/registry/blocks/footer-contact.test.tsx +285 -0
  441. package/registry/blocks/footer-controls.test.tsx +78 -0
  442. package/registry/blocks/footer-cta-band-columns/FooterCtaBandColumns.tsx +225 -0
  443. package/registry/blocks/footer-cta-band-columns/index.ts +6 -0
  444. package/registry/blocks/footer-cta.test.tsx +445 -0
  445. package/registry/blocks/footer-dashboard-slim-bar/FooterDashboardSlimBar.tsx +148 -0
  446. package/registry/blocks/footer-dashboard-slim-bar/index.ts +6 -0
  447. package/registry/blocks/footer-docs-page/FooterDocsPage.tsx +261 -0
  448. package/registry/blocks/footer-docs-page/index.ts +9 -0
  449. package/registry/blocks/footer-ecommerce-mega/FooterEcommerceMega.tsx +289 -0
  450. package/registry/blocks/footer-ecommerce-mega/index.ts +6 -0
  451. package/registry/blocks/footer-floating-demo-card/FooterFloatingDemoCard.tsx +261 -0
  452. package/registry/blocks/footer-floating-demo-card/index.ts +6 -0
  453. package/registry/blocks/footer-four-column-directory/FooterFourColumnDirectory.tsx +104 -0
  454. package/registry/blocks/footer-four-column-directory/index.ts +6 -0
  455. package/registry/blocks/footer-giant-wordmark/FooterGiantWordmark.tsx +252 -0
  456. package/registry/blocks/footer-giant-wordmark/index.ts +6 -0
  457. package/registry/blocks/footer-image-backed-brand/FooterImageBackedBrand.tsx +251 -0
  458. package/registry/blocks/footer-image-backed-brand/index.ts +6 -0
  459. package/registry/blocks/footer-index-numbered-columns/FooterIndexNumberedColumns.tsx +236 -0
  460. package/registry/blocks/footer-index-numbered-columns/index.ts +7 -0
  461. package/registry/blocks/footer-inline-preferences/FooterInlinePreferences.tsx +164 -0
  462. package/registry/blocks/footer-inline-preferences/index.ts +7 -0
  463. package/registry/blocks/footer-legal-first-slim/FooterLegalFirstSlim.tsx +174 -0
  464. package/registry/blocks/footer-legal-first-slim/index.ts +6 -0
  465. package/registry/blocks/footer-legal.test.tsx +180 -0
  466. package/registry/blocks/footer-local-business/FooterLocalBusiness.tsx +258 -0
  467. package/registry/blocks/footer-local-business/index.ts +7 -0
  468. package/registry/blocks/footer-marquee-strip/FooterMarqueeStrip.tsx +244 -0
  469. package/registry/blocks/footer-marquee-strip/index.ts +6 -0
  470. package/registry/blocks/footer-multi-region/FooterMultiRegion.tsx +310 -0
  471. package/registry/blocks/footer-multi-region/index.ts +7 -0
  472. package/registry/blocks/footer-newsletter-split/FooterNewsletterSplit.tsx +255 -0
  473. package/registry/blocks/footer-newsletter-split/index.ts +6 -0
  474. package/registry/blocks/footer-product-family-switcher/FooterProductFamilySwitcher.tsx +241 -0
  475. package/registry/blocks/footer-product-family-switcher/index.ts +7 -0
  476. package/registry/blocks/footer-service-promise-band/FooterServicePromiseBand.tsx +237 -0
  477. package/registry/blocks/footer-service-promise-band/index.ts +7 -0
  478. package/registry/blocks/footer-single-line-bar/FooterSingleLineBar.tsx +107 -0
  479. package/registry/blocks/footer-single-line-bar/index.ts +6 -0
  480. package/registry/blocks/footer-sitemap.test.tsx +390 -0
  481. package/registry/blocks/footer-split-hairline-micro/FooterSplitHairlineMicro.tsx +100 -0
  482. package/registry/blocks/footer-split-hairline-micro/index.ts +6 -0
  483. package/registry/blocks/footer-support-contact/FooterSupportContact.tsx +204 -0
  484. package/registry/blocks/footer-support-contact/index.ts +7 -0
  485. package/registry/blocks/footer-trust-compliance/FooterTrustCompliance.tsx +234 -0
  486. package/registry/blocks/footer-trust-compliance/index.ts +7 -0
  487. package/registry/blocks/footer-two-row-compact/FooterTwoRowCompact.tsx +124 -0
  488. package/registry/blocks/footer-two-row-compact/index.ts +6 -0
  489. package/registry/blocks/footer-two-tier-doormat/FooterTwoTierDoormat.tsx +232 -0
  490. package/registry/blocks/footer-two-tier-doormat/index.ts +8 -0
  491. package/registry/blocks/footer-utility.test.tsx +406 -0
  492. package/registry/blocks/footer-wide-sitemap-mega/FooterWideSitemapMega.tsx +227 -0
  493. package/registry/blocks/footer-wide-sitemap-mega/index.ts +6 -0
  494. package/registry/blocks/gallery-album-cards/GalleryAlbumCards.tsx +243 -0
  495. package/registry/blocks/gallery-album-cards/index.ts +8 -0
  496. package/registry/blocks/gallery-before-after-compare/GalleryBeforeAfterCompare.tsx +269 -0
  497. package/registry/blocks/gallery-before-after-compare/index.ts +7 -0
  498. package/registry/blocks/gallery-contact-sheet-wall/GalleryContactSheetWall.tsx +299 -0
  499. package/registry/blocks/gallery-contact-sheet-wall/index.ts +9 -0
  500. package/registry/blocks/gallery-culture-photo-grid/GalleryCulturePhotoGrid.tsx +203 -0
  501. package/registry/blocks/gallery-culture-photo-grid/index.ts +8 -0
  502. package/registry/blocks/gallery-dark-cinema-wall/GalleryDarkCinemaWall.tsx +180 -0
  503. package/registry/blocks/gallery-dark-cinema-wall/index.ts +7 -0
  504. package/registry/blocks/gallery-editorial-split/GalleryEditorialSplit.tsx +188 -0
  505. package/registry/blocks/gallery-editorial-split/index.ts +8 -0
  506. package/registry/blocks/gallery-featured-thumb-rail/GalleryFeaturedThumbRail.tsx +397 -0
  507. package/registry/blocks/gallery-featured-thumb-rail/index.ts +8 -0
  508. package/registry/blocks/gallery-filmstrip-carousel/GalleryFilmstripCarousel.tsx +384 -0
  509. package/registry/blocks/gallery-filmstrip-carousel/index.ts +8 -0
  510. package/registry/blocks/gallery-filter-tabs-grid/GalleryFilterTabsGrid.tsx +403 -0
  511. package/registry/blocks/gallery-filter-tabs-grid/index.ts +9 -0
  512. package/registry/blocks/gallery-full-bleed-slider/GalleryFullBleedSlider.tsx +309 -0
  513. package/registry/blocks/gallery-full-bleed-slider/index.ts +8 -0
  514. package/registry/blocks/gallery-horizontal-scroll-rail/GalleryHorizontalScrollRail.tsx +300 -0
  515. package/registry/blocks/gallery-horizontal-scroll-rail/index.ts +8 -0
  516. package/registry/blocks/gallery-hover-caption-cards/GalleryHoverCaptionCards.tsx +244 -0
  517. package/registry/blocks/gallery-hover-caption-cards/index.ts +8 -0
  518. package/registry/blocks/gallery-hover-index-list/GalleryHoverIndexList.tsx +253 -0
  519. package/registry/blocks/gallery-hover-index-list/index.ts +9 -0
  520. package/registry/blocks/gallery-lightbox-viewer/GalleryLightboxViewer.tsx +329 -0
  521. package/registry/blocks/gallery-lightbox-viewer/index.ts +7 -0
  522. package/registry/blocks/gallery-masonry-gallery/GalleryMasonryGallery.tsx +251 -0
  523. package/registry/blocks/gallery-masonry-gallery/index.ts +7 -0
  524. package/registry/blocks/gallery-mosaic-statement-tile/GalleryMosaicStatementTile.tsx +159 -0
  525. package/registry/blocks/gallery-mosaic-statement-tile/index.ts +8 -0
  526. package/registry/blocks/gallery-photo-bento/GalleryPhotoBento.tsx +166 -0
  527. package/registry/blocks/gallery-photo-bento/index.ts +8 -0
  528. package/registry/blocks/gallery-photo-spotlight/GalleryPhotoSpotlight.tsx +305 -0
  529. package/registry/blocks/gallery-photo-spotlight/index.ts +9 -0
  530. package/registry/blocks/gallery-scattered-collage/GalleryScatteredCollage.tsx +286 -0
  531. package/registry/blocks/gallery-scattered-collage/index.ts +9 -0
  532. package/registry/blocks/gallery-social-feed-strip/GallerySocialFeedStrip.tsx +288 -0
  533. package/registry/blocks/gallery-social-feed-strip/index.ts +8 -0
  534. package/registry/blocks/gallery-timeline-gallery/GalleryTimelineGallery.tsx +243 -0
  535. package/registry/blocks/gallery-timeline-gallery/index.ts +8 -0
  536. package/registry/blocks/gallery-video-gallery/GalleryVideoGallery.tsx +362 -0
  537. package/registry/blocks/gallery-video-gallery/index.ts +8 -0
  538. package/registry/blocks/hero-annotated-object/HeroAnnotatedObject.tsx +310 -0
  539. package/registry/blocks/hero-annotated-object/index.ts +10 -0
  540. package/registry/blocks/hero-arc-gallery/HeroArcGallery.tsx +244 -0
  541. package/registry/blocks/hero-arc-gallery/index.ts +9 -0
  542. package/registry/blocks/hero-bento-split/HeroBentoSplit.tsx +266 -0
  543. package/registry/blocks/hero-bento-split/index.ts +9 -0
  544. package/registry/blocks/hero-brand-color-block/HeroBrandColorBlock.tsx +259 -0
  545. package/registry/blocks/hero-brand-color-block/index.ts +8 -0
  546. package/registry/blocks/hero-colour-stage/HeroColourStage.tsx +292 -0
  547. package/registry/blocks/hero-colour-stage/index.ts +8 -0
  548. package/registry/blocks/hero-component-pattern/HeroComponentPattern.tsx +248 -0
  549. package/registry/blocks/hero-component-pattern/index.ts +9 -0
  550. package/registry/blocks/hero-curved-media-rail/HeroCurvedMediaRail.tsx +272 -0
  551. package/registry/blocks/hero-curved-media-rail/index.ts +8 -0
  552. package/registry/blocks/hero-duo-card/HeroDuoCard.tsx +210 -0
  553. package/registry/blocks/hero-duo-card/index.ts +8 -0
  554. package/registry/blocks/hero-editorial-arch/HeroEditorialArch.tsx +226 -0
  555. package/registry/blocks/hero-editorial-arch/index.ts +10 -0
  556. package/registry/blocks/hero-editorial-triptych/HeroEditorialTriptych.tsx +252 -0
  557. package/registry/blocks/hero-editorial-triptych/index.ts +9 -0
  558. package/registry/blocks/hero-floating-integrations/HeroFloatingIntegrations.tsx +454 -0
  559. package/registry/blocks/hero-floating-integrations/index.ts +11 -0
  560. package/registry/blocks/hero-framed-full-bleed/HeroFramedFullBleed.tsx +226 -0
  561. package/registry/blocks/hero-framed-full-bleed/index.ts +9 -0
  562. package/registry/blocks/hero-framed-studio-card/HeroFramedStudioCard.tsx +264 -0
  563. package/registry/blocks/hero-framed-studio-card/index.ts +8 -0
  564. package/registry/blocks/hero-illustration-split/HeroIllustrationSplit.tsx +200 -0
  565. package/registry/blocks/hero-illustration-split/index.ts +8 -0
  566. package/registry/blocks/hero-inline-image-headline/HeroInlineImageHeadline.tsx +305 -0
  567. package/registry/blocks/hero-inline-image-headline/index.ts +8 -0
  568. package/registry/blocks/hero-masked-type-reveal/HeroMaskedTypeReveal.tsx +323 -0
  569. package/registry/blocks/hero-masked-type-reveal/index.ts +9 -0
  570. package/registry/blocks/hero-motion.test.tsx +185 -0
  571. package/registry/blocks/hero-orbit-track/HeroOrbitTrack.tsx +238 -0
  572. package/registry/blocks/hero-orbit-track/index.ts +8 -0
  573. package/registry/blocks/hero-photo-constellation/HeroPhotoConstellation.tsx +228 -0
  574. package/registry/blocks/hero-photo-constellation/index.ts +8 -0
  575. package/registry/blocks/hero-scramble-decode/HeroScrambleDecode.tsx +381 -0
  576. package/registry/blocks/hero-scramble-decode/index.ts +7 -0
  577. package/registry/blocks/hero-shape-grid/HeroShapeGrid.tsx +279 -0
  578. package/registry/blocks/hero-shape-grid/index.ts +8 -0
  579. package/registry/blocks/hero-split-band-headline/HeroSplitBandHeadline.tsx +242 -0
  580. package/registry/blocks/hero-split-band-headline/index.ts +8 -0
  581. package/registry/blocks/hero-split-flap-counters/HeroSplitFlapCounters.tsx +323 -0
  582. package/registry/blocks/hero-split-flap-counters/index.ts +8 -0
  583. package/registry/blocks/hero-studio-mosaic/HeroStudioMosaic.tsx +332 -0
  584. package/registry/blocks/hero-studio-mosaic/index.ts +9 -0
  585. package/registry/blocks/hero-textured-dark/HeroTexturedDark.tsx +378 -0
  586. package/registry/blocks/hero-textured-dark/index.ts +10 -0
  587. package/registry/blocks/hero-twin-panels/HeroTwinPanels.tsx +231 -0
  588. package/registry/blocks/hero-twin-panels/index.ts +9 -0
  589. package/registry/blocks/hero-velocity-marquee/HeroVelocityMarquee.tsx +392 -0
  590. package/registry/blocks/hero-velocity-marquee/index.ts +8 -0
  591. package/registry/blocks/hero-video-in-type/HeroVideoInType.tsx +374 -0
  592. package/registry/blocks/hero-video-in-type/index.ts +9 -0
  593. package/registry/blocks/hero-video-spotlight/HeroVideoSpotlight.tsx +292 -0
  594. package/registry/blocks/hero-video-spotlight/index.ts +9 -0
  595. package/registry/blocks/hero-wave-band/HeroWaveBand.tsx +309 -0
  596. package/registry/blocks/hero-wave-band/index.ts +8 -0
  597. package/registry/blocks/how-it-works/how-it-works.tsx +330 -0
  598. package/registry/blocks/how-it-works/index.ts +28 -0
  599. package/registry/blocks/how-it-works-accordion-steps/HowItWorksAccordionSteps.tsx +213 -0
  600. package/registry/blocks/how-it-works-accordion-steps/index.ts +7 -0
  601. package/registry/blocks/how-it-works-center-spine-timeline/HowItWorksCenterSpineTimeline.tsx +200 -0
  602. package/registry/blocks/how-it-works-center-spine-timeline/index.ts +7 -0
  603. package/registry/blocks/how-it-works-column-panels/HowItWorksColumnPanels.tsx +299 -0
  604. package/registry/blocks/how-it-works-column-panels/index.ts +6 -0
  605. package/registry/blocks/how-it-works-contained-timeline/HowItWorksContainedTimeline.tsx +223 -0
  606. package/registry/blocks/how-it-works-contained-timeline/index.ts +8 -0
  607. package/registry/blocks/how-it-works-diagonal-photo-collage/HowItWorksDiagonalPhotoCollage.tsx +170 -0
  608. package/registry/blocks/how-it-works-diagonal-photo-collage/index.ts +7 -0
  609. package/registry/blocks/how-it-works-fanned-dissolve-cards/HowItWorksFannedDissolveCards.tsx +258 -0
  610. package/registry/blocks/how-it-works-fanned-dissolve-cards/index.ts +8 -0
  611. package/registry/blocks/how-it-works-full-bleed-step-panel/HowItWorksFullBleedStepPanel.tsx +319 -0
  612. package/registry/blocks/how-it-works-full-bleed-step-panel/index.ts +7 -0
  613. package/registry/blocks/how-it-works-grids.test.tsx +292 -0
  614. package/registry/blocks/how-it-works-interactive.test.tsx +262 -0
  615. package/registry/blocks/how-it-works-numbered-editorial-rows/HowItWorksNumberedEditorialRows.tsx +177 -0
  616. package/registry/blocks/how-it-works-numbered-editorial-rows/index.ts +7 -0
  617. package/registry/blocks/how-it-works-numbered-instruction-panels/HowItWorksNumberedInstructionPanels.tsx +226 -0
  618. package/registry/blocks/how-it-works-numbered-instruction-panels/index.ts +6 -0
  619. package/registry/blocks/how-it-works-numbered-photo-steps/HowItWorksNumberedPhotoSteps.tsx +150 -0
  620. package/registry/blocks/how-it-works-numbered-photo-steps/index.ts +7 -0
  621. package/registry/blocks/how-it-works-orbital-process/HowItWorksOrbitalProcess.tsx +317 -0
  622. package/registry/blocks/how-it-works-orbital-process/index.ts +7 -0
  623. package/registry/blocks/how-it-works-overlay-numeral-cards/HowItWorksOverlayNumeralCards.tsx +145 -0
  624. package/registry/blocks/how-it-works-overlay-numeral-cards/index.ts +7 -0
  625. package/registry/blocks/how-it-works-phase-line/HowItWorksPhaseLine.tsx +147 -0
  626. package/registry/blocks/how-it-works-phase-line/index.ts +8 -0
  627. package/registry/blocks/how-it-works-photo-bento-steps/HowItWorksPhotoBentoSteps.tsx +178 -0
  628. package/registry/blocks/how-it-works-photo-bento-steps/index.ts +7 -0
  629. package/registry/blocks/how-it-works-photo-rail-progress/HowItWorksPhotoRailProgress.tsx +231 -0
  630. package/registry/blocks/how-it-works-photo-rail-progress/index.ts +7 -0
  631. package/registry/blocks/how-it-works-pill-timeline/HowItWorksPillTimeline.tsx +181 -0
  632. package/registry/blocks/how-it-works-pill-timeline/index.ts +8 -0
  633. package/registry/blocks/how-it-works-rounded-cards-device-crop/HowItWorksRoundedCardsDeviceCrop.tsx +286 -0
  634. package/registry/blocks/how-it-works-rounded-cards-device-crop/index.ts +6 -0
  635. package/registry/blocks/how-it-works-six-card-grid/HowItWorksSixCardGrid.tsx +385 -0
  636. package/registry/blocks/how-it-works-six-card-grid/index.ts +6 -0
  637. package/registry/blocks/how-it-works-split-feature-band/HowItWorksSplitFeatureBand.tsx +316 -0
  638. package/registry/blocks/how-it-works-split-feature-band/index.ts +6 -0
  639. package/registry/blocks/how-it-works-split-photo-step-list/HowItWorksSplitPhotoStepList.tsx +179 -0
  640. package/registry/blocks/how-it-works-split-photo-step-list/index.ts +7 -0
  641. package/registry/blocks/how-it-works-stacked-media-text/HowItWorksStackedMediaText.tsx +310 -0
  642. package/registry/blocks/how-it-works-stacked-media-text/index.ts +8 -0
  643. package/registry/blocks/how-it-works-step-tabs-photo-panel/HowItWorksStepTabsPhotoPanel.tsx +245 -0
  644. package/registry/blocks/how-it-works-step-tabs-photo-panel/index.ts +7 -0
  645. package/registry/blocks/how-it-works-tall-visual-rail/HowItWorksTallVisualRail.tsx +349 -0
  646. package/registry/blocks/how-it-works-tall-visual-rail/index.ts +7 -0
  647. package/registry/blocks/how-it-works-timelines.test.tsx +265 -0
  648. package/registry/blocks/how-it-works-vertical-timeline-card/HowItWorksVerticalTimelineCard.tsx +169 -0
  649. package/registry/blocks/how-it-works-vertical-timeline-card/index.ts +8 -0
  650. package/registry/blocks/how-it-works-visual-steps.test.tsx +368 -0
  651. package/registry/blocks/logo-cloud-bento-logo-wall/LogoCloudBentoLogoWall.tsx +159 -0
  652. package/registry/blocks/logo-cloud-bento-logo-wall/index.ts +7 -0
  653. package/registry/blocks/logo-cloud-bordered-cell-grid/LogoCloudBorderedCellGrid.tsx +132 -0
  654. package/registry/blocks/logo-cloud-bordered-cell-grid/index.ts +7 -0
  655. package/registry/blocks/logo-cloud-centered-caption-row/LogoCloudCenteredCaptionRow.tsx +141 -0
  656. package/registry/blocks/logo-cloud-centered-caption-row/index.ts +7 -0
  657. package/registry/blocks/logo-cloud-contained-card/LogoCloudContainedCard.tsx +106 -0
  658. package/registry/blocks/logo-cloud-contained-card/index.ts +7 -0
  659. package/registry/blocks/logo-cloud-dark-logo-wall/LogoCloudDarkLogoWall.tsx +123 -0
  660. package/registry/blocks/logo-cloud-dark-logo-wall/index.ts +7 -0
  661. package/registry/blocks/logo-cloud-divider-rule-row/LogoCloudDividerRuleRow.tsx +156 -0
  662. package/registry/blocks/logo-cloud-divider-rule-row/index.ts +7 -0
  663. package/registry/blocks/logo-cloud-editorial-eyebrow-split/LogoCloudEditorialEyebrowSplit.tsx +121 -0
  664. package/registry/blocks/logo-cloud-editorial-eyebrow-split/index.ts +7 -0
  665. package/registry/blocks/logo-cloud-enterprise-wall/LogoCloudEnterpriseWall.tsx +114 -0
  666. package/registry/blocks/logo-cloud-enterprise-wall/index.ts +7 -0
  667. package/registry/blocks/logo-cloud-flanked-heading/LogoCloudFlankedHeading.tsx +162 -0
  668. package/registry/blocks/logo-cloud-flanked-heading/index.ts +8 -0
  669. package/registry/blocks/logo-cloud-grid-closing-cta/LogoCloudGridClosingCta.tsx +173 -0
  670. package/registry/blocks/logo-cloud-grid-closing-cta/index.ts +8 -0
  671. package/registry/blocks/logo-cloud-heading-grid/LogoCloudHeadingGrid.tsx +124 -0
  672. package/registry/blocks/logo-cloud-heading-grid/index.ts +7 -0
  673. package/registry/blocks/logo-cloud-heading-left-grid-right/LogoCloudHeadingLeftGridRight.tsx +172 -0
  674. package/registry/blocks/logo-cloud-heading-left-grid-right/index.ts +8 -0
  675. package/registry/blocks/logo-cloud-logo-metric-tiles/LogoCloudLogoMetricTiles.tsx +159 -0
  676. package/registry/blocks/logo-cloud-logo-metric-tiles/index.ts +8 -0
  677. package/registry/blocks/logo-cloud-logo-quote-cards/LogoCloudLogoQuoteCards.tsx +162 -0
  678. package/registry/blocks/logo-cloud-logo-quote-cards/index.ts +8 -0
  679. package/registry/blocks/logo-cloud-logo-testimonial-strip/LogoCloudLogoTestimonialStrip.tsx +159 -0
  680. package/registry/blocks/logo-cloud-logo-testimonial-strip/index.ts +8 -0
  681. package/registry/blocks/logo-cloud-named-integration-cards/LogoCloudNamedIntegrationCards.tsx +186 -0
  682. package/registry/blocks/logo-cloud-named-integration-cards/index.ts +9 -0
  683. package/registry/blocks/logo-cloud-pyramid-row-stack/LogoCloudPyramidRowStack.tsx +156 -0
  684. package/registry/blocks/logo-cloud-pyramid-row-stack/index.ts +7 -0
  685. package/registry/blocks/logo-cloud-quote-panel-grid/LogoCloudQuotePanelGrid.tsx +177 -0
  686. package/registry/blocks/logo-cloud-quote-panel-grid/index.ts +8 -0
  687. package/registry/blocks/logo-cloud-scatter-field/LogoCloudScatterField.tsx +190 -0
  688. package/registry/blocks/logo-cloud-scatter-field/index.ts +8 -0
  689. package/registry/blocks/logo-cloud-side-label-rail/LogoCloudSideLabelRail.tsx +139 -0
  690. package/registry/blocks/logo-cloud-side-label-rail/index.ts +7 -0
  691. package/registry/blocks/logo-cloud-stat-rail-above-grid/LogoCloudStatRailAboveGrid.tsx +173 -0
  692. package/registry/blocks/logo-cloud-stat-rail-above-grid/index.ts +8 -0
  693. package/registry/blocks/logo-cloud-tabbed-industry-filter/LogoCloudTabbedIndustryFilter.tsx +200 -0
  694. package/registry/blocks/logo-cloud-tabbed-industry-filter/index.ts +8 -0
  695. package/registry/blocks/navbar/index.ts +22 -11
  696. package/registry/blocks/navbar/navbar.test.tsx +42 -0
  697. package/registry/blocks/navbar/navbar.tsx +455 -0
  698. package/registry/blocks/navbar-active-action-with-border/NavbarActiveActionWithBorder.tsx +120 -0
  699. package/registry/blocks/navbar-active-action-with-border/index.ts +6 -0
  700. package/registry/blocks/navbar-active-action-with-round/NavbarActiveActionWithRound.tsx +120 -0
  701. package/registry/blocks/navbar-active-action-with-round/index.ts +6 -0
  702. package/registry/blocks/navbar-centered-floating/NavbarCenteredFloating.tsx +121 -0
  703. package/registry/blocks/navbar-centered-floating/index.ts +6 -0
  704. package/registry/blocks/navbar-default/NavbarDefault.tsx +102 -0
  705. package/registry/blocks/navbar-default/index.ts +6 -0
  706. package/registry/blocks/navbar-e-commerce/NavbarECommerce.tsx +212 -0
  707. package/registry/blocks/navbar-e-commerce/index.ts +6 -0
  708. package/registry/blocks/navbar-extended-at-top/NavbarExtendedAtTop.tsx +155 -0
  709. package/registry/blocks/navbar-extended-at-top/index.ts +7 -0
  710. package/registry/blocks/navbar-multiple-action/NavbarMultipleAction.tsx +133 -0
  711. package/registry/blocks/navbar-multiple-action/index.ts +6 -0
  712. package/registry/blocks/navbar-multiple-icon/NavbarMultipleIcon.tsx +132 -0
  713. package/registry/blocks/navbar-multiple-icon/index.ts +6 -0
  714. package/registry/blocks/navbar-rounded/NavbarRounded.tsx +140 -0
  715. package/registry/blocks/navbar-rounded/index.ts +6 -0
  716. package/registry/blocks/navbar-rounded-small/NavbarRoundedSmall.tsx +143 -0
  717. package/registry/blocks/navbar-rounded-small/index.ts +6 -0
  718. package/registry/blocks/navbar-small/NavbarSmall.tsx +142 -0
  719. package/registry/blocks/navbar-small/index.ts +6 -0
  720. package/registry/blocks/navbar-with-centered-logo/NavbarWithCenteredLogo.tsx +118 -0
  721. package/registry/blocks/navbar-with-centered-logo/index.ts +6 -0
  722. package/registry/blocks/navbar-with-cta-button/NavbarWithCtaButton.tsx +131 -0
  723. package/registry/blocks/navbar-with-cta-button/index.ts +6 -0
  724. package/registry/blocks/navbar-with-dropdown/NavbarWithDropdown.tsx +118 -0
  725. package/registry/blocks/navbar-with-dropdown/index.ts +6 -0
  726. package/registry/blocks/navbar-with-icon-indicator-avatar/NavbarWithIconIndicatorAvatar.tsx +85 -0
  727. package/registry/blocks/navbar-with-icon-indicator-avatar/index.ts +6 -0
  728. package/registry/blocks/navbar-with-search-input/NavbarWithSearchInput.tsx +90 -0
  729. package/registry/blocks/navbar-with-search-input/index.ts +6 -0
  730. package/registry/blocks/navbar-with-submenu/NavbarWithSubmenu.tsx +156 -0
  731. package/registry/blocks/navbar-with-submenu/index.ts +6 -0
  732. package/registry/blocks/page-header/PageHeader.tsx +5 -9
  733. package/registry/blocks/pricing/index.ts +20 -0
  734. package/registry/blocks/pricing/pricing.test.tsx +82 -0
  735. package/registry/blocks/pricing/pricing.tsx +343 -0
  736. package/registry/blocks/pricing-comparison-matrix/PricingComparisonMatrix.tsx +336 -0
  737. package/registry/blocks/pricing-comparison-matrix/index.ts +10 -0
  738. package/registry/blocks/pricing-plan-picker-summary/PricingPlanPickerSummary.tsx +399 -0
  739. package/registry/blocks/pricing-plan-picker-summary/index.ts +8 -0
  740. package/registry/blocks/pricing-plan-spotlight/PricingPlanSpotlight.tsx +281 -0
  741. package/registry/blocks/pricing-plan-spotlight/index.ts +7 -0
  742. package/registry/blocks/pricing-tiers/PricingTiers.tsx +264 -0
  743. package/registry/blocks/pricing-tiers/index.ts +8 -0
  744. package/registry/blocks/pricing-two-plan-compare/PricingTwoPlanCompare.tsx +187 -0
  745. package/registry/blocks/pricing-two-plan-compare/index.ts +7 -0
  746. package/registry/blocks/social-proof/index.ts +36 -0
  747. package/registry/blocks/social-proof/social-proof.test.tsx +504 -0
  748. package/registry/blocks/social-proof/social-proof.tsx +759 -0
  749. package/registry/blocks/social-proof-app-review-row/SocialProofAppReviewRow.tsx +168 -0
  750. package/registry/blocks/social-proof-app-review-row/index.ts +7 -0
  751. package/registry/blocks/social-proof-arch-portrait-quote/SocialProofArchPortraitQuote.tsx +114 -0
  752. package/registry/blocks/social-proof-arch-portrait-quote/index.ts +6 -0
  753. package/registry/blocks/social-proof-avatar-selector-row/SocialProofAvatarSelectorRow.tsx +276 -0
  754. package/registry/blocks/social-proof-avatar-selector-row/index.ts +7 -0
  755. package/registry/blocks/social-proof-benefit-title-cards/SocialProofBenefitTitleCards.tsx +182 -0
  756. package/registry/blocks/social-proof-benefit-title-cards/index.ts +8 -0
  757. package/registry/blocks/social-proof-bracket-framed-quote/SocialProofBracketFramedQuote.tsx +120 -0
  758. package/registry/blocks/social-proof-bracket-framed-quote/index.ts +6 -0
  759. package/registry/blocks/social-proof-case-study-row/SocialProofCaseStudyRow.tsx +210 -0
  760. package/registry/blocks/social-proof-case-study-row/index.ts +7 -0
  761. package/registry/blocks/social-proof-centered-logo-spotlight/SocialProofCenteredLogoSpotlight.tsx +103 -0
  762. package/registry/blocks/social-proof-centered-logo-spotlight/index.ts +6 -0
  763. package/registry/blocks/social-proof-classic-trio-grid/SocialProofClassicTrioGrid.tsx +138 -0
  764. package/registry/blocks/social-proof-classic-trio-grid/index.ts +7 -0
  765. package/registry/blocks/social-proof-dark-editorial-split/SocialProofDarkEditorialSplit.tsx +111 -0
  766. package/registry/blocks/social-proof-dark-editorial-split/index.ts +6 -0
  767. package/registry/blocks/social-proof-giant-quote-duo/SocialProofGiantQuoteDuo.tsx +156 -0
  768. package/registry/blocks/social-proof-giant-quote-duo/index.ts +8 -0
  769. package/registry/blocks/social-proof-highlighted-phrase-spotlight/SocialProofHighlightedPhraseSpotlight.tsx +130 -0
  770. package/registry/blocks/social-proof-highlighted-phrase-spotlight/index.ts +7 -0
  771. package/registry/blocks/social-proof-overlay-photo-quote/SocialProofOverlayPhotoQuote.tsx +111 -0
  772. package/registry/blocks/social-proof-overlay-photo-quote/index.ts +7 -0
  773. package/registry/blocks/social-proof-persona-pillars/SocialProofPersonaPillars.tsx +253 -0
  774. package/registry/blocks/social-proof-persona-pillars/index.ts +7 -0
  775. package/registry/blocks/social-proof-progress-carousel/SocialProofProgressCarousel.tsx +249 -0
  776. package/registry/blocks/social-proof-progress-carousel/index.ts +8 -0
  777. package/registry/blocks/social-proof-proof-bento/SocialProofProofBento.tsx +218 -0
  778. package/registry/blocks/social-proof-proof-bento/index.ts +6 -0
  779. package/registry/blocks/social-proof-spotlight-carousel/SocialProofSpotlightCarousel.tsx +212 -0
  780. package/registry/blocks/social-proof-spotlight-carousel/index.ts +7 -0
  781. package/registry/blocks/social-proof-staggered-columns/SocialProofStaggeredColumns.tsx +227 -0
  782. package/registry/blocks/social-proof-staggered-columns/index.ts +7 -0
  783. package/registry/blocks/social-proof-stat-story-cards/SocialProofStatStoryCards.tsx +218 -0
  784. package/registry/blocks/social-proof-stat-story-cards/index.ts +7 -0
  785. package/registry/blocks/social-proof-tinted-panel-portrait/SocialProofTintedPanelPortrait.tsx +130 -0
  786. package/registry/blocks/social-proof-tinted-panel-portrait/index.ts +7 -0
  787. package/registry/blocks/social-proof-tweet-wall/SocialProofTweetWall.tsx +179 -0
  788. package/registry/blocks/social-proof-tweet-wall/index.ts +7 -0
  789. package/registry/blocks/social-proof-vertical-column-wall/SocialProofVerticalColumnWall.tsx +220 -0
  790. package/registry/blocks/social-proof-vertical-column-wall/index.ts +7 -0
  791. package/registry/blocks/social-proof-video-story-cards/SocialProofVideoStoryCards.tsx +177 -0
  792. package/registry/blocks/social-proof-video-story-cards/index.ts +7 -0
  793. package/registry/blocks/social-proof-workplace-portrait-stories/SocialProofWorkplacePortraitStories.tsx +320 -0
  794. package/registry/blocks/social-proof-workplace-portrait-stories/index.ts +7 -0
  795. package/registry/blocks/team/index.ts +21 -0
  796. package/registry/blocks/team/team-classes.test.ts +35 -0
  797. package/registry/blocks/team/team.tsx +315 -0
  798. package/registry/blocks/team-annotated-portrait-lineup/TeamAnnotatedPortraitLineup.tsx +310 -0
  799. package/registry/blocks/team-annotated-portrait-lineup/index.ts +8 -0
  800. package/registry/blocks/team-annotated-portrait-lineup/team-annotated-portrait-lineup.test.tsx +71 -0
  801. package/registry/blocks/team-compact-directory-rows/TeamCompactDirectoryRows.tsx +190 -0
  802. package/registry/blocks/team-compact-directory-rows/compact-directory-rows.test.tsx +40 -0
  803. package/registry/blocks/team-compact-directory-rows/index.ts +7 -0
  804. package/registry/blocks/team-department-tabs-directory/TeamDepartmentTabsDirectory.tsx +414 -0
  805. package/registry/blocks/team-department-tabs-directory/department-tabs-directory.test.tsx +87 -0
  806. package/registry/blocks/team-department-tabs-directory/index.ts +10 -0
  807. package/registry/blocks/team-founder-spotlight/TeamFounderSpotlight.tsx +176 -0
  808. package/registry/blocks/team-founder-spotlight/index.ts +8 -0
  809. package/registry/blocks/team-founder-spotlight/team-founder-spotlight.test.tsx +70 -0
  810. package/registry/blocks/team-grid-backdrop-roster/TeamGridBackdropRoster.tsx +234 -0
  811. package/registry/blocks/team-grid-backdrop-roster/grid-backdrop-roster.test.tsx +72 -0
  812. package/registry/blocks/team-grid-backdrop-roster/index.ts +8 -0
  813. package/registry/blocks/team-hairline-grid/TeamHairlineGrid.tsx +190 -0
  814. package/registry/blocks/team-hairline-grid/hairline-grid.test.tsx +49 -0
  815. package/registry/blocks/team-hairline-grid/index.ts +1 -0
  816. package/registry/blocks/team-leadership-grid/TeamLeadershipGrid.tsx +183 -0
  817. package/registry/blocks/team-leadership-grid/index.ts +7 -0
  818. package/registry/blocks/team-leadership-grid/team-leadership-grid.test.tsx +38 -0
  819. package/registry/blocks/team-member-carousel/TeamMemberCarousel.tsx +178 -0
  820. package/registry/blocks/team-member-carousel/index.ts +7 -0
  821. package/registry/blocks/team-member-carousel/team-member-carousel.test.tsx +58 -0
  822. package/registry/blocks/team-member-table/TeamMemberTable.tsx +184 -0
  823. package/registry/blocks/team-member-table/index.ts +7 -0
  824. package/registry/blocks/team-member-table/member-table.test.tsx +43 -0
  825. package/registry/blocks/team-meta-profile-cards/TeamMetaProfileCards.tsx +155 -0
  826. package/registry/blocks/team-meta-profile-cards/index.ts +7 -0
  827. package/registry/blocks/team-meta-profile-cards/team-meta-profile-cards.test.tsx +29 -0
  828. package/registry/blocks/team-overlay-portrait-cards/TeamOverlayPortraitCards.tsx +145 -0
  829. package/registry/blocks/team-overlay-portrait-cards/index.ts +7 -0
  830. package/registry/blocks/team-overlay-portrait-cards/team-overlay-portrait-cards.test.tsx +49 -0
  831. package/registry/blocks/team-portrait-wall/TeamPortraitWall.tsx +131 -0
  832. package/registry/blocks/team-portrait-wall/index.ts +1 -0
  833. package/registry/blocks/team-portrait-wall/portrait-wall.test.tsx +45 -0
  834. package/registry/blocks/team-split-intro-member-rail/TeamSplitIntroMemberRail.tsx +203 -0
  835. package/registry/blocks/team-split-intro-member-rail/index.ts +7 -0
  836. package/registry/blocks/team-split-intro-member-rail/split-intro-member-rail.test.tsx +52 -0
  837. package/registry/blocks/team-we-re-hiring-cta/TeamWeReHiringCta.tsx +192 -0
  838. package/registry/blocks/team-we-re-hiring-cta/index.ts +7 -0
  839. package/registry/blocks/team-we-re-hiring-cta/we-re-hiring-cta.test.tsx +44 -0
  840. package/registry/blocks/video-call/index.ts +53 -0
  841. package/registry/blocks/video-call/video-call-around.test.tsx +427 -0
  842. package/registry/blocks/video-call/video-call-before.test.tsx +438 -0
  843. package/registry/blocks/video-call/video-call-hero.test.tsx +236 -0
  844. package/registry/blocks/video-call/video-call-stages.test.tsx +477 -0
  845. package/registry/blocks/video-call/video-call.test.tsx +794 -0
  846. package/registry/blocks/video-call/video-call.tsx +1282 -0
  847. package/registry/blocks/video-call-ai-meeting-recap/VideoCallAiMeetingRecap.tsx +466 -0
  848. package/registry/blocks/video-call-ai-meeting-recap/index.ts +9 -0
  849. package/registry/blocks/video-call-call-controls-dock/VideoCallCallControlsDock.tsx +211 -0
  850. package/registry/blocks/video-call-call-controls-dock/index.ts +6 -0
  851. package/registry/blocks/video-call-call-ended-summary/VideoCallCallEndedSummary.tsx +464 -0
  852. package/registry/blocks/video-call-call-ended-summary/index.ts +10 -0
  853. package/registry/blocks/video-call-call-with-side-panel/VideoCallCallWithSidePanel.tsx +357 -0
  854. package/registry/blocks/video-call-call-with-side-panel/index.ts +6 -0
  855. package/registry/blocks/video-call-captions-reactions/VideoCallCaptionsReactions.tsx +467 -0
  856. package/registry/blocks/video-call-captions-reactions/index.ts +10 -0
  857. package/registry/blocks/video-call-grid-gallery-call/VideoCallGridGalleryCall.tsx +312 -0
  858. package/registry/blocks/video-call-grid-gallery-call/index.ts +6 -0
  859. package/registry/blocks/video-call-hero-call-mockup/VideoCallHeroCallMockup.tsx +349 -0
  860. package/registry/blocks/video-call-hero-call-mockup/index.ts +7 -0
  861. package/registry/blocks/video-call-incoming-call/VideoCallIncomingCall.tsx +336 -0
  862. package/registry/blocks/video-call-incoming-call/index.ts +7 -0
  863. package/registry/blocks/video-call-join-link-dial-in/VideoCallJoinLinkDialIn.tsx +409 -0
  864. package/registry/blocks/video-call-join-link-dial-in/index.ts +9 -0
  865. package/registry/blocks/video-call-pre-join-lobby/VideoCallPreJoinLobby.tsx +345 -0
  866. package/registry/blocks/video-call-pre-join-lobby/index.ts +7 -0
  867. package/registry/blocks/video-call-screen-share-stage/VideoCallScreenShareStage.tsx +379 -0
  868. package/registry/blocks/video-call-screen-share-stage/index.ts +7 -0
  869. package/registry/blocks/video-call-speaker-filmstrip/VideoCallSpeakerFilmstrip.tsx +303 -0
  870. package/registry/blocks/video-call-speaker-filmstrip/index.ts +6 -0
  871. package/registry/blocks/video-call-upcoming-meetings/VideoCallUpcomingMeetings.tsx +349 -0
  872. package/registry/blocks/video-call-upcoming-meetings/index.ts +7 -0
  873. package/registry/blocks/video-call-waiting-room-knock/VideoCallWaitingRoomKnock.tsx +412 -0
  874. package/registry/blocks/video-call-waiting-room-knock/index.ts +7 -0
  875. package/registry/text-props-undefined.test.tsx +3 -26
  876. package/registry/ui/accordion/accordion.test.tsx +320 -0
  877. package/registry/ui/accordion/accordion.tsx +353 -0
  878. package/registry/ui/accordion/index.ts +15 -0
  879. package/registry/ui/alert/alert.test.tsx +325 -0
  880. package/registry/ui/alert/alert.tsx +384 -0
  881. package/registry/ui/alert/index.ts +10 -0
  882. package/registry/ui/alert-dialog/alert-dialog.test.tsx +396 -0
  883. package/registry/ui/alert-dialog/alert-dialog.tsx +423 -0
  884. package/registry/ui/alert-dialog/index.ts +21 -0
  885. package/registry/ui/avatar/avatar.test.tsx +2 -2
  886. package/registry/ui/avatar/avatar.tsx +3 -7
  887. package/registry/ui/breadcrumb/breadcrumb.test.tsx +305 -0
  888. package/registry/ui/breadcrumb/breadcrumb.tsx +205 -0
  889. package/registry/ui/breadcrumb/index.ts +11 -0
  890. package/registry/ui/button/button.test.tsx +353 -40
  891. package/registry/ui/button/button.tsx +304 -30
  892. package/registry/ui/calendar/calendar.test.tsx +192 -0
  893. package/registry/ui/calendar/calendar.tsx +405 -0
  894. package/registry/ui/calendar/index.ts +1 -0
  895. package/registry/ui/carousel/carousel.test.tsx +720 -0
  896. package/registry/ui/carousel/carousel.tsx +554 -0
  897. package/registry/ui/carousel/index.ts +11 -0
  898. package/registry/ui/checkbox/checkbox.test.tsx +318 -2
  899. package/registry/ui/checkbox/checkbox.tsx +253 -67
  900. package/registry/ui/checkbox/index.ts +1 -1
  901. package/registry/ui/content-carousel/content-carousel.test.tsx +303 -0
  902. package/registry/ui/content-carousel/content-carousel.tsx +180 -0
  903. package/registry/ui/content-carousel/index.ts +8 -0
  904. package/registry/ui/date-picker/date-picker.test.tsx +216 -0
  905. package/registry/ui/date-picker/date-picker.tsx +461 -0
  906. package/registry/ui/date-picker/index.ts +8 -0
  907. package/registry/ui/dialog/dialog.test.tsx +438 -0
  908. package/registry/ui/dialog/dialog.tsx +533 -0
  909. package/registry/ui/dialog/index.ts +20 -0
  910. package/registry/ui/dropdown-menu/dropdown-menu.test.tsx +502 -0
  911. package/registry/ui/dropdown-menu/dropdown-menu.tsx +627 -0
  912. package/registry/ui/dropdown-menu/index.ts +32 -0
  913. package/registry/ui/fasla-logo/fasla-logo.tsx +101 -0
  914. package/registry/ui/fasla-logo/index.ts +1 -0
  915. package/registry/ui/input/index.ts +10 -1
  916. package/registry/ui/input/input.test.tsx +251 -44
  917. package/registry/ui/input/input.tsx +311 -40
  918. package/registry/ui/input-number/index.ts +1 -0
  919. package/registry/ui/input-number/input-number.test.tsx +302 -0
  920. package/registry/ui/input-number/input-number.tsx +398 -0
  921. package/registry/ui/input-otp/index.ts +7 -0
  922. package/registry/ui/input-otp/input-otp.test.tsx +299 -0
  923. package/registry/ui/input-otp/input-otp.tsx +279 -0
  924. package/registry/ui/pagination/index.ts +12 -0
  925. package/registry/ui/pagination/pagination.test.tsx +330 -0
  926. package/registry/ui/pagination/pagination.tsx +336 -0
  927. package/registry/ui/progress/index.ts +8 -0
  928. package/registry/ui/progress/progress.test.tsx +168 -0
  929. package/registry/ui/progress/progress.tsx +165 -0
  930. package/registry/ui/select/index.ts +12 -1
  931. package/registry/ui/select/select.test.tsx +505 -0
  932. package/registry/ui/select/select.tsx +658 -56
  933. package/registry/ui/sheet/index.ts +19 -0
  934. package/registry/ui/sheet/sheet.test.tsx +411 -0
  935. package/registry/ui/sheet/sheet.tsx +496 -0
  936. package/registry/{blocks → ui}/sidebar/index.ts +10 -5
  937. package/registry/ui/sidebar/sidebar.test.tsx +224 -0
  938. package/registry/ui/sidebar/sidebar.tsx +754 -0
  939. package/registry/ui/slider/index.ts +8 -0
  940. package/registry/ui/slider/slider.test.tsx +231 -0
  941. package/registry/ui/slider/slider.tsx +319 -0
  942. package/registry/ui/social-icons/index.ts +1 -0
  943. package/registry/ui/social-icons/social-icons.tsx +284 -0
  944. package/registry/ui/steps/index.ts +16 -0
  945. package/registry/ui/steps/steps.test.tsx +435 -0
  946. package/registry/ui/steps/steps.tsx +571 -0
  947. package/registry/ui/switch/switch.tsx +3 -2
  948. package/registry/ui/tabs/index.ts +4 -0
  949. package/registry/ui/tabs/tabs.test.tsx +576 -0
  950. package/registry/ui/tabs/tabs.tsx +324 -112
  951. package/registry/ui/textarea/index.ts +1 -1
  952. package/registry/ui/textarea/textarea.test.tsx +294 -0
  953. package/registry/ui/textarea/textarea.tsx +329 -56
  954. package/registry/ui/tooltip/index.ts +14 -0
  955. package/registry/ui/tooltip/tooltip.test.tsx +301 -0
  956. package/registry/ui/tooltip/tooltip.tsx +409 -0
  957. package/registry.json +9703 -140
  958. package/tailwind-preset.ts +2 -2
  959. package/registry/blocks/navbar/Navbar.test.tsx +0 -12
  960. package/registry/blocks/navbar/Navbar.tsx +0 -175
  961. package/registry/blocks/sidebar/Sidebar.test.tsx +0 -39
  962. package/registry/blocks/sidebar/Sidebar.tsx +0 -212
@@ -0,0 +1,201 @@
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import { cn } from "../../../src/lib/utils"
5
+ import { Button, buttonVariants } from "../../ui/button/button"
6
+
7
+ /*
8
+ * Figma: `Error State` (42556:548), Type=Illustrated Empty State.
9
+ *
10
+ * An in-product empty state: the "Illustration 404" artwork over a heading,
11
+ * a line of help and two small buttons, centred in a pane of fixed height.
12
+ * The artwork is one inline SVG painted entirely with theme tokens (`muted`,
13
+ * `border`, `muted-foreground`, `foreground`, `destructive`, as Figma binds
14
+ * them), so it follows light and dark. It is artwork, not a directional
15
+ * glyph, so it is never mirrored.
16
+ *
17
+ * Mobile first: the base classes are Figma's Mobile (360), `md:` its Tablet
18
+ * (768) and `lg:` its Desktop (1440). Direction is the page's `dir`; every
19
+ * side is a logical one, so the buttons swap ends in Arabic on their own.
20
+ */
21
+
22
+ export interface ErrorStateIllustratedEmptyStateAction {
23
+ label: React.ReactNode
24
+ href: string
25
+ }
26
+
27
+ export interface ErrorStateIllustratedEmptyStateCopy {
28
+ /** The pane's heading, an `h1`. Name what is missing. */
29
+ heading: React.ReactNode
30
+ /** The line under the heading: what to do next. */
31
+ description: React.ReactNode
32
+ /** The solid button: the way out, a link. */
33
+ primaryAction: ErrorStateIllustratedEmptyStateAction
34
+ /** The outline button's label. It calls `onBack`, or goes back in history. Hidden when empty. */
35
+ backLabel: React.ReactNode
36
+ }
37
+
38
+ /** Figma's copy, English and Arabic. */
39
+ const COPY: Record<"en" | "ar", ErrorStateIllustratedEmptyStateCopy> = {
40
+ en: {
41
+ heading: "There is no report at this address",
42
+ description: "The report may have been deleted or moved. Check the link, or try searching from the Reports page.",
43
+ primaryAction: { label: "Go to Reports", href: "/reports" },
44
+ backLabel: "Back",
45
+ },
46
+ ar: {
47
+ heading: "لا يوجد تقرير على هذا العنوان",
48
+ description: "ربما تم حذف التقرير أو نقله. تحقق من الرابط، أو جرّب البحث من صفحة التقارير.",
49
+ primaryAction: { label: "الذهاب إلى التقارير", href: "/reports" },
50
+ backLabel: "رجوع",
51
+ },
52
+ }
53
+
54
+ export interface ErrorStateIllustratedEmptyStateProps
55
+ extends Omit<React.HTMLAttributes<HTMLElement>, "title">,
56
+ Partial<ErrorStateIllustratedEmptyStateCopy> {
57
+ /** Which language the default copy is in. The page's `dir` sets the direction. */
58
+ locale?: "en" | "ar"
59
+ /**
60
+ * Called by the back button.
61
+ * @default goes back one page in the browser's history
62
+ */
63
+ onBack?: () => void
64
+ /**
65
+ * Shows the artwork. Off, the copy and buttons stay centred in the pane.
66
+ * @default true
67
+ */
68
+ showIllustration?: boolean
69
+ }
70
+
71
+ /**
72
+ * Figma's "Illustration 404", 336 × 223. Every shape takes its colour from a
73
+ * theme token through a `fill-*` class, in Figma's paint order. Decorative:
74
+ * the heading says what the picture shows.
75
+ */
76
+ function Illustration404({ className }: { className?: string }) {
77
+ return (
78
+ <svg
79
+ viewBox="0 0 336 223.112"
80
+ fill="none"
81
+ xmlns="http://www.w3.org/2000/svg"
82
+ className={className}
83
+ aria-hidden="true"
84
+ >
85
+ <g className="fill-muted">
86
+ <path d="M170.215 62.708C167.219 57.7529 163.669 52.4624 158.109 50.8445C151.671 48.9708 145.057 52.6929 139.446 56.366C122.669 67.3507 106.512 79.2551 91.049 92.0246L91.066 92.217C103.104 91.3868 115.143 90.5566 127.181 89.7264C135.879 89.1266 144.875 88.4441 152.561 84.3295C155.478 82.7682 158.321 80.6826 161.626 80.5373C165.733 80.3567 169.313 83.2246 172.127 86.2208C188.771 103.944 193.587 131.048 212.26 146.62C200.486 117.581 186.426 89.5229 170.215 62.708Z" />
87
+ </g>
88
+ <g className="fill-border">
89
+ <path d="M272.523 213.037C270.683 210.712 269.931 210.168 268.115 207.822C253.332 188.703 239.437 168.938 226.431 148.527C217.596 134.664 209.2 120.536 201.242 106.141C197.453 99.2972 193.768 92.4 190.187 85.4491C187.408 80.0595 184.691 74.6377 182.036 69.1837C181.277 67.6259 180.539 66.061 179.805 64.4925C178.075 60.8039 176.378 57.0975 174.555 53.4591C172.478 49.3122 169.95 44.9647 166.136 42.1786C164.4 40.8587 162.325 40.06 160.152 39.876C157.047 39.6755 154.182 40.9575 151.489 42.3577C131.786 52.6319 113.34 65.5131 96.6555 80.1706C79.9284 94.8609 64.9771 111.458 52.1065 129.622C51.7127 130.184 50.7815 129.647 51.179 129.081C52.744 126.868 54.34 124.679 55.967 122.513C76.1976 95.6073 101.003 72.4693 129.251 54.1574C134.003 51.0777 138.844 48.1424 143.776 45.3515C146.261 43.9441 148.757 42.5546 151.296 41.2511C153.785 39.9727 156.428 38.8231 159.271 38.7802C168.947 38.6298 173.957 49.5879 177.399 56.9614C178.48 59.282 179.575 61.5954 180.682 63.9016C184.869 72.6574 189.216 81.3332 193.725 89.929C196.507 95.2362 199.351 100.512 202.255 105.758C211.294 122.091 220.9 138.094 231.076 153.766C244.555 174.525 257.927 192.864 273.283 212.277C273.705 212.815 272.95 213.581 272.523 213.037Z" />
90
+ <path d="M95.6992 74.7595C95.137 74.1328 94.5784 73.5061 94.0125 72.8794C89.5505 67.9447 84.7627 63.0672 78.6353 60.2381C75.7137 58.8466 72.5244 58.1073 69.2886 58.0716C65.9439 58.0823 62.6744 58.9597 59.5839 60.188C58.1228 60.7717 56.6939 61.4342 55.2866 62.1397C53.6786 62.949 52.0993 63.8121 50.5273 64.6823C47.5764 66.3153 44.6638 68.0199 41.7895 69.7961C36.0704 73.3306 30.5304 77.135 25.1695 81.2091C22.3905 83.3219 19.6688 85.504 17.0045 87.7553C14.5264 89.8467 12.0984 91.9941 9.72059 94.1977C9.2121 94.6668 8.45286 93.9077 8.96135 93.4385C9.58804 92.8548 10.2219 92.2747 10.8558 91.7017C12.6463 90.083 14.4655 88.4954 16.3135 86.9388C19.6831 84.0954 23.1401 81.3619 26.6843 78.7381C32.1957 74.6556 37.8968 70.8501 43.7876 67.3216C46.7313 65.5597 49.7156 63.8718 52.7403 62.2579C53.6536 61.7708 54.5776 61.2946 55.5122 60.8433C57.6329 59.7736 59.8365 58.8766 62.1014 58.1611C65.3097 57.1232 68.7043 56.7897 72.0533 57.1835C75.2868 57.6538 78.4023 58.7316 81.2353 60.3599C87.2514 63.7226 91.9175 68.9223 96.4584 73.9967C96.9169 74.5124 96.1612 75.2752 95.6992 74.7595Z" />
91
+ <path d="M218.969 125.897L233.385 120.624L240.543 118.006C242.874 117.153 245.2 116.183 247.61 115.572C249.704 114.974 251.928 115.002 254.006 115.654C255.859 116.34 257.556 117.391 258.995 118.746C260.465 120.1 261.832 121.56 263.087 123.116C264.645 124.989 266.18 126.881 267.723 128.767C274.088 136.552 280.411 144.37 286.693 152.222C292.975 160.074 299.215 167.959 305.413 175.877C311.625 183.815 317.796 191.786 323.923 199.79C324.674 200.771 325.424 201.752 326.173 202.734C326.587 203.276 327.521 202.741 327.101 202.191C320.928 194.107 314.712 186.055 308.454 178.036C302.18 169.999 295.862 161.995 289.501 154.026C283.141 146.056 276.737 138.121 270.29 130.221C268.684 128.253 267.075 126.287 265.464 124.323C264.105 122.666 262.761 120.992 261.27 119.45C258.534 116.62 255.115 114.119 251.022 114.051C248.616 114.011 246.287 114.774 244.051 115.583C241.641 116.455 239.237 117.343 236.83 118.224L222.313 123.533L218.684 124.861C218.039 125.096 218.318 126.135 218.969 125.897Z" />
92
+ </g>
93
+ <g className="fill-muted">
94
+ <path d="M76.7381 66.4476C69.4121 62.6823 60.03 63.4198 53.2979 68.1239C66.1389 70.3393 78.8395 73.3035 91.3345 77.0014C86.1458 73.9607 82.087 69.1966 76.7381 66.4476Z" />
95
+ <path d="M53.2258 68.1109L51.8154 69.2573C52.2925 68.856 52.7884 68.4799 53.2979 68.1239C53.2738 68.1197 53.2498 68.115 53.2258 68.1109Z" />
96
+ <path d="M258.452 125.949C257.033 124.222 255.499 122.413 253.376 121.712L251.394 121.79C266.48 148.446 286.854 171.739 311.266 190.238C293.661 168.808 276.057 147.379 258.452 125.949Z" />
97
+ <path d="M135.219 111.699C136.136 115.031 138.202 117.931 141.052 119.886C142.154 120.637 143.457 121.356 143.834 122.634C144.032 123.449 143.91 124.309 143.493 125.037C143.076 125.755 142.569 126.417 141.984 127.006L141.931 127.206C139.197 125.586 136.596 123.537 135.086 120.741C133.576 117.945 133.365 114.28 135.219 111.699Z" />
98
+ <path d="M226.238 190.999C227.155 194.331 229.221 197.231 232.07 199.186C233.172 199.936 234.476 200.656 234.852 201.934C235.051 202.749 234.929 203.609 234.511 204.336C234.095 205.055 233.588 205.716 233.003 206.306L232.949 206.506C230.216 204.886 227.615 202.836 226.105 200.04C224.594 197.244 224.384 193.579 226.238 190.999Z" />
99
+ <path d="M44.5912 185.53C45.5082 188.862 47.5743 191.762 50.4238 193.717C51.5255 194.467 52.8289 195.187 53.2058 196.465C53.404 197.28 53.2819 198.14 52.8645 198.867C52.4479 199.586 51.941 200.247 51.3562 200.837L51.3028 201.037C48.5689 199.417 45.9681 197.367 44.4579 194.571C42.9477 191.775 42.7369 188.111 44.5912 185.53Z" />
100
+ </g>
101
+ <g className="fill-destructive">
102
+ <path d="M253.621 39.8451C264.624 39.8451 273.544 30.9255 273.544 19.9225C273.544 8.91962 264.624 0 253.621 0C242.618 0 233.699 8.91962 233.699 19.9225C233.699 30.9255 242.618 39.8451 253.621 39.8451Z" />
103
+ </g>
104
+ <g className="fill-muted">
105
+ <path d="M289.574 4.63702C279.918 3.33192 268.895 8.5507 266.393 17.967C265.762 16.2928 264.616 14.8624 263.119 13.8825C261.622 12.9026 259.852 12.4239 258.066 12.5156C256.279 12.6072 254.568 13.2646 253.179 14.3925C251.79 15.5205 250.796 17.0607 250.34 18.7907L251.446 19.5824C272.137 24.0569 293.555 23.96 314.205 19.2987C307.489 12.2402 299.229 5.9421 289.574 4.63702Z" />
106
+ <path d="M248.166 31.2004C238.511 29.8953 227.488 35.1141 224.985 44.5304C224.355 42.8561 223.208 41.4258 221.711 40.4459C220.214 39.466 218.445 38.9873 216.658 39.0789C214.871 39.1706 213.16 39.8279 211.771 40.9559C210.383 42.0839 209.388 43.6241 208.932 45.3541L210.038 46.1458C230.729 50.6203 252.148 50.5234 272.797 45.862C266.081 38.8036 257.821 32.5055 248.166 31.2004Z" />
107
+ </g>
108
+ <g className="fill-muted-foreground">
109
+ <path d="M332.437 36.2232C332.397 36.2233 332.358 36.2171 332.319 36.2049C229.032 3.54043 137.999 7.81188 79.8189 17.1471C71.9012 18.4171 63.9624 19.8839 56.2229 21.5071C54.247 21.921 52.1971 22.3647 50.1302 22.8266C47.6618 23.3764 45.2263 23.9425 42.8908 24.5086C41.8822 24.7474 40.8933 24.9881 39.924 25.2308C38.4559 25.5932 36.9662 25.9708 35.3693 26.3859C33.5849 26.8459 31.7719 27.3285 29.9795 27.8202C29.973 27.8226 29.9663 27.8245 29.9595 27.826L29.9597 27.8264C27.9352 28.3791 25.9213 28.9479 23.9739 29.5159C22.9198 29.8204 21.902 30.1206 20.9272 30.417C20.8182 30.4471 20.7217 30.4761 20.6239 30.5059L20.4144 30.5696C20.2931 30.6066 20.1734 30.6428 20.0536 30.6772L20.0459 30.6795L20.0461 30.6799L19.7291 30.7783C19.3511 30.8928 18.9822 31.0045 18.6194 31.1159C9.0312 34.0716 3.76026 36.1744 3.70819 36.195C3.66057 36.2141 3.60966 36.2236 3.55837 36.223C3.50707 36.2224 3.45639 36.2117 3.40922 36.1915C3.36206 36.1714 3.31932 36.1421 3.28347 36.1054C3.24761 36.0687 3.21933 36.0253 3.20024 35.9777C3.18116 35.9301 3.17164 35.8792 3.17223 35.8279C3.17282 35.7766 3.1835 35.7259 3.20368 35.6787C3.22385 35.6316 3.25311 35.5888 3.2898 35.553C3.32649 35.5171 3.36988 35.4889 3.4175 35.4698C3.46995 35.4492 8.76665 33.3358 18.3897 30.369C18.7539 30.2572 19.1237 30.1454 19.5029 30.0306L19.7974 29.939C19.8075 29.9352 19.8176 29.9322 19.8279 29.9291C19.9471 29.8952 20.0662 29.8589 20.1871 29.8223L20.3969 29.7586C20.5014 29.7269 20.6044 29.6956 20.7099 29.6667C21.6781 29.3722 22.6993 29.0712 23.756 28.7656C25.7043 28.1972 27.72 27.6284 29.7461 27.0749C29.7524 27.0726 29.7589 27.071 29.7652 27.0691C31.5638 26.5759 33.3835 26.091 35.1736 25.6294C36.773 25.214 38.2655 24.8356 39.7362 24.4724C40.7095 24.2301 41.7003 23.9889 42.7087 23.7487C45.0468 23.1818 47.4873 22.6149 49.9601 22.0641C52.0302 21.6017 54.0835 21.1569 56.0627 20.7426C63.8142 19.1168 71.7654 17.6477 79.6951 16.3758C137.958 7.02719 229.122 2.74884 332.555 35.4602C332.644 35.4883 332.72 35.5472 332.769 35.6265C332.818 35.7057 332.837 35.7999 332.823 35.8921C332.809 35.9842 332.762 36.0683 332.692 36.129C332.621 36.1898 332.531 36.2232 332.437 36.2232Z" />
110
+ </g>
111
+ <g className="fill-foreground">
112
+ <path d="M102.733 164.005C102.598 163.61 102.37 163.252 102.069 162.962C101.958 162.859 101.838 162.767 101.71 162.685C100.69 162.005 99.1669 161.853 98.1981 162.685C98.1005 162.77 98.0103 162.863 97.9286 162.962C97.6395 163.318 97.3426 163.666 97.0379 164.005C96.5379 164.576 96.0262 165.127 95.491 165.662C95.3386 165.81 95.1863 165.963 95.03 166.111C94.9402 166.201 94.8503 166.287 94.7605 166.373C94.4167 166.701 94.0652 167.017 93.7097 167.33C93.5222 167.498 93.3347 167.662 93.1432 167.822C92.8581 168.06 92.5729 168.299 92.2838 168.529C92.2565 168.549 92.2292 168.568 92.2018 168.592C92.194 168.595 92.1901 168.603 92.1823 168.607C92.1784 168.607 92.1745 168.607 92.1706 168.615C92.16 168.619 92.1506 168.626 92.1432 168.635C92.0573 168.693 91.9987 168.732 91.9557 168.767C91.9713 168.76 91.987 168.748 92.0026 168.74C91.9323 168.795 91.858 168.849 91.7877 168.904C91.1041 169.408 90.4049 169.892 89.69 170.346C87.9213 171.477 86.0636 172.464 84.1351 173.295C84.0062 173.346 83.8734 173.4 83.7406 173.451C78.6914 175.52 73.2143 176.327 67.783 175.803C67.2283 175.76 66.6736 175.701 66.1189 175.627C65.4783 175.533 64.8415 175.42 64.2087 175.291C61.7995 174.81 59.4421 174.099 57.1694 173.166C54.3264 171.864 51.6224 170.278 49.0988 168.431C48.7082 168.154 48.3136 167.877 47.9191 167.607C48.3683 166.506 48.8097 165.404 49.2394 164.295C49.4543 163.759 49.6613 163.224 49.8645 162.685C51.4622 158.533 52.9622 154.341 54.3998 150.134C55.8529 145.872 57.2241 141.585 58.5132 137.274C58.646 136.837 58.7749 136.399 58.8999 135.962C59.5757 133.684 60.2242 131.402 60.8453 129.114C60.9039 128.891 60.9664 128.672 61.0211 128.45C61.2008 127.793 61.3766 127.137 61.5484 126.481C61.9391 125 61.0562 123.231 59.5015 122.875C58.7529 122.683 57.9591 122.789 57.2872 123.171C56.6154 123.553 56.118 124.181 55.8998 124.922C55.7318 125.555 55.5639 126.184 55.392 126.817C54.5677 129.875 53.7005 132.924 52.7903 135.962C52.6575 136.399 52.5247 136.837 52.3919 137.274C50.384 143.892 48.1795 150.443 45.7784 156.927C45.4893 157.712 45.1963 158.495 44.8994 159.275C44.7549 159.658 44.6104 160.04 44.4619 160.423C44.1768 161.177 43.8838 161.931 43.5908 162.685C43.4228 163.127 43.2509 163.568 43.0791 164.005C42.9658 164.283 42.8564 164.56 42.747 164.834C41.6333 164.434 40.4793 164.156 39.3055 164.005L39.118 163.982C38.208 163.873 37.2877 163.88 36.3796 164.005C35.0206 164.164 33.7131 164.619 32.5493 165.339C31.3856 166.058 30.3941 167.025 29.645 168.17C27.7817 171.103 27.8051 175.299 30.4185 177.791C33.11 180.358 37.1844 180.338 40.3524 178.733C42.0313 177.824 43.4469 176.497 44.4619 174.881C44.8508 174.295 45.2081 173.688 45.5323 173.064C45.6143 173.119 45.6963 173.174 45.7784 173.232C46.0909 173.451 46.4034 173.674 46.712 173.893C48.5101 175.195 50.405 176.359 52.3802 177.373C56.6272 179.484 61.1988 180.867 65.9041 181.463C66.0095 181.475 66.1111 181.49 66.2166 181.502C66.7361 181.569 67.2596 181.619 67.783 181.662C75.2919 182.228 82.81 180.692 89.4947 177.225C90.0611 176.932 90.6223 176.624 91.1783 176.303C92.0416 175.803 92.8854 175.271 93.7097 174.709C94.1589 174.404 94.5964 174.096 95.03 173.771C96.9248 172.376 98.6911 170.814 100.308 169.103C100.921 168.459 101.508 167.793 102.069 167.107C102.6 166.546 102.906 165.809 102.929 165.037C102.926 164.684 102.86 164.335 102.733 164.005ZM38.0477 173.31C38.1297 173.252 38.2117 173.189 38.2899 173.127C38.2664 173.185 38.1531 173.252 38.0477 173.31ZM39.3016 172.049C39.2118 172.15 39.1297 172.252 39.0399 172.353C38.7665 172.659 38.4729 172.946 38.1609 173.213C38.118 173.252 38.0711 173.291 38.0242 173.326C38.0237 173.326 38.0232 173.326 38.0227 173.326C38.0222 173.327 38.0218 173.327 38.0214 173.327C38.0211 173.328 38.0208 173.328 38.0206 173.328C38.0204 173.329 38.0203 173.329 38.0203 173.33C37.9639 173.355 37.9091 173.384 37.8562 173.416C37.6883 173.518 37.5164 173.611 37.3406 173.697C36.9964 173.824 36.6423 173.922 36.282 173.99C36.0051 174.01 35.7272 174.013 35.4499 173.998H35.4421C35.2508 173.956 35.0617 173.903 34.8757 173.842C34.7819 173.795 34.6921 173.74 34.6022 173.685C34.5671 173.654 34.5358 173.623 34.5163 173.603C34.4781 173.569 34.4429 173.531 34.4109 173.49C34.4109 173.49 34.4108 173.489 34.4106 173.489C34.4104 173.488 34.4101 173.488 34.4097 173.487C34.4094 173.487 34.4089 173.487 34.4084 173.487C34.408 173.486 34.4075 173.486 34.4069 173.486C34.364 173.408 34.3171 173.33 34.2741 173.252C34.2719 173.25 34.2705 173.247 34.2702 173.244C34.239 173.146 34.2116 173.045 34.1882 172.943C34.1797 172.765 34.181 172.586 34.1921 172.408C34.2445 172.159 34.315 171.913 34.403 171.674C34.4821 171.504 34.5722 171.34 34.6726 171.181C34.6804 171.166 34.7195 171.103 34.7624 171.033C34.7663 171.029 34.7663 171.029 34.7663 171.025C34.8249 170.959 34.8835 170.889 34.946 170.826C35.0515 170.709 35.1648 170.607 35.2781 170.502C35.4984 170.358 35.7266 170.226 35.9617 170.107C36.3346 169.975 36.7173 169.872 37.1063 169.799C37.6798 169.753 38.2563 169.758 38.829 169.814C39.3714 169.908 39.9065 170.04 40.4306 170.209C40.113 170.825 39.7513 171.418 39.3485 171.982C39.3329 172.006 39.3173 172.029 39.3016 172.049ZM34.9577 170.763C34.9233 170.819 34.8827 170.87 34.8366 170.916C34.8676 170.858 34.9086 170.807 34.9577 170.763Z" />
113
+ <path d="M90.9908 124.11C90.9557 125.336 90.9205 126.563 90.8853 127.789C90.8111 130.512 90.7343 133.236 90.6549 135.962C90.5728 139.028 90.4869 142.093 90.3971 145.157C90.3541 146.739 90.3098 148.321 90.2642 149.903C90.1431 154.165 90.0233 158.426 89.9049 162.685C89.8931 163.127 89.8775 163.564 89.8658 164.005C89.8072 166.119 89.7486 168.232 89.69 170.346C89.6236 172.639 89.5585 174.932 89.4947 177.225C89.4478 178.943 89.3996 180.664 89.3501 182.385C88.9986 194.858 88.647 207.331 88.2954 219.804C88.2806 220.577 87.9671 221.313 87.4209 221.859C86.8746 222.406 86.138 222.719 85.3656 222.734C84.5905 222.728 83.849 222.417 83.3009 221.869C82.7528 221.321 82.4421 220.579 82.4359 219.804C82.6312 212.788 82.8291 205.772 83.0296 198.757C83.2054 192.413 83.3838 186.069 83.5648 179.725C83.6234 177.635 83.682 175.544 83.7406 173.451C83.8304 170.303 83.919 167.154 84.0062 164.005C84.0179 163.564 84.0336 163.127 84.0453 162.685C84.0531 162.298 84.0648 161.916 84.0765 161.529C84.2484 155.415 84.4203 149.301 84.5922 143.184C84.6625 140.778 84.7302 138.371 84.7953 135.962C84.8734 133.215 84.9516 130.47 85.0297 127.727C85.0648 126.52 85.0961 125.317 85.1313 124.11C85.1461 123.337 85.4596 122.601 86.0058 122.054C86.5521 121.508 87.2887 121.195 88.061 121.18C88.8361 121.186 89.5777 121.497 90.1258 122.045C90.6739 122.593 90.9846 123.335 90.9908 124.11Z" />
114
+ <path d="M251.71 124.923C248.638 136.556 244.966 148.022 240.709 159.276C239.535 162.38 238.333 165.478 237.049 168.539L237.344 167.839C236.771 169.297 236.038 170.687 235.16 171.984C235.101 172.068 235.04 172.151 234.978 172.233C235.282 171.845 235.339 171.768 235.151 172.003C235.052 172.12 234.954 172.238 234.851 172.352C234.578 172.658 234.284 172.946 233.973 173.213C233.894 173.28 233.815 173.346 233.734 173.41L234.1 173.125C234.058 173.226 233.759 173.359 233.666 173.415C233.365 173.597 233.051 173.756 232.727 173.891L233.427 173.596C232.895 173.81 232.34 173.962 231.774 174.05L232.553 173.945C231.996 174.022 231.432 174.028 230.874 173.963L231.653 174.067C231.196 174.005 230.749 173.884 230.322 173.709L231.022 174.005C230.795 173.905 230.576 173.788 230.367 173.655C230.261 173.585 229.935 173.339 230.361 173.664C230.803 174.002 230.418 173.693 230.326 173.603C230.251 173.528 230.182 173.447 230.108 173.371C229.763 173.018 230.497 173.979 230.263 173.566C230.138 173.358 230.023 173.145 229.92 172.926L230.215 173.626C230.081 173.293 229.985 172.945 229.931 172.59L230.035 173.369C229.979 172.928 229.979 172.481 230.034 172.039L229.93 172.818C230.001 172.325 230.132 171.842 230.318 171.38L230.023 172.08C230.153 171.77 230.307 171.469 230.483 171.182C230.564 171.034 230.659 170.894 230.768 170.764C230.787 170.77 230.272 171.355 230.545 171.06C230.617 170.982 230.683 170.901 230.756 170.824C230.871 170.702 230.995 170.59 231.117 170.474C231.525 170.085 230.546 170.851 231.017 170.544C231.358 170.319 231.718 170.123 232.091 169.958L231.391 170.253C232.017 169.996 232.672 169.821 233.342 169.73L232.564 169.835C233.403 169.738 234.251 169.748 235.087 169.864L234.309 169.76C235.368 169.92 236.403 170.212 237.391 170.627L236.691 170.332C238.797 171.236 240.662 172.578 242.523 173.893C244.321 175.195 246.215 176.358 248.19 177.373C252.437 179.484 257.009 180.867 261.714 181.464C268.463 182.291 275.311 181.409 281.63 178.901C287.949 176.393 293.538 172.337 297.882 167.107C298.412 166.545 298.717 165.808 298.74 165.036C298.734 164.26 298.427 163.517 297.882 162.964C296.807 161.977 294.776 161.699 293.738 162.964C292.755 164.165 291.697 165.304 290.572 166.373C290.046 166.872 289.507 167.355 288.954 167.822C288.637 168.09 288.317 168.351 287.992 168.608C287.839 168.729 287.36 169.053 288.095 168.531C287.927 168.65 287.765 168.781 287.599 168.904C285.138 170.717 282.472 172.234 279.656 173.421L280.356 173.126C277.334 174.394 274.16 175.263 270.914 175.713L271.693 175.608C268.353 176.048 264.97 176.043 261.632 175.594L262.411 175.698C259.074 175.24 255.81 174.351 252.701 173.054L253.401 173.349C250.401 172.021 247.554 170.372 244.91 168.43C243.534 167.411 242.083 166.498 240.569 165.698C238.805 164.797 236.895 164.217 234.929 163.984C231.242 163.55 227.484 164.986 225.457 168.172C223.592 171.103 223.616 175.298 226.228 177.791C228.919 180.359 232.994 180.337 236.164 178.731C239.218 177.184 241.052 173.971 242.342 170.941C245.245 164.122 247.815 157.146 250.21 150.134C252.579 143.197 254.727 136.19 256.655 129.113C256.893 128.236 257.129 127.359 257.36 126.48C257.752 125 256.868 123.23 255.314 122.876C254.565 122.684 253.771 122.789 253.099 123.171C252.426 123.553 251.928 124.181 251.71 124.923Z" />
115
+ <path d="M280.943 124.109L279.888 161.53L278.839 198.755L278.246 219.804C278.253 220.579 278.563 221.321 279.111 221.869C279.659 222.417 280.401 222.728 281.176 222.734C281.948 222.719 282.685 222.406 283.231 221.86C283.777 221.313 284.091 220.577 284.106 219.804L285.16 182.384L286.209 145.158L286.802 124.109C286.796 123.334 286.485 122.593 285.937 122.045C285.389 121.497 284.648 121.186 283.873 121.18C283.1 121.195 282.364 121.508 281.817 122.054C281.271 122.601 280.958 123.337 280.943 124.109Z" />
116
+ <path opacity={0.2} d="M179.534 209.357H180.444V167.933H201.666V167.025H180.444V149.546H196.833C196.593 149.241 196.346 148.939 196.091 148.641H180.444V137.097C180.143 136.969 179.839 136.845 179.534 136.728V148.641H161.7V133.85C161.395 133.864 161.094 133.885 160.791 133.91V148.641H146.564V137.605C146.258 137.741 145.957 137.883 145.659 138.032V148.641H133.699V149.546H145.659V167.025H133.699V167.933H145.659V209.357H146.564V167.933C148.432 167.932 150.282 168.3 152.009 169.015C153.735 169.73 155.303 170.778 156.625 172.099C157.946 173.42 158.994 174.989 159.708 176.715C160.423 178.441 160.791 180.291 160.791 182.16V209.357H161.7V167.933H179.534V209.357ZM146.564 167.025V149.546H160.791V167.025H146.564ZM161.7 167.025V149.546H162.057C164.353 149.547 166.625 149.999 168.746 150.877C170.866 151.756 172.793 153.043 174.416 154.666C176.038 156.289 177.326 158.216 178.204 160.337C179.082 162.457 179.534 164.73 179.534 167.025H161.7Z" />
117
+ <path d="M173.978 196.936C172.833 202.045 170.089 206.656 166.146 210.101C165.857 210.351 165.568 210.593 165.267 210.831C164.536 210.898 163.811 210.965 163.091 211.034C162.493 211.089 161.903 211.148 161.317 211.202L161.212 211.214L161.138 210.573L160.841 207.98C159.689 206.099 158.975 203.984 158.752 201.79C158.529 199.597 158.802 197.381 159.552 195.307C160.583 192.526 162.45 190.069 164.286 187.631C166.821 184.264 169.286 180.936 169.376 176.83C170.624 178.427 171.661 180.177 172.462 182.037C171.706 182.393 171.027 182.894 170.462 183.51C170.302 183.686 170.142 183.932 170.251 184.143C170.345 184.323 170.579 184.366 170.783 184.389C171.271 184.44 171.763 184.49 172.251 184.541C172.642 184.584 173.033 184.623 173.423 184.666C173.896 186.217 174.216 187.811 174.38 189.424C174.644 191.934 174.508 194.469 173.978 196.936Z" />
118
+ </g>
119
+ <g className="fill-destructive">
120
+ <path d="M186.947 186.698C184.642 188.373 183.295 190.784 182.248 193.44C181.175 193.783 180.21 194.4 179.447 195.229C179.287 195.405 179.127 195.651 179.236 195.862C179.33 196.042 179.564 196.085 179.767 196.108C180.256 196.159 180.748 196.21 181.236 196.26C180.189 199.401 179.228 202.651 177.377 205.304C176.145 207.055 174.54 208.511 172.677 209.566C172.169 209.855 171.645 210.115 171.107 210.343C169.122 210.495 167.176 210.658 165.267 210.831C164.536 210.898 163.811 210.965 163.091 211.034C162.493 211.089 161.903 211.148 161.317 211.202C161.313 210.988 161.313 210.773 161.317 210.558C161.441 204.834 163.546 199.331 167.275 194.987C167.45 194.784 167.63 194.585 167.814 194.385C169.702 192.368 171.924 190.69 174.38 189.424C178.251 187.412 182.59 186.47 186.947 186.698Z" />
121
+ <path d="M163.767 209.03L163.317 210.359L163.091 211.034C162.493 211.089 161.903 211.148 161.317 211.202L161.212 211.214C160.563 211.28 159.919 211.347 159.274 211.413C159.106 211.218 158.938 211.019 158.774 210.816C154.697 205.878 152.74 199.527 153.33 193.151C153.921 186.775 157.012 180.892 161.927 176.787C161.411 179.486 162.013 182.072 163.001 184.639C162.896 184.682 162.794 184.725 162.696 184.772C161.94 185.128 161.261 185.628 160.696 186.244C160.536 186.42 160.376 186.666 160.485 186.877C160.579 187.057 160.813 187.1 161.017 187.123C161.505 187.174 161.997 187.225 162.485 187.276C162.876 187.319 163.267 187.358 163.657 187.401C163.841 187.42 164.025 187.44 164.208 187.459C164.235 187.518 164.259 187.573 164.286 187.631C165.4 190.045 166.599 192.471 167.275 194.987C167.444 195.618 167.577 196.259 167.673 196.905C167.974 199.09 167.779 201.314 167.103 203.413C166.426 205.512 165.286 207.432 163.767 209.03Z" />
122
+ </g>
123
+ <g className="fill-foreground">
124
+ <path d="M203.088 152.372C199.725 145.813 194.515 140.294 188.387 136.238C182.24 132.187 175.186 129.721 167.854 129.058C166.893 128.971 165.93 128.919 164.964 128.904C163.823 128.887 146.656 133.839 140.905 137.882C135.158 141.876 130.43 147.165 127.103 153.323C123.782 159.514 122.148 166.47 122.366 173.493C122.651 180.558 124.62 187.452 128.11 193.601C131.552 199.731 136.439 204.926 142.346 208.737C148.338 212.56 154.356 222.696 161.431 223.054C168.558 223.415 176.687 213.853 183.187 210.95C189.688 208.022 195.308 203.442 199.487 197.666C203.548 192.005 206.175 185.444 207.143 178.545C208.148 171.481 207.68 164.196 205.267 157.444C204.648 155.709 203.92 154.015 203.088 152.372C202.392 151.003 200.355 150.499 199.079 151.321C198.422 151.726 197.946 152.368 197.75 153.115C197.554 153.862 197.654 154.655 198.028 155.33C198.436 156.134 198.816 156.951 199.167 157.782L198.872 157.082C200.2 160.276 201.103 163.63 201.558 167.059L201.453 166.28C201.937 169.999 201.928 173.767 201.427 177.484L201.532 176.705C201.025 180.422 200.033 184.057 198.581 187.516L198.876 186.816C198.129 188.581 197.258 190.291 196.27 191.933C195.769 192.762 195.238 193.572 194.676 194.363C194.429 194.71 194.175 195.051 193.918 195.391C193.584 195.835 194.374 194.812 194.029 195.247C193.97 195.321 193.911 195.395 193.852 195.469C193.675 195.691 193.495 195.911 193.312 196.128C192.095 197.581 190.765 198.938 189.337 200.185C188.981 200.495 188.62 200.799 188.252 201.095C188.069 201.243 187.888 201.397 187.697 201.535C187.704 201.529 188.314 201.066 187.953 201.335C187.84 201.419 187.727 201.505 187.613 201.59C186.856 202.151 186.078 202.684 185.28 203.188C183.442 204.346 181.515 205.353 179.515 206.201L180.215 205.906C176.767 207.357 173.142 208.349 169.435 208.856L170.214 208.751C166.509 209.252 162.753 209.258 159.046 208.771L159.825 208.875C156.455 208.423 153.16 207.532 150.022 206.225L150.721 206.52C148.904 205.753 147.151 204.84 145.481 203.79C144.654 203.269 143.849 202.716 143.065 202.13C142.953 202.047 142.842 201.962 142.731 201.878C142.373 201.608 142.988 202.077 142.993 202.08C142.785 201.931 142.585 201.772 142.393 201.602C142.015 201.294 141.642 200.978 141.276 200.656C139.808 199.364 138.438 197.966 137.176 196.472C136.861 196.099 136.551 195.72 136.249 195.336C136.118 195.169 135.879 194.831 136.407 195.542C136.338 195.449 136.266 195.357 136.195 195.264C136.027 195.041 135.861 194.816 135.697 194.589C135.123 193.795 134.578 192.982 134.061 192.149C132.893 190.264 131.874 188.291 131.012 186.247L131.307 186.947C129.898 183.593 128.934 180.068 128.44 176.463L128.545 177.242C128.099 173.919 128.093 170.552 128.526 167.228L128.421 168.007C128.865 164.787 129.731 161.641 130.997 158.647L130.702 159.347C131.498 157.474 132.438 155.664 133.513 153.935C134.05 153.069 134.62 152.225 135.223 151.401C135.359 151.214 135.498 151.028 135.638 150.844C135.764 150.676 136.112 150.26 135.518 150.995C135.577 150.923 135.633 150.849 135.69 150.776C136.02 150.358 136.359 149.946 136.705 149.54C138.017 148.005 139.438 146.566 140.957 145.235C141.341 144.899 141.731 144.569 142.127 144.247C142.307 144.101 142.488 143.956 142.67 143.812C142.743 143.755 142.817 143.699 142.889 143.641C142.109 144.262 142.673 143.81 142.85 143.677C143.666 143.066 144.504 142.485 145.364 141.934C147.275 140.712 149.286 139.653 151.374 138.767L150.674 139.063C153.706 137.79 167.136 134.785 169.579 135.113L168.8 135.009C172.39 135.51 175.9 136.479 179.238 137.892L178.538 137.597C180.23 138.315 181.874 139.141 183.46 140.07C184.253 140.534 185.03 141.024 185.791 141.539C186.152 141.783 186.508 142.033 186.861 142.287C187.037 142.415 187.212 142.544 187.387 142.674C187.484 142.746 187.58 142.819 187.676 142.892C188.082 143.196 187.117 142.451 187.543 142.788C188.967 143.907 190.32 145.114 191.593 146.402C192.218 147.039 192.822 147.696 193.404 148.373C193.703 148.721 193.995 149.073 194.282 149.431C194.424 149.608 194.909 150.251 194.315 149.464C194.46 149.656 194.607 149.848 194.75 150.041C195.984 151.712 197.081 153.481 198.028 155.33C198.729 156.696 200.757 157.206 202.037 156.381C202.694 155.977 203.17 155.334 203.366 154.587C203.562 153.841 203.462 153.047 203.088 152.372Z" />
125
+ <path d="M168.95 200.185C168.647 200.199 168.348 200.119 168.092 199.957C167.836 199.795 167.636 199.559 167.52 199.279C167.403 199 167.375 198.691 167.439 198.396C167.504 198.1 167.657 197.831 167.88 197.625C167.917 197.477 167.944 197.371 167.981 197.223C167.967 197.191 167.954 197.159 167.941 197.127C166.581 193.885 157.907 202.921 157.532 205.967C157.367 207.314 157.437 208.679 157.738 210.002C154.928 203.873 153.469 197.211 153.46 190.469C153.459 188.777 153.553 187.086 153.741 185.405C153.897 184.026 154.113 182.658 154.389 181.299C155.895 173.926 159.128 167.016 163.823 161.136C166.508 161.286 168.862 160.877 169.089 155.672C169.129 154.747 169.816 153.945 169.967 153.033C169.711 153.067 169.45 153.088 169.194 153.105C169.114 153.109 169.03 153.113 168.95 153.117L168.92 153.119C168.638 153.131 168.359 153.062 168.115 152.92C167.872 152.777 167.675 152.568 167.548 152.316C167.421 152.064 167.37 151.781 167.4 151.5C167.43 151.22 167.541 150.954 167.718 150.735C167.829 150.599 167.94 150.463 168.051 150.327C168.219 150.117 168.391 149.911 168.559 149.701C168.579 149.681 168.597 149.66 168.614 149.638C168.807 149.398 169.001 149.163 169.194 148.923C168.841 148.376 168.366 147.917 167.807 147.583C165.87 146.448 163.197 147.234 161.797 148.986C160.394 150.739 160.129 153.197 160.617 155.387C161.096 157.25 161.889 159.018 162.962 160.615C162.857 160.749 162.747 160.879 162.642 161.014C160.722 163.483 159.048 166.135 157.645 168.931C158.042 165.83 153.187 154.631 151.309 152.259C149.054 149.409 144.43 150.653 144.032 154.265C144.029 154.3 144.025 154.335 144.021 154.37C144.3 154.527 144.573 154.694 144.84 154.871C145.176 155.095 145.436 155.415 145.586 155.79C145.736 156.164 145.77 156.575 145.683 156.969C145.596 157.363 145.391 157.722 145.097 157.998C144.802 158.273 144.431 158.454 144.033 158.515L143.992 158.522C140.259 163.851 152.225 177.723 155.221 174.609C153.811 178.604 152.927 182.766 152.59 186.989C152.399 189.481 152.411 191.984 152.624 194.474L152.611 194.385C151.945 188.963 140.528 180.9 137.194 181.571C135.273 181.958 133.381 181.87 133.673 183.808C133.678 183.839 133.682 183.869 133.687 183.9C134.205 184.111 134.709 184.354 135.196 184.627C135.475 184.785 135.748 184.952 136.015 185.128C136.35 185.353 136.61 185.673 136.761 186.047C136.911 186.422 136.945 186.833 136.858 187.227C136.77 187.621 136.566 187.979 136.272 188.255C135.977 188.531 135.606 188.712 135.207 188.773L135.166 188.779C135.137 188.784 135.112 188.788 135.082 188.792C133.383 194.638 145.984 204.074 153.645 201.072H153.649C154.408 204.371 155.508 207.582 156.931 210.653H168.656C168.698 210.523 168.736 210.388 168.774 210.258C167.688 210.326 166.599 210.261 165.529 210.065C166.399 208.997 167.269 207.922 168.139 206.854C168.158 206.834 168.177 206.813 168.194 206.791C168.635 206.245 169.08 205.703 169.522 205.156L169.522 205.156C169.545 203.481 169.353 201.81 168.95 200.185L168.95 200.185ZM155.523 173.772L155.529 173.764L155.523 173.781V173.772ZM152.926 197.184L152.825 196.957C152.829 196.794 152.829 196.63 152.825 196.462C152.825 196.415 152.817 196.369 152.817 196.323C152.855 196.613 152.888 196.903 152.93 197.193L152.926 197.184Z" />
126
+ <path d="M37.2078 175.787C39.581 175.787 41.5048 173.863 41.5048 171.49C41.5048 169.117 39.581 167.193 37.2078 167.193C34.8346 167.193 32.9108 169.117 32.9108 171.49C32.9108 173.863 34.8346 175.787 37.2078 175.787Z" />
127
+ <path d="M88.772 222.664C91.1452 222.664 93.069 220.74 93.069 218.367C93.069 215.993 91.1452 214.07 88.772 214.07C86.3988 214.07 84.475 215.993 84.475 218.367C84.475 220.74 86.3988 222.664 88.772 222.664Z" />
128
+ <path d="M284.482 222.664C286.855 222.664 288.779 220.74 288.779 218.367C288.779 215.993 286.855 214.07 284.482 214.07C282.108 214.07 280.185 215.993 280.185 218.367C280.185 220.74 282.108 222.664 284.482 222.664Z" />
129
+ <path d="M295.029 167.974C297.402 167.974 299.326 166.051 299.326 163.677C299.326 161.304 297.402 159.38 295.029 159.38C292.656 159.38 290.732 161.304 290.732 163.677C290.732 166.051 292.656 167.974 295.029 167.974Z" />
130
+ <path d="M282.528 128.129C284.902 128.129 286.825 126.205 286.825 123.832C286.825 121.459 284.902 119.535 282.528 119.535C280.155 119.535 278.231 121.459 278.231 123.832C278.231 126.205 280.155 128.129 282.528 128.129Z" />
131
+ <path d="M103.226 163.677C103.223 164.775 102.799 165.83 102.04 166.623C101.282 167.416 100.247 167.888 99.1507 167.94C98.0543 167.991 96.9799 167.62 96.1499 166.902C95.3199 166.183 94.7977 165.174 94.6915 164.081C94.5853 162.989 94.9031 161.897 95.5793 161.033C96.2554 160.168 97.2381 159.596 98.324 159.436C99.4098 159.276 100.516 159.539 101.413 160.171C102.31 160.804 102.93 161.757 103.144 162.834C103.199 163.111 103.226 163.394 103.226 163.677Z" />
132
+ <path d="M189.166 140.63C191.539 140.63 193.463 138.706 193.463 136.333C193.463 133.959 191.539 132.036 189.166 132.036C186.793 132.036 184.869 133.959 184.869 136.333C184.869 138.706 186.793 140.63 189.166 140.63Z" />
133
+ <path d="M146.586 136.333C146.584 137.43 146.159 138.485 145.401 139.278C144.642 140.072 143.608 140.543 142.512 140.595C141.415 140.647 140.341 140.275 139.511 139.557C138.681 138.839 138.159 137.829 138.052 136.736C137.946 135.644 138.264 134.553 138.94 133.688C139.616 132.823 140.599 132.252 141.685 132.091C142.771 131.931 143.877 132.194 144.774 132.827C145.671 133.459 146.29 134.412 146.504 135.489C146.56 135.767 146.587 136.049 146.586 136.333Z" />
134
+ <path d="M91.1158 123.832C91.1133 124.93 90.6888 125.984 89.9303 126.778C89.1718 127.571 88.1373 128.043 87.0409 128.095C85.9445 128.146 84.8701 127.775 84.0401 127.057C83.2101 126.338 82.6879 125.329 82.5817 124.236C82.4755 123.144 82.7934 122.052 83.4695 121.187C84.1457 120.323 85.1283 119.751 86.2142 119.591C87.3 119.431 88.4059 119.694 89.3031 120.326C90.2002 120.959 90.8198 121.912 91.0338 122.988C91.0889 123.266 91.1164 123.549 91.1158 123.832Z" />
135
+ <path d="M234.089 177.35C236.463 177.35 238.386 175.426 238.386 173.053C238.386 170.679 236.463 168.756 234.089 168.756C231.716 168.756 229.792 170.679 229.792 173.053C229.792 175.426 231.716 177.35 234.089 177.35Z" />
136
+ <path d="M166.509 138.286C169.961 138.286 172.759 135.488 172.759 132.036C172.759 128.584 169.961 125.785 166.509 125.785C163.057 125.785 160.259 128.584 160.259 132.036C160.259 135.488 163.057 138.286 166.509 138.286Z" />
137
+ </g>
138
+ <g className="fill-muted-foreground">
139
+ <path d="M335.535 222.992L0.465125 223.112C0.404044 223.112 0.343559 223.1 0.287128 223.077C0.230696 223.053 0.179424 223.019 0.136233 222.976C0.0930425 222.933 0.0587775 222.881 0.0354028 222.825C0.0120281 222.769 2.41097e-06 222.708 2.41097e-06 222.647C2.41097e-06 222.586 0.0120281 222.525 0.0354028 222.469C0.0587775 222.413 0.0930425 222.361 0.136233 222.318C0.179424 222.275 0.230696 222.241 0.287128 222.217C0.343559 222.194 0.404044 222.182 0.465125 222.182L335.535 222.062C335.658 222.062 335.776 222.111 335.863 222.199C335.95 222.286 335.999 222.404 335.999 222.527C335.999 222.65 335.95 222.768 335.863 222.855C335.776 222.943 335.658 222.992 335.535 222.992Z" />
140
+ </g>
141
+ </svg>
142
+ )
143
+ }
144
+
145
+ export function ErrorStateIllustratedEmptyState({
146
+ locale = "en",
147
+ heading,
148
+ description,
149
+ primaryAction,
150
+ backLabel,
151
+ onBack,
152
+ showIllustration = true,
153
+ className,
154
+ ...props
155
+ }: ErrorStateIllustratedEmptyStateProps) {
156
+ const copy = COPY[locale]
157
+ const headingId = React.useId()
158
+ const primary = primaryAction ?? copy.primaryAction
159
+ const back = backLabel ?? copy.backLabel
160
+
161
+ return (
162
+ <section
163
+ aria-labelledby={headingId}
164
+ className={cn(
165
+ "flex min-h-[560px] items-center justify-center bg-background p-4 md:min-h-[600px] md:p-6 lg:min-h-[660px]",
166
+ className
167
+ )}
168
+ {...props}
169
+ >
170
+ <div className="flex w-full max-w-[460px] flex-col items-center gap-5 text-center">
171
+ {showIllustration ? (
172
+ <div className="flex h-40 items-center justify-center md:h-[200px] lg:h-60">
173
+ <Illustration404 className="w-[234px] md:w-[280px] lg:w-[336px]" />
174
+ </div>
175
+ ) : null}
176
+ <div className="flex w-full flex-col gap-2">
177
+ <h1 id={headingId} className="text-xl font-semibold text-foreground">
178
+ {heading ?? copy.heading}
179
+ </h1>
180
+ <p className="text-sm text-muted-foreground">{description ?? copy.description}</p>
181
+ </div>
182
+ <div className="flex flex-wrap items-center justify-center gap-3">
183
+ <a href={primary.href} className={buttonVariants({ size: "sm" })}>
184
+ {primary.label}
185
+ </a>
186
+ {back ? (
187
+ <Button variant="outline" size="sm" onClick={onBack ?? (() => window.history.back())}>
188
+ {back}
189
+ </Button>
190
+ ) : null}
191
+ </div>
192
+ </div>
193
+ </section>
194
+ )
195
+ }
196
+
197
+ /**
198
+ * The default copy, English and Arabic, as `locale` picks it. Spread it to
199
+ * change a few strings and keep the rest.
200
+ */
201
+ export const errorStateIllustratedEmptyStateCopy = COPY
@@ -0,0 +1,7 @@
1
+ export {
2
+ ErrorStateIllustratedEmptyState,
3
+ errorStateIllustratedEmptyStateCopy,
4
+ type ErrorStateIllustratedEmptyStateAction,
5
+ type ErrorStateIllustratedEmptyStateCopy,
6
+ type ErrorStateIllustratedEmptyStateProps,
7
+ } from "./ErrorStateIllustratedEmptyState"
@@ -0,0 +1,138 @@
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import { Headset, SearchX } from "lucide-react"
5
+ import { cn } from "../../../src/lib/utils"
6
+ import { Button, buttonVariants } from "../../ui/button/button"
7
+
8
+ /*
9
+ * Figma: `Error State` (42556:548), Type=Layered Badge Centered.
10
+ *
11
+ * A centred message under a small still life: an icon badge resting on two
12
+ * cards fanned out behind it. Then a retry, a way back to the start and a
13
+ * line about support. Mobile first: the base classes are Figma's Mobile
14
+ * (360), `md:` its Tablet (768) and `lg:` its Desktop (1440); on Mobile the
15
+ * badge group is drawn at 80%. Direction is the page's `dir`; every side is
16
+ * a logical one. In Arabic the cards swap sides but keep their tilt, so the
17
+ * fan opens the other way, as in Figma.
18
+ */
19
+
20
+ export interface ErrorStateLayeredBadgeCenteredAction {
21
+ label: React.ReactNode
22
+ href: string
23
+ }
24
+
25
+ export interface ErrorStateLayeredBadgeCenteredCopy {
26
+ /** The page's heading, an `h1`. Name what happened. */
27
+ heading: React.ReactNode
28
+ /** The line under the heading: what to do next. */
29
+ description: React.ReactNode
30
+ /** The solid button's label. It calls `onRetry`. */
31
+ retryLabel: React.ReactNode
32
+ /** The outline button beside it: back to the start. Hidden when null. */
33
+ secondaryAction: ErrorStateLayeredBadgeCenteredAction | null
34
+ /** The small line at the foot, beside a headset. Hidden when empty. */
35
+ supportNote: React.ReactNode
36
+ }
37
+
38
+ /** Figma's copy, English and Arabic. */
39
+ const COPY: Record<"en" | "ar", ErrorStateLayeredBadgeCenteredCopy> = {
40
+ en: {
41
+ heading: "Sorry, we couldn’t find that page",
42
+ description:
43
+ "The address may be mistyped, or the page may have been retired. Try again, or start from the beginning.",
44
+ retryLabel: "Try again",
45
+ secondaryAction: { label: "Start over", href: "/" },
46
+ supportNote: "Still stuck? Fasla support replies within an hour.",
47
+ },
48
+ ar: {
49
+ heading: "عذرًا، لم نتمكن من العثور على تلك الصفحة",
50
+ description: "قد يكون العنوان مكتوبًا بشكل خاطئ، أو تم إيقاف الصفحة. حاول مجددًا، أو ابدأ من البداية.",
51
+ retryLabel: "حاول مجددًا",
52
+ secondaryAction: { label: "ابدأ من جديد", href: "/" },
53
+ supportNote: "ما زلت عالقًا؟ دعم فاصلة يرد خلال ساعة.",
54
+ },
55
+ }
56
+
57
+ export interface ErrorStateLayeredBadgeCenteredProps
58
+ extends Omit<React.HTMLAttributes<HTMLElement>, "title">,
59
+ Partial<ErrorStateLayeredBadgeCenteredCopy> {
60
+ /** Which language the default copy is in. The page's `dir` sets the direction. */
61
+ locale?: "en" | "ar"
62
+ /**
63
+ * The glyph on the badge. Pass `null` to drop the whole badge group.
64
+ * @default a magnifier with a cross
65
+ */
66
+ icon?: React.ReactNode
67
+ /**
68
+ * Called by the solid button. Without it, the button reloads the page.
69
+ * @default reloads the page
70
+ */
71
+ onRetry?: () => void
72
+ }
73
+
74
+ export function ErrorStateLayeredBadgeCentered({
75
+ locale = "en",
76
+ heading,
77
+ description,
78
+ retryLabel,
79
+ secondaryAction,
80
+ supportNote,
81
+ icon,
82
+ onRetry,
83
+ className,
84
+ ...props
85
+ }: ErrorStateLayeredBadgeCenteredProps) {
86
+ const copy = COPY[locale]
87
+ const headingId = React.useId()
88
+ const secondary = secondaryAction === undefined ? copy.secondaryAction : secondaryAction
89
+ const note = supportNote ?? copy.supportNote
90
+ const glyph = icon === undefined ? <SearchX className="size-[30px]" size={30} strokeWidth={1.5} absoluteStrokeWidth /> : icon
91
+
92
+ return (
93
+ <section aria-labelledby={headingId} className={cn("bg-background p-8 md:p-16 lg:p-24", className)} {...props}>
94
+ <div className="mx-auto flex w-full max-w-[560px] flex-col items-center gap-6 text-center md:max-w-none md:gap-7 lg:max-w-[560px]">
95
+ {glyph ? (
96
+ <div aria-hidden="true" className="flex h-24 w-40 shrink-0 items-center justify-center md:h-[120px] md:w-[200px]">
97
+ {/* Drawn at Desktop size and scaled down on Mobile, about its centre. */}
98
+ <div className="relative h-[120px] w-[200px] shrink-0 scale-[0.8] md:scale-100">
99
+ <div className="absolute start-[10.5px] top-[19px] h-[72px] w-24 -rotate-[8deg] rounded-lg border border-border bg-muted" />
100
+ <div className="absolute start-[92.5px] top-[32.3px] h-[72px] w-24 rotate-[8deg] rounded-lg border border-border bg-muted" />
101
+ <div className="absolute start-16 top-6 flex size-[72px] items-center justify-center rounded-full border border-border bg-card text-foreground shadow-md">
102
+ {glyph}
103
+ </div>
104
+ </div>
105
+ </div>
106
+ ) : null}
107
+ <div className="flex w-full flex-col gap-2.5">
108
+ <h1 id={headingId} className="text-2xl font-semibold text-foreground md:text-3xl">
109
+ {heading ?? copy.heading}
110
+ </h1>
111
+ <p className="text-base text-muted-foreground">{description ?? copy.description}</p>
112
+ </div>
113
+ <div className="flex w-full flex-col gap-2.5 md:w-auto md:flex-row md:gap-3">
114
+ <Button type="button" onClick={onRetry ?? (() => window.location.reload())}>
115
+ {retryLabel ?? copy.retryLabel}
116
+ </Button>
117
+ {secondary ? (
118
+ <a href={secondary.href} className={buttonVariants({ variant: "outline" })}>
119
+ {secondary.label}
120
+ </a>
121
+ ) : null}
122
+ </div>
123
+ {note ? (
124
+ <p className="flex items-center justify-center gap-2 text-xs text-muted-foreground">
125
+ <Headset aria-hidden="true" size={14} strokeWidth={1.5} absoluteStrokeWidth className="size-3.5 shrink-0" />
126
+ {note}
127
+ </p>
128
+ ) : null}
129
+ </div>
130
+ </section>
131
+ )
132
+ }
133
+
134
+ /**
135
+ * The default copy, English and Arabic, as `locale` picks it. Spread it to
136
+ * change a few strings and keep the rest.
137
+ */
138
+ export const errorStateLayeredBadgeCenteredCopy = COPY
@@ -0,0 +1,7 @@
1
+ export {
2
+ ErrorStateLayeredBadgeCentered,
3
+ errorStateLayeredBadgeCenteredCopy,
4
+ type ErrorStateLayeredBadgeCenteredAction,
5
+ type ErrorStateLayeredBadgeCenteredCopy,
6
+ type ErrorStateLayeredBadgeCenteredProps,
7
+ } from "./ErrorStateLayeredBadgeCentered"
@@ -0,0 +1,126 @@
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import { cn } from "../../../src/lib/utils"
5
+
6
+ /*
7
+ * Figma: `Error State` (42556:548), Type=Light Editorial.
8
+ *
9
+ * A quiet, centred page in light weights: the code as a small label, a large
10
+ * light heading whose last words are in the destructive colour, and a row of
11
+ * underlined links in place of buttons. Mobile first: the base classes are
12
+ * Figma's Mobile (360), `md:` its Tablet (768) and `lg:` its Desktop (1440);
13
+ * the links wrap on Mobile. Direction is the page's `dir`; the block is
14
+ * centred, so only the order of the links mirrors in Arabic.
15
+ */
16
+
17
+ export interface ErrorStateLightEditorialLink {
18
+ label: React.ReactNode
19
+ href: string
20
+ }
21
+
22
+ export interface ErrorStateLightEditorialCopy {
23
+ /** The small label above the heading: the status code. Hidden when empty. */
24
+ code: React.ReactNode
25
+ /**
26
+ * The page's heading, an `h1`. Figma colours its last words with the
27
+ * destructive colour: wrap them in `<span className="text-destructive">`.
28
+ */
29
+ heading: React.ReactNode
30
+ /** The line under the heading. */
31
+ description: React.ReactNode
32
+ /** The underlined links under the copy, in order. Each has a `label` and an `href`. Hidden when empty. */
33
+ links: ErrorStateLightEditorialLink[]
34
+ }
35
+
36
+ /** Figma's copy, English and Arabic. */
37
+ const COPY: Record<"en" | "ar", ErrorStateLightEditorialCopy> = {
38
+ en: {
39
+ code: "404",
40
+ heading: (
41
+ <>
42
+ Page <span className="text-destructive">not found</span>
43
+ </>
44
+ ),
45
+ description: "The page you were looking for moved, or it never existed at all. Try one of these instead.",
46
+ links: [
47
+ { label: "Home", href: "/" },
48
+ { label: "Pricing", href: "#pricing" },
49
+ { label: "Docs", href: "#docs" },
50
+ { label: "Journal", href: "#journal" },
51
+ { label: "Contact", href: "#contact" },
52
+ ],
53
+ },
54
+ ar: {
55
+ code: "404",
56
+ heading: (
57
+ <>
58
+ الصفحة <span className="text-destructive">غير موجودة</span>
59
+ </>
60
+ ),
61
+ description: "الصفحة التي تبحث عنها انتقلت، أو لم تكن موجودة أصلًا. جرّب أحد هذه بدلًا منها.",
62
+ links: [
63
+ { label: "الرئيسية", href: "/" },
64
+ { label: "الأسعار", href: "#pricing" },
65
+ { label: "التوثيق", href: "#docs" },
66
+ { label: "المدونة", href: "#journal" },
67
+ { label: "تواصل", href: "#contact" },
68
+ ],
69
+ },
70
+ }
71
+
72
+ export interface ErrorStateLightEditorialProps
73
+ extends Omit<React.HTMLAttributes<HTMLElement>, "title">,
74
+ Partial<ErrorStateLightEditorialCopy> {
75
+ /** Which language the default copy is in. The page's `dir` sets the direction. */
76
+ locale?: "en" | "ar"
77
+ }
78
+
79
+ export function ErrorStateLightEditorial({
80
+ locale = "en",
81
+ code,
82
+ heading,
83
+ description,
84
+ links,
85
+ className,
86
+ ...props
87
+ }: ErrorStateLightEditorialProps) {
88
+ const copy = COPY[locale]
89
+ const headingId = React.useId()
90
+ const status = code ?? copy.code
91
+ const list = links ?? copy.links
92
+
93
+ return (
94
+ <section aria-labelledby={headingId} className={cn("bg-background p-8 md:p-16 lg:p-24", className)} {...props}>
95
+ <div className="mx-auto flex w-full max-w-[620px] flex-col items-center gap-4 py-8 text-center md:max-w-none md:py-12 lg:max-w-[620px] lg:py-16">
96
+ {status ? <p className="text-xs text-destructive">{status}</p> : null}
97
+ <div className="flex w-full flex-col gap-4">
98
+ <h1 id={headingId} className="text-2xl font-light text-foreground md:text-5xl lg:text-6xl">
99
+ {heading ?? copy.heading}
100
+ </h1>
101
+ <p className="text-lg font-light text-muted-foreground">{description ?? copy.description}</p>
102
+ </div>
103
+ {list.length > 0 ? (
104
+ <ul className="flex flex-wrap justify-center gap-x-5 gap-y-3 md:gap-x-6">
105
+ {list.map((link, index) => (
106
+ <li key={index} className="flex">
107
+ <a
108
+ href={link.href}
109
+ className="rounded-sm text-sm text-foreground underline hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
110
+ >
111
+ {link.label}
112
+ </a>
113
+ </li>
114
+ ))}
115
+ </ul>
116
+ ) : null}
117
+ </div>
118
+ </section>
119
+ )
120
+ }
121
+
122
+ /**
123
+ * The default copy, English and Arabic, as `locale` picks it. Spread it to
124
+ * change a few strings and keep the rest.
125
+ */
126
+ export const errorStateLightEditorialCopy = COPY
@@ -0,0 +1,7 @@
1
+ export {
2
+ ErrorStateLightEditorial,
3
+ errorStateLightEditorialCopy,
4
+ type ErrorStateLightEditorialCopy,
5
+ type ErrorStateLightEditorialLink,
6
+ type ErrorStateLightEditorialProps,
7
+ } from "./ErrorStateLightEditorial"