@nanisoft/prism-ui 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (943) hide show
  1. package/THIRD-PARTY-NOTICES.md +22 -7
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/blocks/about-01/about.d.ts +296 -0
  4. package/dist/blocks/about-01/about.d.ts.map +1 -0
  5. package/dist/blocks/about-01/about.js +103 -0
  6. package/dist/blocks/about-01/index.d.ts +3 -0
  7. package/dist/blocks/about-01/index.d.ts.map +1 -0
  8. package/dist/blocks/about-01/index.js +1 -0
  9. package/dist/blocks/accept-invite-01/accept-invite.d.ts +324 -0
  10. package/dist/blocks/accept-invite-01/accept-invite.d.ts.map +1 -0
  11. package/dist/blocks/accept-invite-01/accept-invite.js +230 -0
  12. package/dist/blocks/accept-invite-01/index.d.ts +3 -0
  13. package/dist/blocks/accept-invite-01/index.d.ts.map +1 -0
  14. package/dist/blocks/accept-invite-01/index.js +1 -0
  15. package/dist/blocks/account-01/account-01.d.ts +393 -0
  16. package/dist/blocks/account-01/account-01.d.ts.map +1 -0
  17. package/dist/blocks/account-01/account-01.js +215 -0
  18. package/dist/blocks/account-01/index.d.ts +3 -0
  19. package/dist/blocks/account-01/index.d.ts.map +1 -0
  20. package/dist/blocks/account-01/index.js +1 -0
  21. package/dist/blocks/activity-feed-01/activity-feed-01.d.ts +271 -0
  22. package/dist/blocks/activity-feed-01/activity-feed-01.d.ts.map +1 -0
  23. package/dist/blocks/activity-feed-01/activity-feed-01.js +185 -0
  24. package/dist/blocks/activity-feed-01/index.d.ts +3 -0
  25. package/dist/blocks/activity-feed-01/index.d.ts.map +1 -0
  26. package/dist/blocks/activity-feed-01/index.js +1 -0
  27. package/dist/blocks/address-book-01/address-book-01.d.ts +312 -0
  28. package/dist/blocks/address-book-01/address-book-01.d.ts.map +1 -0
  29. package/dist/blocks/address-book-01/address-book-01.js +233 -0
  30. package/dist/blocks/address-book-01/index.d.ts +3 -0
  31. package/dist/blocks/address-book-01/index.d.ts.map +1 -0
  32. package/dist/blocks/address-book-01/index.js +1 -0
  33. package/dist/blocks/audit-log-01/audit-log-01.d.ts +333 -0
  34. package/dist/blocks/audit-log-01/audit-log-01.d.ts.map +1 -0
  35. package/dist/blocks/audit-log-01/audit-log-01.js +211 -0
  36. package/dist/blocks/audit-log-01/index.d.ts +3 -0
  37. package/dist/blocks/audit-log-01/index.d.ts.map +1 -0
  38. package/dist/blocks/audit-log-01/index.js +1 -0
  39. package/dist/blocks/auth-form-01/auth-form.d.ts +40 -1
  40. package/dist/blocks/auth-form-01/auth-form.d.ts.map +1 -1
  41. package/dist/blocks/auth-form-01/auth-form.js +26 -3
  42. package/dist/blocks/awards-01/awards.d.ts +156 -0
  43. package/dist/blocks/awards-01/awards.d.ts.map +1 -0
  44. package/dist/blocks/awards-01/awards.js +102 -0
  45. package/dist/blocks/awards-01/index.d.ts +3 -0
  46. package/dist/blocks/awards-01/index.d.ts.map +1 -0
  47. package/dist/blocks/awards-01/index.js +1 -0
  48. package/dist/blocks/backdrop-01/backdrop.d.ts +268 -0
  49. package/dist/blocks/backdrop-01/backdrop.d.ts.map +1 -0
  50. package/dist/blocks/backdrop-01/backdrop.js +170 -0
  51. package/dist/blocks/backdrop-01/index.d.ts +3 -0
  52. package/dist/blocks/backdrop-01/index.d.ts.map +1 -0
  53. package/dist/blocks/backdrop-01/index.js +1 -0
  54. package/dist/blocks/bento-01/bento-01.d.ts +136 -0
  55. package/dist/blocks/bento-01/bento-01.d.ts.map +1 -0
  56. package/dist/blocks/bento-01/bento-01.js +97 -0
  57. package/dist/blocks/bento-01/index.d.ts +3 -0
  58. package/dist/blocks/bento-01/index.d.ts.map +1 -0
  59. package/dist/blocks/bento-01/index.js +1 -0
  60. package/dist/blocks/billing-source-01/billing-source-01.d.ts +379 -0
  61. package/dist/blocks/billing-source-01/billing-source-01.d.ts.map +1 -0
  62. package/dist/blocks/billing-source-01/billing-source-01.js +222 -0
  63. package/dist/blocks/billing-source-01/index.d.ts +3 -0
  64. package/dist/blocks/billing-source-01/index.d.ts.map +1 -0
  65. package/dist/blocks/billing-source-01/index.js +1 -0
  66. package/dist/blocks/bundle-01/bundle.d.ts +387 -0
  67. package/dist/blocks/bundle-01/bundle.d.ts.map +1 -0
  68. package/dist/blocks/bundle-01/bundle.js +153 -0
  69. package/dist/blocks/bundle-01/index.d.ts +3 -0
  70. package/dist/blocks/bundle-01/index.d.ts.map +1 -0
  71. package/dist/blocks/bundle-01/index.js +1 -0
  72. package/dist/blocks/calendar-01/calendar.d.ts +251 -0
  73. package/dist/blocks/calendar-01/calendar.d.ts.map +1 -0
  74. package/dist/blocks/calendar-01/calendar.js +191 -0
  75. package/dist/blocks/calendar-01/index.d.ts +3 -0
  76. package/dist/blocks/calendar-01/index.d.ts.map +1 -0
  77. package/dist/blocks/calendar-01/index.js +1 -0
  78. package/dist/blocks/capacity-01/capacity.d.ts +363 -0
  79. package/dist/blocks/capacity-01/capacity.d.ts.map +1 -0
  80. package/dist/blocks/capacity-01/capacity.js +208 -0
  81. package/dist/blocks/capacity-01/index.d.ts +3 -0
  82. package/dist/blocks/capacity-01/index.d.ts.map +1 -0
  83. package/dist/blocks/capacity-01/index.js +1 -0
  84. package/dist/blocks/careers-01/careers.d.ts +186 -0
  85. package/dist/blocks/careers-01/careers.d.ts.map +1 -0
  86. package/dist/blocks/careers-01/careers.js +83 -0
  87. package/dist/blocks/careers-01/index.d.ts +3 -0
  88. package/dist/blocks/careers-01/index.d.ts.map +1 -0
  89. package/dist/blocks/careers-01/index.js +1 -0
  90. package/dist/blocks/case-studies-01/case-studies.d.ts +192 -0
  91. package/dist/blocks/case-studies-01/case-studies.d.ts.map +1 -0
  92. package/dist/blocks/case-studies-01/case-studies.js +97 -0
  93. package/dist/blocks/case-studies-01/index.d.ts +3 -0
  94. package/dist/blocks/case-studies-01/index.d.ts.map +1 -0
  95. package/dist/blocks/case-studies-01/index.js +1 -0
  96. package/dist/blocks/case-study-01/case-study.d.ts +214 -0
  97. package/dist/blocks/case-study-01/case-study.d.ts.map +1 -0
  98. package/dist/blocks/case-study-01/case-study.js +79 -0
  99. package/dist/blocks/case-study-01/index.d.ts +3 -0
  100. package/dist/blocks/case-study-01/index.d.ts.map +1 -0
  101. package/dist/blocks/case-study-01/index.js +1 -0
  102. package/dist/blocks/changelog-01/changelog.d.ts +200 -0
  103. package/dist/blocks/changelog-01/changelog.d.ts.map +1 -0
  104. package/dist/blocks/changelog-01/changelog.js +155 -0
  105. package/dist/blocks/changelog-01/index.d.ts +3 -0
  106. package/dist/blocks/changelog-01/index.d.ts.map +1 -0
  107. package/dist/blocks/changelog-01/index.js +1 -0
  108. package/dist/blocks/chart-card-01/chart-card-01.d.ts +149 -0
  109. package/dist/blocks/chart-card-01/chart-card-01.d.ts.map +1 -0
  110. package/dist/blocks/chart-card-01/chart-card-01.js +81 -0
  111. package/dist/blocks/chart-card-01/index.d.ts +3 -0
  112. package/dist/blocks/chart-card-01/index.d.ts.map +1 -0
  113. package/dist/blocks/chart-card-01/index.js +1 -0
  114. package/dist/blocks/chart-group-01/chart-group-01.d.ts +138 -0
  115. package/dist/blocks/chart-group-01/chart-group-01.d.ts.map +1 -0
  116. package/dist/blocks/chart-group-01/chart-group-01.js +74 -0
  117. package/dist/blocks/chart-group-01/index.d.ts +3 -0
  118. package/dist/blocks/chart-group-01/index.d.ts.map +1 -0
  119. package/dist/blocks/chart-group-01/index.js +1 -0
  120. package/dist/blocks/code-sample-01/code-sample.d.ts +193 -0
  121. package/dist/blocks/code-sample-01/code-sample.d.ts.map +1 -0
  122. package/dist/blocks/code-sample-01/code-sample.js +104 -0
  123. package/dist/blocks/code-sample-01/index.d.ts +3 -0
  124. package/dist/blocks/code-sample-01/index.d.ts.map +1 -0
  125. package/dist/blocks/code-sample-01/index.js +1 -0
  126. package/dist/blocks/community-01/community.d.ts +183 -0
  127. package/dist/blocks/community-01/community.d.ts.map +1 -0
  128. package/dist/blocks/community-01/community.js +102 -0
  129. package/dist/blocks/community-01/index.d.ts +3 -0
  130. package/dist/blocks/community-01/index.d.ts.map +1 -0
  131. package/dist/blocks/community-01/index.js +1 -0
  132. package/dist/blocks/compare-01/compare.d.ts +184 -0
  133. package/dist/blocks/compare-01/compare.d.ts.map +1 -0
  134. package/dist/blocks/compare-01/compare.js +106 -0
  135. package/dist/blocks/compare-01/index.d.ts +3 -0
  136. package/dist/blocks/compare-01/index.d.ts.map +1 -0
  137. package/dist/blocks/compare-01/index.js +1 -0
  138. package/dist/blocks/compliance-01/compliance.d.ts +249 -0
  139. package/dist/blocks/compliance-01/compliance.d.ts.map +1 -0
  140. package/dist/blocks/compliance-01/compliance.js +130 -0
  141. package/dist/blocks/compliance-01/index.d.ts +3 -0
  142. package/dist/blocks/compliance-01/index.d.ts.map +1 -0
  143. package/dist/blocks/compliance-01/index.js +1 -0
  144. package/dist/blocks/consent-01/consent.d.ts +211 -0
  145. package/dist/blocks/consent-01/consent.d.ts.map +1 -0
  146. package/dist/blocks/consent-01/consent.js +101 -0
  147. package/dist/blocks/consent-01/index.d.ts +3 -0
  148. package/dist/blocks/consent-01/index.d.ts.map +1 -0
  149. package/dist/blocks/consent-01/index.js +1 -0
  150. package/dist/blocks/contact-01/contact.d.ts +319 -0
  151. package/dist/blocks/contact-01/contact.d.ts.map +1 -0
  152. package/dist/blocks/contact-01/contact.js +211 -0
  153. package/dist/blocks/contact-01/index.d.ts +3 -0
  154. package/dist/blocks/contact-01/index.d.ts.map +1 -0
  155. package/dist/blocks/contact-01/index.js +1 -0
  156. package/dist/blocks/content-grid-01/content-grid.d.ts +262 -0
  157. package/dist/blocks/content-grid-01/content-grid.d.ts.map +1 -0
  158. package/dist/blocks/content-grid-01/content-grid.js +155 -0
  159. package/dist/blocks/content-grid-01/index.d.ts +3 -0
  160. package/dist/blocks/content-grid-01/index.d.ts.map +1 -0
  161. package/dist/blocks/content-grid-01/index.js +1 -0
  162. package/dist/blocks/cta-01/cta.d.ts +7 -1
  163. package/dist/blocks/cta-01/cta.d.ts.map +1 -1
  164. package/dist/blocks/cta-01/cta.js +11 -2
  165. package/dist/blocks/dashboard-01/dashboard-01.d.ts +247 -0
  166. package/dist/blocks/dashboard-01/dashboard-01.d.ts.map +1 -0
  167. package/dist/blocks/dashboard-01/dashboard-01.js +141 -0
  168. package/dist/blocks/dashboard-01/index.d.ts +3 -0
  169. package/dist/blocks/dashboard-01/index.d.ts.map +1 -0
  170. package/dist/blocks/dashboard-01/index.js +1 -0
  171. package/dist/blocks/data-table-01/data-table.d.ts +12 -1
  172. package/dist/blocks/data-table-01/data-table.d.ts.map +1 -1
  173. package/dist/blocks/data-table-01/data-table.js +8 -5
  174. package/dist/blocks/delivery-01/delivery.d.ts +343 -0
  175. package/dist/blocks/delivery-01/delivery.d.ts.map +1 -0
  176. package/dist/blocks/delivery-01/delivery.js +212 -0
  177. package/dist/blocks/delivery-01/index.d.ts +3 -0
  178. package/dist/blocks/delivery-01/index.d.ts.map +1 -0
  179. package/dist/blocks/delivery-01/index.js +1 -0
  180. package/dist/blocks/directory-01/directory-01.d.ts +316 -0
  181. package/dist/blocks/directory-01/directory-01.d.ts.map +1 -0
  182. package/dist/blocks/directory-01/directory-01.js +252 -0
  183. package/dist/blocks/directory-01/index.d.ts +3 -0
  184. package/dist/blocks/directory-01/index.d.ts.map +1 -0
  185. package/dist/blocks/directory-01/index.js +1 -0
  186. package/dist/blocks/download-01/download.d.ts +261 -0
  187. package/dist/blocks/download-01/download.d.ts.map +1 -0
  188. package/dist/blocks/download-01/download.js +115 -0
  189. package/dist/blocks/download-01/index.d.ts +3 -0
  190. package/dist/blocks/download-01/index.d.ts.map +1 -0
  191. package/dist/blocks/download-01/index.js +1 -0
  192. package/dist/blocks/faq-01/faq.d.ts +128 -0
  193. package/dist/blocks/faq-01/faq.d.ts.map +1 -0
  194. package/dist/blocks/faq-01/faq.js +53 -0
  195. package/dist/blocks/faq-01/index.d.ts +3 -0
  196. package/dist/blocks/faq-01/index.d.ts.map +1 -0
  197. package/dist/blocks/faq-01/index.js +1 -0
  198. package/dist/blocks/feature-rows-01/feature-rows-01.d.ts +158 -0
  199. package/dist/blocks/feature-rows-01/feature-rows-01.d.ts.map +1 -0
  200. package/dist/blocks/feature-rows-01/feature-rows-01.js +81 -0
  201. package/dist/blocks/feature-rows-01/index.d.ts +3 -0
  202. package/dist/blocks/feature-rows-01/index.d.ts.map +1 -0
  203. package/dist/blocks/feature-rows-01/index.js +1 -0
  204. package/dist/blocks/feedback-01/feedback.d.ts +235 -0
  205. package/dist/blocks/feedback-01/feedback.d.ts.map +1 -0
  206. package/dist/blocks/feedback-01/feedback.js +113 -0
  207. package/dist/blocks/feedback-01/index.d.ts +3 -0
  208. package/dist/blocks/feedback-01/index.d.ts.map +1 -0
  209. package/dist/blocks/feedback-01/index.js +1 -0
  210. package/dist/blocks/field-map-01/field-map.d.ts +247 -0
  211. package/dist/blocks/field-map-01/field-map.d.ts.map +1 -0
  212. package/dist/blocks/field-map-01/field-map.js +183 -0
  213. package/dist/blocks/field-map-01/index.d.ts +3 -0
  214. package/dist/blocks/field-map-01/index.d.ts.map +1 -0
  215. package/dist/blocks/field-map-01/index.js +1 -0
  216. package/dist/blocks/forgot-password-01/forgot-password.d.ts +288 -0
  217. package/dist/blocks/forgot-password-01/forgot-password.d.ts.map +1 -0
  218. package/dist/blocks/forgot-password-01/forgot-password.js +190 -0
  219. package/dist/blocks/forgot-password-01/index.d.ts +3 -0
  220. package/dist/blocks/forgot-password-01/index.d.ts.map +1 -0
  221. package/dist/blocks/forgot-password-01/index.js +1 -0
  222. package/dist/blocks/gallery-01/gallery.d.ts +208 -0
  223. package/dist/blocks/gallery-01/gallery.d.ts.map +1 -0
  224. package/dist/blocks/gallery-01/gallery.js +174 -0
  225. package/dist/blocks/gallery-01/index.d.ts +3 -0
  226. package/dist/blocks/gallery-01/index.d.ts.map +1 -0
  227. package/dist/blocks/gallery-01/index.js +1 -0
  228. package/dist/blocks/gantt-01/gantt.d.ts +290 -0
  229. package/dist/blocks/gantt-01/gantt.d.ts.map +1 -0
  230. package/dist/blocks/gantt-01/gantt.js +224 -0
  231. package/dist/blocks/gantt-01/index.d.ts +3 -0
  232. package/dist/blocks/gantt-01/index.d.ts.map +1 -0
  233. package/dist/blocks/gantt-01/index.js +1 -0
  234. package/dist/blocks/handoff-01/handoff-01.d.ts +326 -0
  235. package/dist/blocks/handoff-01/handoff-01.d.ts.map +1 -0
  236. package/dist/blocks/handoff-01/handoff-01.js +180 -0
  237. package/dist/blocks/handoff-01/index.d.ts +3 -0
  238. package/dist/blocks/handoff-01/index.d.ts.map +1 -0
  239. package/dist/blocks/handoff-01/index.js +1 -0
  240. package/dist/blocks/help-01/help.d.ts +254 -0
  241. package/dist/blocks/help-01/help.d.ts.map +1 -0
  242. package/dist/blocks/help-01/help.js +188 -0
  243. package/dist/blocks/help-01/index.d.ts +3 -0
  244. package/dist/blocks/help-01/index.d.ts.map +1 -0
  245. package/dist/blocks/help-01/index.js +1 -0
  246. package/dist/blocks/hero-01/hero.d.ts +105 -34
  247. package/dist/blocks/hero-01/hero.d.ts.map +1 -1
  248. package/dist/blocks/hero-01/hero.js +23 -15
  249. package/dist/blocks/hero-01/index.d.ts +1 -1
  250. package/dist/blocks/hero-01/index.d.ts.map +1 -1
  251. package/dist/blocks/hero-02/hero-02.d.ts +244 -0
  252. package/dist/blocks/hero-02/hero-02.d.ts.map +1 -0
  253. package/dist/blocks/hero-02/hero-02.js +87 -0
  254. package/dist/blocks/hero-02/index.d.ts +3 -0
  255. package/dist/blocks/hero-02/index.d.ts.map +1 -0
  256. package/dist/blocks/hero-02/index.js +1 -0
  257. package/dist/blocks/hero-03/hero-03.d.ts +247 -0
  258. package/dist/blocks/hero-03/hero-03.d.ts.map +1 -0
  259. package/dist/blocks/hero-03/hero-03.js +93 -0
  260. package/dist/blocks/hero-03/index.d.ts +3 -0
  261. package/dist/blocks/hero-03/index.d.ts.map +1 -0
  262. package/dist/blocks/hero-03/index.js +1 -0
  263. package/dist/blocks/history-01/history-01.d.ts +414 -0
  264. package/dist/blocks/history-01/history-01.d.ts.map +1 -0
  265. package/dist/blocks/history-01/history-01.js +285 -0
  266. package/dist/blocks/history-01/index.d.ts +3 -0
  267. package/dist/blocks/history-01/index.d.ts.map +1 -0
  268. package/dist/blocks/history-01/index.js +1 -0
  269. package/dist/blocks/inbox-01/inbox.d.ts +349 -0
  270. package/dist/blocks/inbox-01/inbox.d.ts.map +1 -0
  271. package/dist/blocks/inbox-01/inbox.js +244 -0
  272. package/dist/blocks/inbox-01/index.d.ts +3 -0
  273. package/dist/blocks/inbox-01/index.d.ts.map +1 -0
  274. package/dist/blocks/inbox-01/index.js +1 -0
  275. package/dist/blocks/index.d.ts +203 -0
  276. package/dist/blocks/index.d.ts.map +1 -1
  277. package/dist/blocks/index.js +118 -0
  278. package/dist/blocks/industries-01/index.d.ts +3 -0
  279. package/dist/blocks/industries-01/index.d.ts.map +1 -0
  280. package/dist/blocks/industries-01/index.js +1 -0
  281. package/dist/blocks/industries-01/industries.d.ts +164 -0
  282. package/dist/blocks/industries-01/industries.d.ts.map +1 -0
  283. package/dist/blocks/industries-01/industries.js +96 -0
  284. package/dist/blocks/intake-01/index.d.ts +3 -0
  285. package/dist/blocks/intake-01/index.d.ts.map +1 -0
  286. package/dist/blocks/intake-01/index.js +1 -0
  287. package/dist/blocks/intake-01/intake-01.d.ts +305 -0
  288. package/dist/blocks/intake-01/intake-01.d.ts.map +1 -0
  289. package/dist/blocks/intake-01/intake-01.js +178 -0
  290. package/dist/blocks/integration-01/index.d.ts +3 -0
  291. package/dist/blocks/integration-01/index.d.ts.map +1 -0
  292. package/dist/blocks/integration-01/index.js +1 -0
  293. package/dist/blocks/integration-01/integration.d.ts +226 -0
  294. package/dist/blocks/integration-01/integration.d.ts.map +1 -0
  295. package/dist/blocks/integration-01/integration.js +170 -0
  296. package/dist/blocks/invite-user-01/index.d.ts +3 -0
  297. package/dist/blocks/invite-user-01/index.d.ts.map +1 -0
  298. package/dist/blocks/invite-user-01/index.js +1 -0
  299. package/dist/blocks/invite-user-01/invite-user.d.ts +317 -0
  300. package/dist/blocks/invite-user-01/invite-user.d.ts.map +1 -0
  301. package/dist/blocks/invite-user-01/invite-user.js +228 -0
  302. package/dist/blocks/issue-detail-01/index.d.ts +3 -0
  303. package/dist/blocks/issue-detail-01/index.d.ts.map +1 -0
  304. package/dist/blocks/issue-detail-01/index.js +1 -0
  305. package/dist/blocks/issue-detail-01/issue-detail.d.ts +355 -0
  306. package/dist/blocks/issue-detail-01/issue-detail.d.ts.map +1 -0
  307. package/dist/blocks/issue-detail-01/issue-detail.js +187 -0
  308. package/dist/blocks/issue-list-01/index.d.ts +3 -0
  309. package/dist/blocks/issue-list-01/index.d.ts.map +1 -0
  310. package/dist/blocks/issue-list-01/index.js +1 -0
  311. package/dist/blocks/issue-list-01/issue-list.d.ts +298 -0
  312. package/dist/blocks/issue-list-01/issue-list.d.ts.map +1 -0
  313. package/dist/blocks/issue-list-01/issue-list.js +284 -0
  314. package/dist/blocks/kanban-01/index.d.ts +3 -0
  315. package/dist/blocks/kanban-01/index.d.ts.map +1 -0
  316. package/dist/blocks/kanban-01/index.js +1 -0
  317. package/dist/blocks/kanban-01/kanban.d.ts +278 -0
  318. package/dist/blocks/kanban-01/kanban.d.ts.map +1 -0
  319. package/dist/blocks/kanban-01/kanban.js +144 -0
  320. package/dist/blocks/leaderboard-01/index.d.ts +3 -0
  321. package/dist/blocks/leaderboard-01/index.d.ts.map +1 -0
  322. package/dist/blocks/leaderboard-01/index.js +1 -0
  323. package/dist/blocks/leaderboard-01/leaderboard.d.ts +250 -0
  324. package/dist/blocks/leaderboard-01/leaderboard.d.ts.map +1 -0
  325. package/dist/blocks/leaderboard-01/leaderboard.js +121 -0
  326. package/dist/blocks/login-01/index.d.ts +3 -0
  327. package/dist/blocks/login-01/index.d.ts.map +1 -0
  328. package/dist/blocks/login-01/index.js +1 -0
  329. package/dist/blocks/login-01/login-01.d.ts +356 -0
  330. package/dist/blocks/login-01/login-01.d.ts.map +1 -0
  331. package/dist/blocks/login-01/login-01.js +249 -0
  332. package/dist/blocks/logo-cloud-01/index.d.ts +3 -0
  333. package/dist/blocks/logo-cloud-01/index.d.ts.map +1 -0
  334. package/dist/blocks/logo-cloud-01/index.js +1 -0
  335. package/dist/blocks/logo-cloud-01/logo-cloud.d.ts +181 -0
  336. package/dist/blocks/logo-cloud-01/logo-cloud.d.ts.map +1 -0
  337. package/dist/blocks/logo-cloud-01/logo-cloud.js +118 -0
  338. package/dist/blocks/magic-link-01/index.d.ts +3 -0
  339. package/dist/blocks/magic-link-01/index.d.ts.map +1 -0
  340. package/dist/blocks/magic-link-01/index.js +1 -0
  341. package/dist/blocks/magic-link-01/magic-link-01.d.ts +367 -0
  342. package/dist/blocks/magic-link-01/magic-link-01.d.ts.map +1 -0
  343. package/dist/blocks/magic-link-01/magic-link-01.js +233 -0
  344. package/dist/blocks/member-list-01/index.d.ts +3 -0
  345. package/dist/blocks/member-list-01/index.d.ts.map +1 -0
  346. package/dist/blocks/member-list-01/index.js +1 -0
  347. package/dist/blocks/member-list-01/member-list.d.ts +192 -0
  348. package/dist/blocks/member-list-01/member-list.d.ts.map +1 -0
  349. package/dist/blocks/member-list-01/member-list.js +142 -0
  350. package/dist/blocks/milestone-timeline-01/index.d.ts +3 -0
  351. package/dist/blocks/milestone-timeline-01/index.d.ts.map +1 -0
  352. package/dist/blocks/milestone-timeline-01/index.js +1 -0
  353. package/dist/blocks/milestone-timeline-01/milestone-timeline.d.ts +217 -0
  354. package/dist/blocks/milestone-timeline-01/milestone-timeline.d.ts.map +1 -0
  355. package/dist/blocks/milestone-timeline-01/milestone-timeline.js +173 -0
  356. package/dist/blocks/newsletter-01/index.d.ts +3 -0
  357. package/dist/blocks/newsletter-01/index.d.ts.map +1 -0
  358. package/dist/blocks/newsletter-01/index.js +1 -0
  359. package/dist/blocks/newsletter-01/newsletter.d.ts +216 -0
  360. package/dist/blocks/newsletter-01/newsletter.d.ts.map +1 -0
  361. package/dist/blocks/newsletter-01/newsletter.js +102 -0
  362. package/dist/blocks/notification-center-01/index.d.ts +3 -0
  363. package/dist/blocks/notification-center-01/index.d.ts.map +1 -0
  364. package/dist/blocks/notification-center-01/index.js +1 -0
  365. package/dist/blocks/notification-center-01/notification-center-01.d.ts +341 -0
  366. package/dist/blocks/notification-center-01/notification-center-01.d.ts.map +1 -0
  367. package/dist/blocks/notification-center-01/notification-center-01.js +203 -0
  368. package/dist/blocks/offer-01/index.d.ts +3 -0
  369. package/dist/blocks/offer-01/index.d.ts.map +1 -0
  370. package/dist/blocks/offer-01/index.js +1 -0
  371. package/dist/blocks/offer-01/offer.d.ts +139 -0
  372. package/dist/blocks/offer-01/offer.d.ts.map +1 -0
  373. package/dist/blocks/offer-01/offer.js +81 -0
  374. package/dist/blocks/offering-01/index.d.ts +3 -0
  375. package/dist/blocks/offering-01/index.d.ts.map +1 -0
  376. package/dist/blocks/offering-01/index.js +1 -0
  377. package/dist/blocks/offering-01/offering.d.ts +245 -0
  378. package/dist/blocks/offering-01/offering.d.ts.map +1 -0
  379. package/dist/blocks/offering-01/offering.js +144 -0
  380. package/dist/blocks/offering-categories-01/index.d.ts +3 -0
  381. package/dist/blocks/offering-categories-01/index.d.ts.map +1 -0
  382. package/dist/blocks/offering-categories-01/index.js +1 -0
  383. package/dist/blocks/offering-categories-01/offering-categories.d.ts +248 -0
  384. package/dist/blocks/offering-categories-01/offering-categories.d.ts.map +1 -0
  385. package/dist/blocks/offering-categories-01/offering-categories.js +153 -0
  386. package/dist/blocks/offering-list-01/index.d.ts +3 -0
  387. package/dist/blocks/offering-list-01/index.d.ts.map +1 -0
  388. package/dist/blocks/offering-list-01/index.js +1 -0
  389. package/dist/blocks/offering-list-01/offering-list.d.ts +362 -0
  390. package/dist/blocks/offering-list-01/offering-list.d.ts.map +1 -0
  391. package/dist/blocks/offering-list-01/offering-list.js +366 -0
  392. package/dist/blocks/onboarding-01/index.d.ts +3 -0
  393. package/dist/blocks/onboarding-01/index.d.ts.map +1 -0
  394. package/dist/blocks/onboarding-01/index.js +1 -0
  395. package/dist/blocks/onboarding-01/onboarding.d.ts +199 -0
  396. package/dist/blocks/onboarding-01/onboarding.d.ts.map +1 -0
  397. package/dist/blocks/onboarding-01/onboarding.js +182 -0
  398. package/dist/blocks/ops-checklist-01/index.d.ts +3 -0
  399. package/dist/blocks/ops-checklist-01/index.d.ts.map +1 -0
  400. package/dist/blocks/ops-checklist-01/index.js +1 -0
  401. package/dist/blocks/ops-checklist-01/ops-checklist-01.d.ts +308 -0
  402. package/dist/blocks/ops-checklist-01/ops-checklist-01.d.ts.map +1 -0
  403. package/dist/blocks/ops-checklist-01/ops-checklist-01.js +165 -0
  404. package/dist/blocks/page-header-01/index.d.ts +1 -1
  405. package/dist/blocks/page-header-01/index.d.ts.map +1 -1
  406. package/dist/blocks/page-header-01/page-header.d.ts +124 -11
  407. package/dist/blocks/page-header-01/page-header.d.ts.map +1 -1
  408. package/dist/blocks/page-header-01/page-header.js +25 -9
  409. package/dist/blocks/passkey-01/index.d.ts +3 -0
  410. package/dist/blocks/passkey-01/index.d.ts.map +1 -0
  411. package/dist/blocks/passkey-01/index.js +1 -0
  412. package/dist/blocks/passkey-01/passkey-01.d.ts +334 -0
  413. package/dist/blocks/passkey-01/passkey-01.d.ts.map +1 -0
  414. package/dist/blocks/passkey-01/passkey-01.js +192 -0
  415. package/dist/blocks/permission-matrix-01/index.d.ts +3 -0
  416. package/dist/blocks/permission-matrix-01/index.d.ts.map +1 -0
  417. package/dist/blocks/permission-matrix-01/index.js +1 -0
  418. package/dist/blocks/permission-matrix-01/permission-matrix.d.ts +282 -0
  419. package/dist/blocks/permission-matrix-01/permission-matrix.d.ts.map +1 -0
  420. package/dist/blocks/permission-matrix-01/permission-matrix.js +173 -0
  421. package/dist/blocks/pricing-01/index.d.ts +1 -0
  422. package/dist/blocks/pricing-01/index.d.ts.map +1 -1
  423. package/dist/blocks/pricing-01/pricing.d.ts +118 -1
  424. package/dist/blocks/pricing-01/pricing.d.ts.map +1 -1
  425. package/dist/blocks/pricing-01/pricing.js +9 -2
  426. package/dist/blocks/pricing-compare-01/index.d.ts +3 -0
  427. package/dist/blocks/pricing-compare-01/index.d.ts.map +1 -0
  428. package/dist/blocks/pricing-compare-01/index.js +1 -0
  429. package/dist/blocks/pricing-compare-01/pricing-compare.d.ts +277 -0
  430. package/dist/blocks/pricing-compare-01/pricing-compare.d.ts.map +1 -0
  431. package/dist/blocks/pricing-compare-01/pricing-compare.js +126 -0
  432. package/dist/blocks/project-01/index.d.ts +3 -0
  433. package/dist/blocks/project-01/index.d.ts.map +1 -0
  434. package/dist/blocks/project-01/index.js +1 -0
  435. package/dist/blocks/project-01/project.d.ts +323 -0
  436. package/dist/blocks/project-01/project.d.ts.map +1 -0
  437. package/dist/blocks/project-01/project.js +247 -0
  438. package/dist/blocks/project-dashboard-01/index.d.ts +3 -0
  439. package/dist/blocks/project-dashboard-01/index.d.ts.map +1 -0
  440. package/dist/blocks/project-dashboard-01/index.js +1 -0
  441. package/dist/blocks/project-dashboard-01/project-dashboard.d.ts +200 -0
  442. package/dist/blocks/project-dashboard-01/project-dashboard.d.ts.map +1 -0
  443. package/dist/blocks/project-dashboard-01/project-dashboard.js +124 -0
  444. package/dist/blocks/project-list-01/index.d.ts +3 -0
  445. package/dist/blocks/project-list-01/index.d.ts.map +1 -0
  446. package/dist/blocks/project-list-01/index.js +1 -0
  447. package/dist/blocks/project-list-01/project-list.d.ts +301 -0
  448. package/dist/blocks/project-list-01/project-list.d.ts.map +1 -0
  449. package/dist/blocks/project-list-01/project-list.js +305 -0
  450. package/dist/blocks/provisioning-01/index.d.ts +3 -0
  451. package/dist/blocks/provisioning-01/index.d.ts.map +1 -0
  452. package/dist/blocks/provisioning-01/index.js +1 -0
  453. package/dist/blocks/provisioning-01/provisioning.d.ts +357 -0
  454. package/dist/blocks/provisioning-01/provisioning.d.ts.map +1 -0
  455. package/dist/blocks/provisioning-01/provisioning.js +230 -0
  456. package/dist/blocks/quick-view-01/index.d.ts +3 -0
  457. package/dist/blocks/quick-view-01/index.d.ts.map +1 -0
  458. package/dist/blocks/quick-view-01/index.js +1 -0
  459. package/dist/blocks/quick-view-01/quick-view.d.ts +215 -0
  460. package/dist/blocks/quick-view-01/quick-view.d.ts.map +1 -0
  461. package/dist/blocks/quick-view-01/quick-view.js +136 -0
  462. package/dist/blocks/rate-card-01/index.d.ts +3 -0
  463. package/dist/blocks/rate-card-01/index.d.ts.map +1 -0
  464. package/dist/blocks/rate-card-01/index.js +1 -0
  465. package/dist/blocks/rate-card-01/rate-card.d.ts +184 -0
  466. package/dist/blocks/rate-card-01/rate-card.d.ts.map +1 -0
  467. package/dist/blocks/rate-card-01/rate-card.js +79 -0
  468. package/dist/blocks/reset-password-01/index.d.ts +3 -0
  469. package/dist/blocks/reset-password-01/index.d.ts.map +1 -0
  470. package/dist/blocks/reset-password-01/index.js +1 -0
  471. package/dist/blocks/reset-password-01/reset-password.d.ts +276 -0
  472. package/dist/blocks/reset-password-01/reset-password.d.ts.map +1 -0
  473. package/dist/blocks/reset-password-01/reset-password.js +175 -0
  474. package/dist/blocks/resource-list-01/index.d.ts +3 -0
  475. package/dist/blocks/resource-list-01/index.d.ts.map +1 -0
  476. package/dist/blocks/resource-list-01/index.js +1 -0
  477. package/dist/blocks/resource-list-01/resource-list.d.ts +237 -0
  478. package/dist/blocks/resource-list-01/resource-list.d.ts.map +1 -0
  479. package/dist/blocks/resource-list-01/resource-list.js +154 -0
  480. package/dist/blocks/retention-01/index.d.ts +3 -0
  481. package/dist/blocks/retention-01/index.d.ts.map +1 -0
  482. package/dist/blocks/retention-01/index.js +1 -0
  483. package/dist/blocks/retention-01/retention.d.ts +255 -0
  484. package/dist/blocks/retention-01/retention.d.ts.map +1 -0
  485. package/dist/blocks/retention-01/retention.js +145 -0
  486. package/dist/blocks/run-console-01/run-console.d.ts +14 -1
  487. package/dist/blocks/run-console-01/run-console.d.ts.map +1 -1
  488. package/dist/blocks/run-console-01/run-console.js +3 -2
  489. package/dist/blocks/services-01/index.d.ts +3 -0
  490. package/dist/blocks/services-01/index.d.ts.map +1 -0
  491. package/dist/blocks/services-01/index.js +1 -0
  492. package/dist/blocks/services-01/services.d.ts +159 -0
  493. package/dist/blocks/services-01/services.d.ts.map +1 -0
  494. package/dist/blocks/services-01/services.js +81 -0
  495. package/dist/blocks/settings-integrations-01/index.d.ts +3 -0
  496. package/dist/blocks/settings-integrations-01/index.d.ts.map +1 -0
  497. package/dist/blocks/settings-integrations-01/index.js +1 -0
  498. package/dist/blocks/settings-integrations-01/settings-integrations.d.ts +246 -0
  499. package/dist/blocks/settings-integrations-01/settings-integrations.d.ts.map +1 -0
  500. package/dist/blocks/settings-integrations-01/settings-integrations.js +213 -0
  501. package/dist/blocks/settings-members-01/index.d.ts +3 -0
  502. package/dist/blocks/settings-members-01/index.d.ts.map +1 -0
  503. package/dist/blocks/settings-members-01/index.js +1 -0
  504. package/dist/blocks/settings-members-01/settings-members.d.ts +396 -0
  505. package/dist/blocks/settings-members-01/settings-members.d.ts.map +1 -0
  506. package/dist/blocks/settings-members-01/settings-members.js +255 -0
  507. package/dist/blocks/settings-notifications-01/index.d.ts +3 -0
  508. package/dist/blocks/settings-notifications-01/index.d.ts.map +1 -0
  509. package/dist/blocks/settings-notifications-01/index.js +1 -0
  510. package/dist/blocks/settings-notifications-01/settings-notifications.d.ts +270 -0
  511. package/dist/blocks/settings-notifications-01/settings-notifications.d.ts.map +1 -0
  512. package/dist/blocks/settings-notifications-01/settings-notifications.js +202 -0
  513. package/dist/blocks/settings-security-01/index.d.ts +3 -0
  514. package/dist/blocks/settings-security-01/index.d.ts.map +1 -0
  515. package/dist/blocks/settings-security-01/index.js +1 -0
  516. package/dist/blocks/settings-security-01/settings-security.d.ts +439 -0
  517. package/dist/blocks/settings-security-01/settings-security.d.ts.map +1 -0
  518. package/dist/blocks/settings-security-01/settings-security.js +244 -0
  519. package/dist/blocks/shortlist-01/index.d.ts +3 -0
  520. package/dist/blocks/shortlist-01/index.d.ts.map +1 -0
  521. package/dist/blocks/shortlist-01/index.js +1 -0
  522. package/dist/blocks/shortlist-01/shortlist-01.d.ts +337 -0
  523. package/dist/blocks/shortlist-01/shortlist-01.d.ts.map +1 -0
  524. package/dist/blocks/shortlist-01/shortlist-01.js +191 -0
  525. package/dist/blocks/showcase-01/index.d.ts +3 -0
  526. package/dist/blocks/showcase-01/index.d.ts.map +1 -0
  527. package/dist/blocks/showcase-01/index.js +1 -0
  528. package/dist/blocks/showcase-01/showcase-01.d.ts +238 -0
  529. package/dist/blocks/showcase-01/showcase-01.d.ts.map +1 -0
  530. package/dist/blocks/showcase-01/showcase-01.js +84 -0
  531. package/dist/blocks/signup-01/index.d.ts +3 -0
  532. package/dist/blocks/signup-01/index.d.ts.map +1 -0
  533. package/dist/blocks/signup-01/index.js +1 -0
  534. package/dist/blocks/signup-01/signup-01.d.ts +405 -0
  535. package/dist/blocks/signup-01/signup-01.d.ts.map +1 -0
  536. package/dist/blocks/signup-01/signup-01.js +209 -0
  537. package/dist/blocks/site-footer/site-footer.d.ts +18 -1
  538. package/dist/blocks/site-footer/site-footer.d.ts.map +1 -1
  539. package/dist/blocks/site-footer/site-footer.js +8 -2
  540. package/dist/blocks/site-header/site-header.js +1 -1
  541. package/dist/blocks/site-navbar/site-navbar.d.ts +37 -3
  542. package/dist/blocks/site-navbar/site-navbar.d.ts.map +1 -1
  543. package/dist/blocks/site-navbar/site-navbar.js +33 -4
  544. package/dist/blocks/spec-table-01/index.d.ts +3 -0
  545. package/dist/blocks/spec-table-01/index.d.ts.map +1 -0
  546. package/dist/blocks/spec-table-01/index.js +1 -0
  547. package/dist/blocks/spec-table-01/spec-table.d.ts +293 -0
  548. package/dist/blocks/spec-table-01/spec-table.d.ts.map +1 -0
  549. package/dist/blocks/spec-table-01/spec-table.js +217 -0
  550. package/dist/blocks/story-01/index.d.ts +3 -0
  551. package/dist/blocks/story-01/index.d.ts.map +1 -0
  552. package/dist/blocks/story-01/index.js +1 -0
  553. package/dist/blocks/story-01/story.d.ts +153 -0
  554. package/dist/blocks/story-01/story.d.ts.map +1 -0
  555. package/dist/blocks/story-01/story.js +103 -0
  556. package/dist/blocks/summary-01/index.d.ts +3 -0
  557. package/dist/blocks/summary-01/index.d.ts.map +1 -0
  558. package/dist/blocks/summary-01/index.js +1 -0
  559. package/dist/blocks/summary-01/summary.d.ts +300 -0
  560. package/dist/blocks/summary-01/summary.d.ts.map +1 -0
  561. package/dist/blocks/summary-01/summary.js +174 -0
  562. package/dist/blocks/team-01/index.d.ts +3 -0
  563. package/dist/blocks/team-01/index.d.ts.map +1 -0
  564. package/dist/blocks/team-01/index.js +1 -0
  565. package/dist/blocks/team-01/team.d.ts +176 -0
  566. package/dist/blocks/team-01/team.d.ts.map +1 -0
  567. package/dist/blocks/team-01/team.js +117 -0
  568. package/dist/blocks/testimonial-01/index.d.ts +3 -0
  569. package/dist/blocks/testimonial-01/index.d.ts.map +1 -0
  570. package/dist/blocks/testimonial-01/index.js +1 -0
  571. package/dist/blocks/testimonial-01/testimonial.d.ts +173 -0
  572. package/dist/blocks/testimonial-01/testimonial.d.ts.map +1 -0
  573. package/dist/blocks/testimonial-01/testimonial.js +87 -0
  574. package/dist/blocks/todo-01/index.d.ts +3 -0
  575. package/dist/blocks/todo-01/index.d.ts.map +1 -0
  576. package/dist/blocks/todo-01/index.js +1 -0
  577. package/dist/blocks/todo-01/todo.d.ts +286 -0
  578. package/dist/blocks/todo-01/todo.d.ts.map +1 -0
  579. package/dist/blocks/todo-01/todo.js +149 -0
  580. package/dist/blocks/trend-01/index.d.ts +3 -0
  581. package/dist/blocks/trend-01/index.d.ts.map +1 -0
  582. package/dist/blocks/trend-01/index.js +1 -0
  583. package/dist/blocks/trend-01/trend.d.ts +184 -0
  584. package/dist/blocks/trend-01/trend.d.ts.map +1 -0
  585. package/dist/blocks/trend-01/trend.js +99 -0
  586. package/dist/blocks/trust-strip-01/index.d.ts +3 -0
  587. package/dist/blocks/trust-strip-01/index.d.ts.map +1 -0
  588. package/dist/blocks/trust-strip-01/index.js +1 -0
  589. package/dist/blocks/trust-strip-01/trust-strip-01.d.ts +139 -0
  590. package/dist/blocks/trust-strip-01/trust-strip-01.d.ts.map +1 -0
  591. package/dist/blocks/trust-strip-01/trust-strip-01.js +58 -0
  592. package/dist/blocks/two-factor-01/index.d.ts +3 -0
  593. package/dist/blocks/two-factor-01/index.d.ts.map +1 -0
  594. package/dist/blocks/two-factor-01/index.js +1 -0
  595. package/dist/blocks/two-factor-01/two-factor-01.d.ts +440 -0
  596. package/dist/blocks/two-factor-01/two-factor-01.d.ts.map +1 -0
  597. package/dist/blocks/two-factor-01/two-factor-01.js +273 -0
  598. package/dist/blocks/user-profile-01/index.d.ts +3 -0
  599. package/dist/blocks/user-profile-01/index.d.ts.map +1 -0
  600. package/dist/blocks/user-profile-01/index.js +1 -0
  601. package/dist/blocks/user-profile-01/user-profile-01.d.ts +258 -0
  602. package/dist/blocks/user-profile-01/user-profile-01.d.ts.map +1 -0
  603. package/dist/blocks/user-profile-01/user-profile-01.js +158 -0
  604. package/dist/blocks/verify-email-01/index.d.ts +3 -0
  605. package/dist/blocks/verify-email-01/index.d.ts.map +1 -0
  606. package/dist/blocks/verify-email-01/index.js +1 -0
  607. package/dist/blocks/verify-email-01/verify-email.d.ts +262 -0
  608. package/dist/blocks/verify-email-01/verify-email.d.ts.map +1 -0
  609. package/dist/blocks/verify-email-01/verify-email.js +190 -0
  610. package/dist/blocks/waitlist-01/index.d.ts +3 -0
  611. package/dist/blocks/waitlist-01/index.d.ts.map +1 -0
  612. package/dist/blocks/waitlist-01/index.js +1 -0
  613. package/dist/blocks/waitlist-01/waitlist.d.ts +254 -0
  614. package/dist/blocks/waitlist-01/waitlist.d.ts.map +1 -0
  615. package/dist/blocks/waitlist-01/waitlist.js +75 -0
  616. package/dist/catalog.d.ts.map +1 -1
  617. package/dist/catalog.js +1641 -1
  618. package/dist/components/index.d.ts +114 -0
  619. package/dist/components/index.d.ts.map +1 -1
  620. package/dist/components/index.js +134 -0
  621. package/dist/components/ui/accordion.d.ts.map +1 -1
  622. package/dist/components/ui/accordion.js +9 -2
  623. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  624. package/dist/components/ui/alert-dialog.js +22 -4
  625. package/dist/components/ui/announcement.d.ts +169 -0
  626. package/dist/components/ui/announcement.d.ts.map +1 -0
  627. package/dist/components/ui/announcement.js +123 -0
  628. package/dist/components/ui/avatar-group.d.ts +176 -0
  629. package/dist/components/ui/avatar-group.d.ts.map +1 -0
  630. package/dist/components/ui/avatar-group.js +135 -0
  631. package/dist/components/ui/billing-source.d.ts +293 -0
  632. package/dist/components/ui/billing-source.d.ts.map +1 -0
  633. package/dist/components/ui/billing-source.js +136 -0
  634. package/dist/components/ui/button.d.ts +16 -1
  635. package/dist/components/ui/button.d.ts.map +1 -1
  636. package/dist/components/ui/button.js +17 -2
  637. package/dist/components/ui/calendar.d.ts +9 -0
  638. package/dist/components/ui/calendar.d.ts.map +1 -1
  639. package/dist/components/ui/calendar.js +30 -2
  640. package/dist/components/ui/carousel.d.ts +7 -0
  641. package/dist/components/ui/carousel.d.ts.map +1 -1
  642. package/dist/components/ui/carousel.js +58 -1
  643. package/dist/components/ui/chart.d.ts +334 -0
  644. package/dist/components/ui/chart.d.ts.map +1 -0
  645. package/dist/components/ui/chart.js +369 -0
  646. package/dist/components/ui/checkbox.d.ts +10 -0
  647. package/dist/components/ui/checkbox.d.ts.map +1 -1
  648. package/dist/components/ui/checkbox.js +19 -1
  649. package/dist/components/ui/checklist.d.ts +262 -0
  650. package/dist/components/ui/checklist.d.ts.map +1 -0
  651. package/dist/components/ui/checklist.js +135 -0
  652. package/dist/components/ui/choice-card.d.ts +273 -0
  653. package/dist/components/ui/choice-card.d.ts.map +1 -0
  654. package/dist/components/ui/choice-card.js +138 -0
  655. package/dist/components/ui/code-block.d.ts +182 -0
  656. package/dist/components/ui/code-block.d.ts.map +1 -0
  657. package/dist/components/ui/code-block.js +108 -0
  658. package/dist/components/ui/cohort-grid.d.ts +210 -0
  659. package/dist/components/ui/cohort-grid.d.ts.map +1 -0
  660. package/dist/components/ui/cohort-grid.js +202 -0
  661. package/dist/components/ui/collapsible.d.ts +11 -0
  662. package/dist/components/ui/collapsible.d.ts.map +1 -1
  663. package/dist/components/ui/collapsible.js +13 -2
  664. package/dist/components/ui/combobox.d.ts +4 -1
  665. package/dist/components/ui/combobox.d.ts.map +1 -1
  666. package/dist/components/ui/combobox.js +20 -4
  667. package/dist/components/ui/command-palette.d.ts +11 -0
  668. package/dist/components/ui/command-palette.d.ts.map +1 -1
  669. package/dist/components/ui/command-palette.js +49 -3
  670. package/dist/components/ui/contribution-graph.d.ts +156 -0
  671. package/dist/components/ui/contribution-graph.d.ts.map +1 -0
  672. package/dist/components/ui/contribution-graph.js +170 -0
  673. package/dist/components/ui/creatable-combobox.d.ts +153 -0
  674. package/dist/components/ui/creatable-combobox.d.ts.map +1 -0
  675. package/dist/components/ui/creatable-combobox.js +285 -0
  676. package/dist/components/ui/data-toolbar.d.ts +133 -0
  677. package/dist/components/ui/data-toolbar.d.ts.map +1 -0
  678. package/dist/components/ui/data-toolbar.js +67 -0
  679. package/dist/components/ui/date-picker.d.ts.map +1 -1
  680. package/dist/components/ui/date-picker.js +9 -1
  681. package/dist/components/ui/dialog.d.ts +31 -2
  682. package/dist/components/ui/dialog.d.ts.map +1 -1
  683. package/dist/components/ui/dialog.js +40 -6
  684. package/dist/components/ui/drawer.d.ts +270 -0
  685. package/dist/components/ui/drawer.d.ts.map +1 -0
  686. package/dist/components/ui/drawer.js +241 -0
  687. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  688. package/dist/components/ui/dropdown-menu.js +6 -1
  689. package/dist/components/ui/dropzone.d.ts +147 -0
  690. package/dist/components/ui/dropzone.d.ts.map +1 -0
  691. package/dist/components/ui/dropzone.js +141 -0
  692. package/dist/components/ui/emoji-picker.d.ts +328 -0
  693. package/dist/components/ui/emoji-picker.d.ts.map +1 -0
  694. package/dist/components/ui/emoji-picker.js +278 -0
  695. package/dist/components/ui/file-upload.d.ts +152 -0
  696. package/dist/components/ui/file-upload.d.ts.map +1 -0
  697. package/dist/components/ui/file-upload.js +101 -0
  698. package/dist/components/ui/filter-panel.d.ts +164 -0
  699. package/dist/components/ui/filter-panel.d.ts.map +1 -0
  700. package/dist/components/ui/filter-panel.js +91 -0
  701. package/dist/components/ui/form-dialog.d.ts +257 -0
  702. package/dist/components/ui/form-dialog.d.ts.map +1 -0
  703. package/dist/components/ui/form-dialog.js +176 -0
  704. package/dist/components/ui/form-wizard.d.ts +251 -0
  705. package/dist/components/ui/form-wizard.d.ts.map +1 -0
  706. package/dist/components/ui/form-wizard.js +151 -0
  707. package/dist/components/ui/image-list-field.d.ts +232 -0
  708. package/dist/components/ui/image-list-field.d.ts.map +1 -0
  709. package/dist/components/ui/image-list-field.js +168 -0
  710. package/dist/components/ui/image-zoom.d.ts +164 -0
  711. package/dist/components/ui/image-zoom.d.ts.map +1 -0
  712. package/dist/components/ui/image-zoom.js +169 -0
  713. package/dist/components/ui/intensity-grid.d.ts +270 -0
  714. package/dist/components/ui/intensity-grid.d.ts.map +1 -0
  715. package/dist/components/ui/intensity-grid.js +211 -0
  716. package/dist/components/ui/lifecycle-button.d.ts +276 -0
  717. package/dist/components/ui/lifecycle-button.d.ts.map +1 -0
  718. package/dist/components/ui/lifecycle-button.js +144 -0
  719. package/dist/components/ui/lightbox.d.ts +165 -0
  720. package/dist/components/ui/lightbox.d.ts.map +1 -0
  721. package/dist/components/ui/lightbox.js +130 -0
  722. package/dist/components/ui/list-panel.d.ts +288 -0
  723. package/dist/components/ui/list-panel.d.ts.map +1 -0
  724. package/dist/components/ui/list-panel.js +139 -0
  725. package/dist/components/ui/mega-menu.d.ts +244 -0
  726. package/dist/components/ui/mega-menu.d.ts.map +1 -0
  727. package/dist/components/ui/mega-menu.js +97 -0
  728. package/dist/components/ui/menubar.d.ts +9 -0
  729. package/dist/components/ui/menubar.d.ts.map +1 -1
  730. package/dist/components/ui/menubar.js +10 -1
  731. package/dist/components/ui/metric.d.ts +123 -0
  732. package/dist/components/ui/metric.d.ts.map +1 -0
  733. package/dist/components/ui/metric.js +68 -0
  734. package/dist/components/ui/mini-calendar.d.ts +143 -0
  735. package/dist/components/ui/mini-calendar.d.ts.map +1 -0
  736. package/dist/components/ui/mini-calendar.js +261 -0
  737. package/dist/components/ui/mode-toggle.d.ts +102 -0
  738. package/dist/components/ui/mode-toggle.d.ts.map +1 -0
  739. package/dist/components/ui/mode-toggle.js +83 -0
  740. package/dist/components/ui/money-field.d.ts +200 -0
  741. package/dist/components/ui/money-field.d.ts.map +1 -0
  742. package/dist/components/ui/money-field.js +215 -0
  743. package/dist/components/ui/multi-combobox.d.ts +181 -0
  744. package/dist/components/ui/multi-combobox.d.ts.map +1 -0
  745. package/dist/components/ui/multi-combobox.js +297 -0
  746. package/dist/components/ui/native-select.d.ts.map +1 -1
  747. package/dist/components/ui/native-select.js +8 -1
  748. package/dist/components/ui/navigation-menu.d.ts +7 -0
  749. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  750. package/dist/components/ui/navigation-menu.js +8 -1
  751. package/dist/components/ui/nested-tabs.d.ts +188 -0
  752. package/dist/components/ui/nested-tabs.d.ts.map +1 -0
  753. package/dist/components/ui/nested-tabs.js +75 -0
  754. package/dist/components/ui/number-field.d.ts +40 -7
  755. package/dist/components/ui/number-field.d.ts.map +1 -1
  756. package/dist/components/ui/number-field.js +37 -7
  757. package/dist/components/ui/overflow-actions.d.ts +169 -0
  758. package/dist/components/ui/overflow-actions.d.ts.map +1 -0
  759. package/dist/components/ui/overflow-actions.js +266 -0
  760. package/dist/components/ui/pack-swatch.d.ts +177 -0
  761. package/dist/components/ui/pack-swatch.d.ts.map +1 -0
  762. package/dist/components/ui/pack-swatch.js +117 -0
  763. package/dist/components/ui/pack-switcher.d.ts +221 -0
  764. package/dist/components/ui/pack-switcher.d.ts.map +1 -0
  765. package/dist/components/ui/pack-switcher.js +94 -0
  766. package/dist/components/ui/pagination.d.ts +22 -0
  767. package/dist/components/ui/pagination.d.ts.map +1 -1
  768. package/dist/components/ui/pagination.js +23 -1
  769. package/dist/components/ui/password-field.d.ts +122 -0
  770. package/dist/components/ui/password-field.d.ts.map +1 -0
  771. package/dist/components/ui/password-field.js +69 -0
  772. package/dist/components/ui/pill.d.ts +172 -0
  773. package/dist/components/ui/pill.d.ts.map +1 -0
  774. package/dist/components/ui/pill.js +102 -0
  775. package/dist/components/ui/platform-modifier-key.d.ts +129 -0
  776. package/dist/components/ui/platform-modifier-key.d.ts.map +1 -0
  777. package/dist/components/ui/platform-modifier-key.js +125 -0
  778. package/dist/components/ui/popover.d.ts.map +1 -1
  779. package/dist/components/ui/popover.js +8 -1
  780. package/dist/components/ui/price.d.ts +144 -0
  781. package/dist/components/ui/price.d.ts.map +1 -0
  782. package/dist/components/ui/price.js +107 -0
  783. package/dist/components/ui/progress.d.ts +55 -1
  784. package/dist/components/ui/progress.d.ts.map +1 -1
  785. package/dist/components/ui/progress.js +110 -2
  786. package/dist/components/ui/prompt-composer.d.ts +302 -0
  787. package/dist/components/ui/prompt-composer.d.ts.map +1 -0
  788. package/dist/components/ui/prompt-composer.js +145 -0
  789. package/dist/components/ui/proportion-list.d.ts +188 -0
  790. package/dist/components/ui/proportion-list.d.ts.map +1 -0
  791. package/dist/components/ui/proportion-list.js +134 -0
  792. package/dist/components/ui/prose.d.ts +23 -0
  793. package/dist/components/ui/prose.d.ts.map +1 -1
  794. package/dist/components/ui/prose.js +30 -1
  795. package/dist/components/ui/radio-group.d.ts +7 -0
  796. package/dist/components/ui/radio-group.d.ts.map +1 -1
  797. package/dist/components/ui/radio-group.js +8 -1
  798. package/dist/components/ui/range-field.d.ts +158 -0
  799. package/dist/components/ui/range-field.d.ts.map +1 -0
  800. package/dist/components/ui/range-field.js +208 -0
  801. package/dist/components/ui/relative-time.d.ts +116 -0
  802. package/dist/components/ui/relative-time.d.ts.map +1 -0
  803. package/dist/components/ui/relative-time.js +67 -0
  804. package/dist/components/ui/reorderable-list.d.ts +262 -0
  805. package/dist/components/ui/reorderable-list.d.ts.map +1 -0
  806. package/dist/components/ui/reorderable-list.js +325 -0
  807. package/dist/components/ui/repeatable-rows.d.ts +241 -0
  808. package/dist/components/ui/repeatable-rows.d.ts.map +1 -0
  809. package/dist/components/ui/repeatable-rows.js +221 -0
  810. package/dist/components/ui/repo-stars.d.ts +165 -0
  811. package/dist/components/ui/repo-stars.d.ts.map +1 -0
  812. package/dist/components/ui/repo-stars.js +92 -0
  813. package/dist/components/ui/resizable.d.ts +24 -0
  814. package/dist/components/ui/resizable.d.ts.map +1 -1
  815. package/dist/components/ui/resizable.js +96 -4
  816. package/dist/components/ui/search-dialog.d.ts +40 -5
  817. package/dist/components/ui/search-dialog.d.ts.map +1 -1
  818. package/dist/components/ui/search-dialog.js +94 -16
  819. package/dist/components/ui/search-field.d.ts +159 -0
  820. package/dist/components/ui/search-field.d.ts.map +1 -0
  821. package/dist/components/ui/search-field.js +98 -0
  822. package/dist/components/ui/section.d.ts +108 -1
  823. package/dist/components/ui/section.d.ts.map +1 -1
  824. package/dist/components/ui/section.js +109 -3
  825. package/dist/components/ui/select.d.ts.map +1 -1
  826. package/dist/components/ui/select.js +9 -1
  827. package/dist/components/ui/selection-toolbar.d.ts +166 -0
  828. package/dist/components/ui/selection-toolbar.d.ts.map +1 -0
  829. package/dist/components/ui/selection-toolbar.js +139 -0
  830. package/dist/components/ui/sidebar.d.ts +29 -0
  831. package/dist/components/ui/sidebar.d.ts.map +1 -1
  832. package/dist/components/ui/sidebar.js +35 -2
  833. package/dist/components/ui/signal-field.d.ts.map +1 -1
  834. package/dist/components/ui/signal-field.js +1 -1
  835. package/dist/components/ui/slider.d.ts +7 -0
  836. package/dist/components/ui/slider.d.ts.map +1 -1
  837. package/dist/components/ui/slider.js +32 -1
  838. package/dist/components/ui/sparkline.d.ts +117 -0
  839. package/dist/components/ui/sparkline.d.ts.map +1 -0
  840. package/dist/components/ui/sparkline.js +113 -0
  841. package/dist/components/ui/spinner.d.ts.map +1 -1
  842. package/dist/components/ui/spinner.js +13 -0
  843. package/dist/components/ui/split-button.d.ts +207 -0
  844. package/dist/components/ui/split-button.d.ts.map +1 -0
  845. package/dist/components/ui/split-button.js +75 -0
  846. package/dist/components/ui/stateful-table.d.ts +345 -0
  847. package/dist/components/ui/stateful-table.d.ts.map +1 -0
  848. package/dist/components/ui/stateful-table.js +169 -0
  849. package/dist/components/ui/status.d.ts +99 -0
  850. package/dist/components/ui/status.d.ts.map +1 -0
  851. package/dist/components/ui/status.js +63 -0
  852. package/dist/components/ui/stepper.d.ts +155 -0
  853. package/dist/components/ui/stepper.d.ts.map +1 -0
  854. package/dist/components/ui/stepper.js +83 -0
  855. package/dist/components/ui/steps.d.ts +141 -0
  856. package/dist/components/ui/steps.d.ts.map +1 -0
  857. package/dist/components/ui/steps.js +128 -0
  858. package/dist/components/ui/switch.d.ts +8 -0
  859. package/dist/components/ui/switch.d.ts.map +1 -1
  860. package/dist/components/ui/switch.js +12 -1
  861. package/dist/components/ui/tabs.d.ts +21 -2
  862. package/dist/components/ui/tabs.d.ts.map +1 -1
  863. package/dist/components/ui/tabs.js +23 -4
  864. package/dist/components/ui/tag-group.d.ts +154 -0
  865. package/dist/components/ui/tag-group.d.ts.map +1 -0
  866. package/dist/components/ui/tag-group.js +111 -0
  867. package/dist/components/ui/task-progress.d.ts +149 -0
  868. package/dist/components/ui/task-progress.d.ts.map +1 -0
  869. package/dist/components/ui/task-progress.js +110 -0
  870. package/dist/components/ui/text-format-toolbar.d.ts +211 -0
  871. package/dist/components/ui/text-format-toolbar.d.ts.map +1 -0
  872. package/dist/components/ui/text-format-toolbar.js +186 -0
  873. package/dist/components/ui/timeline.d.ts.map +1 -1
  874. package/dist/components/ui/timeline.js +10 -1
  875. package/dist/components/ui/toast.d.ts +32 -10
  876. package/dist/components/ui/toast.d.ts.map +1 -1
  877. package/dist/components/ui/toast.js +150 -47
  878. package/dist/components/ui/toggle-group.d.ts +14 -5
  879. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  880. package/dist/components/ui/toggle-group.js +15 -1
  881. package/dist/components/ui/toggle.d.ts.map +1 -1
  882. package/dist/components/ui/toggle.js +9 -1
  883. package/dist/components/ui/tree.d.ts +8 -0
  884. package/dist/components/ui/tree.d.ts.map +1 -1
  885. package/dist/components/ui/tree.js +92 -13
  886. package/dist/components/ui/video-player.d.ts +236 -0
  887. package/dist/components/ui/video-player.d.ts.map +1 -0
  888. package/dist/components/ui/video-player.js +72 -0
  889. package/dist/fonts/inter-latin-400-italic.woff2 +0 -0
  890. package/dist/index.d.ts +112 -0
  891. package/dist/index.d.ts.map +1 -1
  892. package/dist/index.js +72 -0
  893. package/dist/lib/utils.d.ts +29 -0
  894. package/dist/lib/utils.d.ts.map +1 -1
  895. package/dist/lib/utils.js +35 -0
  896. package/dist/live/index.d.ts +10 -3
  897. package/dist/live/index.d.ts.map +1 -1
  898. package/dist/live/index.js +12 -3
  899. package/dist/live/run-stream-01/run-stream.js +4 -4
  900. package/dist/live/tool-ledger-01/index.d.ts +3 -0
  901. package/dist/live/tool-ledger-01/index.d.ts.map +1 -0
  902. package/dist/live/tool-ledger-01/index.js +1 -0
  903. package/dist/live/tool-ledger-01/tool-ledger.d.ts +348 -0
  904. package/dist/live/tool-ledger-01/tool-ledger.d.ts.map +1 -0
  905. package/dist/live/tool-ledger-01/tool-ledger.js +245 -0
  906. package/dist/pages/about-page/index.d.ts +306 -0
  907. package/dist/pages/about-page/index.d.ts.map +1 -0
  908. package/dist/pages/about-page/index.js +161 -0
  909. package/dist/pages/careers-page/index.d.ts +288 -0
  910. package/dist/pages/careers-page/index.d.ts.map +1 -0
  911. package/dist/pages/careers-page/index.js +182 -0
  912. package/dist/pages/changelog-page/index.d.ts +255 -0
  913. package/dist/pages/changelog-page/index.d.ts.map +1 -0
  914. package/dist/pages/changelog-page/index.js +86 -0
  915. package/dist/pages/contact-page/index.d.ts +261 -0
  916. package/dist/pages/contact-page/index.d.ts.map +1 -0
  917. package/dist/pages/contact-page/index.js +136 -0
  918. package/dist/pages/docs-shell/docs-shell.d.ts +8 -0
  919. package/dist/pages/docs-shell/docs-shell.d.ts.map +1 -1
  920. package/dist/pages/docs-shell/docs-shell.js +24 -7
  921. package/dist/pages/error-page/index.d.ts +188 -0
  922. package/dist/pages/error-page/index.d.ts.map +1 -0
  923. package/dist/pages/error-page/index.js +98 -0
  924. package/dist/pages/index.d.ts +10 -0
  925. package/dist/pages/index.d.ts.map +1 -1
  926. package/dist/pages/index.js +14 -0
  927. package/dist/pages/legal-page/index.d.ts +194 -0
  928. package/dist/pages/legal-page/index.d.ts.map +1 -0
  929. package/dist/pages/legal-page/index.js +99 -0
  930. package/dist/pages/onboarding-page/index.d.ts +199 -0
  931. package/dist/pages/onboarding-page/index.d.ts.map +1 -0
  932. package/dist/pages/onboarding-page/index.js +71 -0
  933. package/dist/pages/pricing-page/index.d.ts +286 -0
  934. package/dist/pages/pricing-page/index.d.ts.map +1 -0
  935. package/dist/pages/pricing-page/index.js +139 -0
  936. package/dist/pages/search-page/index.d.ts +305 -0
  937. package/dist/pages/search-page/index.d.ts.map +1 -0
  938. package/dist/pages/search-page/index.js +142 -0
  939. package/dist/pages/status-page/index.d.ts +366 -0
  940. package/dist/pages/status-page/index.d.ts.map +1 -0
  941. package/dist/pages/status-page/index.js +136 -0
  942. package/dist/styles.css +1003 -55
  943. package/package.json +9 -3
@@ -0,0 +1,161 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { About01 } from '../../blocks/about-01/index.js';
3
+ import { Services01 } from '../../blocks/services-01/index.js';
4
+ import { Story01 } from '../../blocks/story-01/index.js';
5
+ import { Team01 } from '../../blocks/team-01/index.js';
6
+ import { CtaLink } from '../../components/ui/cta-link.js';
7
+ import { Section, SectionHeading, childLevel } from '../../components/ui/section.js';
8
+ import { cn } from '../../lib/utils.js';
9
+ /**
10
+ * A complete about screen, in the order a reader arrives with its questions.
11
+ *
12
+ * **The decision this Page makes is the order, and the order is the whole of what
13
+ * it is.** Five bands, in this sequence: what this is, how it got here, who is
14
+ * here, what it does, and how to reach it. Each is a question a reader actually
15
+ * arrives with rather than a section a template happens to contain, and the
16
+ * sequence is the one those questions are asked in. A reader who opens an about
17
+ * page does not want the history first, because the history is only legible once
18
+ * they know what the thing is; they do not want the team before the story, because
19
+ * a name with no history behind it is a logo; and they do not want the services
20
+ * before the people, because a list of capabilities with nobody attached to it is
21
+ * a brochure. So: the statement, then the rail, then the faces, then the
22
+ * engagements, then the way on.
23
+ *
24
+ * **The order costs something, and the cost is the point of stating it.** A
25
+ * consumer whose story belongs after the team, which is a real and defensible
26
+ * arrangement for a company whose people are the argument, cannot reorder this
27
+ * page; the honest answer is that it composes two Pages, one holding the people
28
+ * and one holding the story, and the seam between them is two page vertical
29
+ * rhythms where the author wanted one. That is the correct price of an opinionated
30
+ * order. The alternative was a `order` prop, or a slots array, and either would
31
+ * have moved the decision from this file to the call site, which is to say it would
32
+ * have stopped being a Page and become a container for five Blocks with a layout
33
+ * the consumer has to get right themselves. An order the Page does not own is an
34
+ * order every consumer gets wrong differently.
35
+ *
36
+ * **What the Page refuses is which bands appear.** It decides the sequence and
37
+ * nothing else. `milestones`, `people`, `services` and `contact` are all optional
38
+ * and their absence removes a band without moving any other, so a product with no
39
+ * story to tell omits `milestones` and reads the same four questions in the same
40
+ * order. The Page holds no opinion about how many of the five a reader needs, and
41
+ * that is the same refusal `PageHeader01` and `Changelog01` state: the structure
42
+ * is read from the data rather than imposed on it.
43
+ *
44
+ * **The `h1` is the about band's own section heading, and that is a decision worth
45
+ * a paragraph.** The alternative is a title the Page draws above the first band,
46
+ * and it was rejected for two reasons. The first is duplication: the about band
47
+ * opens with a title, and a title the Page drew above it would be the same words
48
+ * twice within one screen. The second is that a Page that draws its own heading
49
+ * band has to decide where the bands start below it, and the answer is always a
50
+ * second `Section` of vertical rhythm between the heading and the first thing the
51
+ * heading is about, which on a page that already opens with a statement reads as
52
+ * an empty band. Handing the caller's title to the first band puts the page
53
+ * heading where the page's argument is, gives the page exactly one `h1` without
54
+ * the Page having to police that, and lets `About01` hold the heading left, which
55
+ * is the alignment `SectionHeading` requires of anything with content under it.
56
+ *
57
+ * **The bands after the first are untitled, and the outline that follows is
58
+ * deliberate.** Every Block below the about band is composed at the page's own
59
+ * heading level, so the principles, the milestones, the people and the engagements
60
+ * are all one step below the page heading and each band's items sit at that same
61
+ * level. The alternative was a section title per band, and that is a set of props
62
+ * whose every value is a section heading this Page would then own, which is a Page
63
+ * whose interface is a form rather than a screen. What the reader gets instead is
64
+ * a document they can navigate by heading: the page name, then every titled thing
65
+ * on the page, which is what a reader jumping to "the person who does X" or "the
66
+ * milestone where we shipped Y" is actually looking for. The cost is that no band
67
+ * announces itself, and a consumer who wants titled sections composes
68
+ * `SectionHeading` above the bands itself, where the words are the consumer's.
69
+ *
70
+ * **The closing band is a heading and a link, and it is not `Contact01`.** That
71
+ * Block is a form, its `onSubmit` is a function, and a function cannot cross from a
72
+ * server Component to a client Component, so a Page that composed it would have to
73
+ * be a client Component itself and every datum on this screen would then have to
74
+ * be serialised across that boundary to reach a band four sections down. The
75
+ * rejected alternative was a `form` slot, and it was refused for the same reason
76
+ * every other slot on this Page is a node rather than a callback: a Page is a
77
+ * screen model and a screen model describes a screen, it does not act on one.
78
+ * A consumer that wants a contact form on its about page composes `Contact01`
79
+ * beside this Page, which is where the form and the handler that owns it live.
80
+ *
81
+ * **The link arms are checked before anything is drawn.** A person or an
82
+ * engagement with an `href` and no `hrefLabel` would render a link announced by
83
+ * its address, which is punctuation rather than a name, and the cost of finding
84
+ * that out from a screen reader is a reader who cannot follow it. The Page throws
85
+ * rather than degrade, for the reason `Team01`, `ContentGrid01` and `Changelog01`
86
+ * each state for their own link: a defect that is invisible in a screenshot is not
87
+ * a defect a design system can afford to ship quietly.
88
+ *
89
+ * **The collections are copied rather than forwarded, and that is a boundary with
90
+ * `About01`, `Story01` and `Services01`.** Those Blocks declare mutable lists and
91
+ * this Page declares `readonly` ones, so each list is handed over as a fresh
92
+ * array. The cost is one allocation per band and the reason is a fixture: an
93
+ * `as const` array is how a consumer writes data they did not type by hand, and a
94
+ * mutable prop rejects it at the moment it is most useful.
95
+ *
96
+ * It is a server Component. It fetches nothing, it holds no state, it takes no
97
+ * function prop and it imports no router, so a consumer renders it from whichever
98
+ * route their framework names for the about page.
99
+ */
100
+ export function AboutPage({ eyebrow, title, description, statement, principles, milestones, people, services, contact, headingLevel = 'h1', className, }) {
101
+ assertLinkLabels(people, services);
102
+ return (_jsxs("div", { "data-slot": "about-page", className: cn(className), children: [_jsx(About01, { eyebrow: eyebrow, title: title, statement: statement, body: description, principles: [...principles], headingLevel: headingLevel }), milestones === undefined || milestones.length === 0 ? null : (_jsx(Story01, { milestones: milestones.map((milestone) => ({
103
+ ...milestone,
104
+ // The rail draws one paragraph per milestone, so a milestone with no
105
+ // body is handed an empty node rather than dropped: a hole in a
106
+ // history is worse than a row with one sentence fewer.
107
+ body: milestone.body ?? null,
108
+ })), headingLevel: headingLevel })), people === undefined || people.length === 0 ? null : (_jsx(Team01, { people: [...people], headingLevel: headingLevel })), services === undefined || services.length === 0 ? null : (_jsx(Services01, { services: services.map(asEngagement), headingLevel: headingLevel })), contact === undefined ? null : (_jsxs(Section, { "data-slot": "about-page-contact", children: [_jsx(SectionHeading, { as: childLevel(headingLevel), align: "left", title: contact.title, description: contact.description, className: "mb-8" }), contact.cta === undefined ? null : (_jsx(CtaLink, { href: contact.cta.href, children: contact.cta.label }))] }))] }));
109
+ }
110
+ /**
111
+ * One engagement as the grid draws it, with the two link arms kept apart.
112
+ *
113
+ * `Services01` states the pair as a union rather than as two optional fields, and
114
+ * this is the seam between that union and a Page prop which is flat on purpose: a
115
+ * consumer's data model is flat, and a caller that had to narrow their own record
116
+ * before they could hand it over would be doing the Block's type work at every
117
+ * call site. So the two arms are built here, once, and the flat pair is checked
118
+ * above before this runs.
119
+ *
120
+ * The `hrefLabel` fallback is unreachable, and it is there because the type cannot
121
+ * know the check has already thrown. It is written as an empty string rather than
122
+ * as an assertion so that a future change which reorders the two would render an
123
+ * unnamed link rather than quietly lie to the compiler.
124
+ */
125
+ function asEngagement(service) {
126
+ const shared = {
127
+ id: service.id,
128
+ title: service.title,
129
+ body: service.body,
130
+ deliverables: service.deliverables === undefined ? undefined : [...service.deliverables],
131
+ outcome: service.outcome,
132
+ };
133
+ return service.href === undefined
134
+ ? shared
135
+ : { ...shared, href: service.href, hrefLabel: service.hrefLabel ?? '' };
136
+ }
137
+ /**
138
+ * The two link checks the composed Bands would otherwise make on the Page's
139
+ * behalf, run once here so the message names the Page's own prop.
140
+ *
141
+ * `Team01` and `Services01` each throw for their own link pair, and the reason
142
+ * this runs anyway is that a consumer reading a stack trace wants the name of the
143
+ * prop they passed, not the name of the band three frames down that received it.
144
+ * The word is the same one either way; only the sentence about who to fix changes.
145
+ */
146
+ function assertLinkLabels(people, services) {
147
+ for (const person of people ?? []) {
148
+ if (person.href !== undefined && (person.hrefLabel === undefined || person.hrefLabel.trim() === '')) {
149
+ throw new Error('AboutPage: a person declares an href and no hrefLabel, so the cell would carry a link announced by its ' +
150
+ 'address, which a screen reader reads out as punctuation rather than as a name. Pass the words that say ' +
151
+ 'where the person goes, or drop the href.');
152
+ }
153
+ }
154
+ for (const service of services ?? []) {
155
+ if (service.href !== undefined && (service.hrefLabel === undefined || service.hrefLabel.trim() === '')) {
156
+ throw new Error('AboutPage: an engagement declares an href and no hrefLabel, so the card would carry a link announced by ' +
157
+ 'its address. Pass the words that say where the engagement goes, or drop the href.');
158
+ }
159
+ }
160
+ }
161
+ export default AboutPage;
@@ -0,0 +1,288 @@
1
+ import type { ReactNode } from 'react';
2
+ import { type HeadingLevel } from '../../components/ui/section.js';
3
+ /**
4
+ * One open role: what it is, which team it is in, where it is, how it is worked,
5
+ * and where it is applied for.
6
+ *
7
+ * `title`, `team` and `location` are required because they are the three
8
+ * questions a reader asks before deciding whether a job is worth reading about,
9
+ * and a row missing one of them is a title with a link rather than a role.
10
+ *
11
+ * `href` and `hrefLabel` are flat here and a union on the Block, and the seam is
12
+ * the same one the about page draws: a consumer's data model is flat, and the two
13
+ * arms are built once at the call site rather than at every record.
14
+ */
15
+ export type CareersPageRole = {
16
+ /** A stable key for the role. */
17
+ id: string;
18
+ /** The role's own title, as it is written in the posting. */
19
+ title: string;
20
+ /** The team the role sits in. */
21
+ team: string;
22
+ /** Where the role is. */
23
+ location: string;
24
+ /** The working pattern, for a company that has more than one. */
25
+ pattern?: string;
26
+ /** A sentence or two about the work, for a page that has room for it. */
27
+ summary?: ReactNode;
28
+ /** When it was posted, already written the way a reader should see it. */
29
+ postedAt?: string;
30
+ /**
31
+ * Marks the role as no longer open.
32
+ *
33
+ * A state and not a removal: the row stays, it is dimmed, and the caller's
34
+ * `closedLabel` says what happened. A reader who was told a role existed and
35
+ * finds it gone learns nothing.
36
+ */
37
+ closed?: boolean;
38
+ /** Where the role goes. Its presence makes the row carry a link. */
39
+ href?: string;
40
+ /** The words on the link. Required whenever `href` is, and enforced below. */
41
+ hrefLabel?: string;
42
+ };
43
+ /**
44
+ * One thing the company holds itself to, as a value.
45
+ *
46
+ * The same shape as a principle and deliberately: a value and a principle are the
47
+ * same kind of object on a careers page, a short name and a sentence saying what
48
+ * it means in practice, and a page that drew them differently would be inventing a
49
+ * difference its data does not contain.
50
+ */
51
+ export type CareersPageValue = {
52
+ /** A stable key for the tile. */
53
+ id: string;
54
+ /** The value's own name. */
55
+ title: string;
56
+ /** What holding to it means here, in practice. */
57
+ body: ReactNode;
58
+ };
59
+ /**
60
+ * One team the company hires into: what it is called, what it does, and
61
+ * optionally how many of its roles are open.
62
+ *
63
+ * `roles` is a number rather than a sentence and `rolesLabel` is the sentence, for
64
+ * the reason `Community01` gives for a member count: "1,204 members" and "204
65
+ * online" are not two formats of one fact, every language words them differently,
66
+ * and a bare numeral beside a team name tells a screen reader nothing about what
67
+ * it counts. The Page throws when a count arrives with no words for it.
68
+ */
69
+ export type CareersPageTeam = {
70
+ /** A stable key for the row. */
71
+ id: string;
72
+ /** The team's own name, as the team spells it. */
73
+ name: string;
74
+ /** What the team works on, in a sentence. */
75
+ detail?: ReactNode;
76
+ /** How many of its roles are open. Omit it for a team with no count to publish. */
77
+ roles?: number;
78
+ /** The words for that count, given the number and the team. Required whenever `roles` is. */
79
+ rolesLabel?: (count: number, team: string) => string;
80
+ };
81
+ /**
82
+ * One thing a role comes with, as a benefit.
83
+ *
84
+ * A benefit is a promise made by whoever wrote it, and it is the caller's. The
85
+ * Page holds the tile and the measure and nothing else.
86
+ */
87
+ export type CareersPageBenefit = {
88
+ /** A stable key for the tile. */
89
+ id: string;
90
+ /** The benefit's own name. */
91
+ title: string;
92
+ /** What the reader gets, and under what conditions. */
93
+ body: ReactNode;
94
+ };
95
+ /**
96
+ * The closing band: a heading, a supporting line, and one way on.
97
+ *
98
+ * A heading and a link rather than a form, for the reason the about page gives:
99
+ * a contact form's handler is a function, a function cannot cross from a server
100
+ * Component to a client Component, and a Page that carried one would have to be a
101
+ * client Component itself. A careers page's last job is to say where to send a
102
+ * CV, not to take one.
103
+ */
104
+ export type CareersPageContact = {
105
+ /** The band's heading. */
106
+ title: ReactNode;
107
+ /** One or two sentences under the heading. */
108
+ description?: ReactNode;
109
+ /** Where the conversation goes. */
110
+ href: string;
111
+ /** The words on the link. */
112
+ hrefLabel: string;
113
+ };
114
+ /**
115
+ * One narrowing link above the roles: a label and a destination.
116
+ *
117
+ * A link and not a control, and the reason is that a filter is state. Narrowing a
118
+ * list to one team means deciding which roles are in it, so a control that does it
119
+ * holds state, and this Page is a server Component and holds none. A set of links
120
+ * under a query parameter narrows the list on a server render with no client code
121
+ * at all, which is the arrangement a product whose roles are published as data can
122
+ * use without making its careers route a client bundle.
123
+ */
124
+ export type CareersPageOpening = {
125
+ /** The words on the link. */
126
+ label: string;
127
+ /** Where the narrowed list is. */
128
+ href: string;
129
+ };
130
+ /**
131
+ * The props a CareersPage takes.
132
+ *
133
+ * Every string, number and destination is a prop and the Page ships none of them.
134
+ * A careers page hardcodes the two sentences that decide whether anybody applies,
135
+ * and those two sentences are the ones a consumer can least afford to inherit from
136
+ * a component library.
137
+ */
138
+ export type CareersPageProps = {
139
+ /** Optional label above the page's own heading. See the No-Default-Eyebrow Rule. */
140
+ eyebrow?: string;
141
+ /**
142
+ * The page's heading, and the reason the roles band is not optional.
143
+ *
144
+ * It is the page's `h1`, drawn by the roles band rather than by the Page, and
145
+ * that placement is `Careers01`'s own design: a page that lists roles without
146
+ * saying why it exists reads as a job board. See the Page's JSDoc.
147
+ */
148
+ title: ReactNode;
149
+ /**
150
+ * The standfirst: one or two sentences under the heading.
151
+ *
152
+ * A string rather than a node, and the boundary is `Careers01`'s own
153
+ * `description` slot, which is a string because the band holds it inside a
154
+ * `SectionHeading`. The cost is that a caller who needs a link or a mark in the
155
+ * standfirst composes their own opening band above this Page, and the answer
156
+ * they get instead of a node is a sentence they can put a link around by hand.
157
+ */
158
+ description?: string;
159
+ /**
160
+ * The roles, in the order a reader should meet them. Order is the caller's
161
+ * because it is a claim about which role leads.
162
+ */
163
+ roles: readonly CareersPageRole[];
164
+ /**
165
+ * The words for a role that is no longer open.
166
+ *
167
+ * Required whenever a role is closed, and the requirement is enforced rather
168
+ * than documented: `Careers01` throws when a closed row arrives with no words
169
+ * on it, because a dimmed row with no explanation is a row a reader cannot tell
170
+ * from a rendering fault.
171
+ */
172
+ closedLabel?: string;
173
+ /**
174
+ * The values, in the order a reader should meet them. Omit them and the band is
175
+ * not there.
176
+ */
177
+ values?: readonly CareersPageValue[];
178
+ /** The teams, in the order a reader should meet them. Omit them and the band is not there. */
179
+ teams?: readonly CareersPageTeam[];
180
+ /** The benefits, in the order a reader should meet them. Omit them and the band is not there. */
181
+ benefits?: readonly CareersPageBenefit[];
182
+ /**
183
+ * The caller's own narrowing links, drawn above the roles.
184
+ *
185
+ * Links rather than controls, for the reason `CareersPageOpening` gives: a
186
+ * filter is state and a link is not. They go in the roles band's own filter
187
+ * slot, which is the seam `Careers01` draws for exactly this.
188
+ */
189
+ openings?: readonly CareersPageOpening[];
190
+ /** The accessible name of the narrowing row. Required whenever `openings` is, and enforced below. */
191
+ openingsLabel?: string;
192
+ /** The closing band. Omit it and the page ends on the last band that was given. */
193
+ contact?: CareersPageContact;
194
+ /**
195
+ * What the roles band shows instead of the rows when there are none.
196
+ *
197
+ * Required, and it is the whole of the argument this Page is a Page and not a
198
+ * `Careers01`. See the Page's JSDoc.
199
+ */
200
+ empty: ReactNode;
201
+ /**
202
+ * The heading level for the page's own heading, and one step below it for the
203
+ * Page's own bands.
204
+ *
205
+ * Defaults to `h1`, because a page owns the top of the document outline. A
206
+ * consumer embedding the page under a heading it already owns passes one level
207
+ * deeper and the outline follows.
208
+ */
209
+ headingLevel?: HeadingLevel;
210
+ /**
211
+ * Layout only, exactly as on every Component. Changing a Prism-owned visual
212
+ * property from here is prohibited.
213
+ */
214
+ className?: string;
215
+ };
216
+ /**
217
+ * A complete careers screen: who the company is, what it is hiring for, what it
218
+ * believes, who you would work with, what you would get, and where to send
219
+ * something.
220
+ *
221
+ * **The decision that makes this a Page rather than a `Careers01` is the empty
222
+ * state, and the Page makes it by refusing to branch on it.** A careers page with
223
+ * no open roles is one of the two states a careers page is always in, and it is
224
+ * the one a list is worst at: a list that renders nothing has told a reader
225
+ * nothing at all, and a route that 404s on the week a company closes its last
226
+ * vacancy is a route that fails exactly when somebody is most likely to be
227
+ * checking. So the roles band is not conditional here. It is always rendered, and
228
+ * it is always given `empty`, so it draws the caller's own sentence in place of the
229
+ * rows and the rest of the screen is unchanged around it. A consumer reading this
230
+ * page in a week with no vacancies still learns what the company is, what it
231
+ * believes, who they would work with and where to send a CV, which is the only
232
+ * thing a careers page is for. The rejected alternative was a `roles.length > 0`
233
+ * branch around the band, and it is the exact failure `ContentGrid01` and
234
+ * `Community01` each refuse in their own way: a section that is not there is a
235
+ * section a reader cannot tell from a section that failed to load.
236
+ *
237
+ * **The page heading is the roles band's own heading, and that is `Careers01`'s
238
+ * design rather than this Page's.** The band requires a title precisely because a
239
+ * page that lists roles without saying why it exists reads as a job board, so the
240
+ * page's `h1` is the one that does the saying and the Page draws no heading of its
241
+ * own above it. A Page that drew its own title and then handed the band a second
242
+ * one would say the same words twice within one screen, and the duplicate is the
243
+ * kind of thing no gate finds and every reader sees.
244
+ *
245
+ * **The order after the roles band is the order a reader asks the rest of it in.**
246
+ * Values, then teams, then benefits, then the way on. "What do you believe" comes
247
+ * before "who would I work with" because a team is a group of people a reader has
248
+ * to have a reason to care about, and it comes before the benefits because a
249
+ * benefit is a promise that needs the belief behind it to be worth reading. The
250
+ * cost is that a consumer who hires into one team only would want that band first,
251
+ * and the answer is the one the about page gives: the bands after the roles are
252
+ * each optional, and a consumer who wants a different order composes the screen
253
+ * from `ContentGrid01` itself.
254
+ *
255
+ * **The values, the teams and the benefits are the same Block three times, and
256
+ * that is a decision rather than a shortage.** Each is a set of titled things with
257
+ * a sentence under it and nothing else: no date, no figure, no status. A Page
258
+ * that drew them three different ways would be inventing differences its data does
259
+ * not contain, and the only difference between them here is the arrangement, which
260
+ * is what the `rows` form is for: a team is a set a reader compares, and a value
261
+ * and a benefit are sets a reader chooses from. The cost is that three consecutive
262
+ * bands share a frame, and the answer is that a consumer with a band of its own
263
+ * composes it in place of the one that is not doing the job.
264
+ *
265
+ * **The Page takes one function prop and it never crosses a boundary.** `rolesLabel`
266
+ * is a function because a count is a number and the words for it are a sentence
267
+ * the consumer writes in its own language, and because no two languages word a
268
+ * count the same way. It is called here, during this render, and what is handed
269
+ * down is the string it returned: a server Component may hold a function and call
270
+ * it, and what it may not do is pass one to a client Component, which is why
271
+ * nothing on this page receives a callback. Every one of the composed Blocks is a
272
+ * server Component, so the screen costs a consumer no client JavaScript at all.
273
+ *
274
+ * **The two checks that run before anything is drawn are the ones that would
275
+ * otherwise be invisible in a screenshot.** A role with an `href` and no
276
+ * `hrefLabel` renders a link announced by its address, and a narrowing row with no
277
+ * accessible name is a landmark announced as nothing, which is the state a screen
278
+ * reader user is least able to recover from. The Page throws on both, naming its
279
+ * own props, and the cost of throwing is that a JavaScript caller with a data file
280
+ * that has drifted finds out at render rather than in review.
281
+ *
282
+ * It is a server Component. It fetches nothing, it holds no state and it imports
283
+ * no router, so a consumer renders it from whichever route their framework names
284
+ * for the careers page and hands it the roles their own system published.
285
+ */
286
+ export declare function CareersPage({ eyebrow, title, description, roles, closedLabel, values, teams, benefits, openings, openingsLabel, contact, empty, headingLevel, className, }: CareersPageProps): import("react").JSX.Element;
287
+ export default CareersPage;
288
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pages/careers-page/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC,OAAO,EAAuC,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAGpG;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAA;IACb,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yEAAyE;IACzE,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,kDAAkD;IAClD,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6FAA6F;IAC7F,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CACrD,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,uDAAuD;IACvD,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,0BAA0B;IAC1B,KAAK,EAAE,SAAS,CAAA;IAChB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;OAMG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,KAAK,EAAE,SAAS,eAAe,EAAE,CAAA;IACjC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAA;IACpC,8FAA8F;IAC9F,KAAK,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;IAClC,iGAAiG;IACjG,QAAQ,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACxC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACxC,qGAAqG;IACrG,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mFAAmF;IACnF,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B;;;;;OAKG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,WAAW,EACX,KAAK,EACL,WAAW,EACX,MAAM,EACN,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,OAAO,EACP,KAAK,EACL,YAAmB,EACnB,SAAS,GACV,EAAE,gBAAgB,+BAuElB;AA0HD,eAAe,WAAW,CAAA"}
@@ -0,0 +1,182 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Careers01 } from '../../blocks/careers-01/index.js';
3
+ import { ContentGrid01 } from '../../blocks/content-grid-01/index.js';
4
+ import { CtaLink } from '../../components/ui/cta-link.js';
5
+ import { Section, SectionHeading, childLevel } from '../../components/ui/section.js';
6
+ import { cn } from '../../lib/utils.js';
7
+ /**
8
+ * A complete careers screen: who the company is, what it is hiring for, what it
9
+ * believes, who you would work with, what you would get, and where to send
10
+ * something.
11
+ *
12
+ * **The decision that makes this a Page rather than a `Careers01` is the empty
13
+ * state, and the Page makes it by refusing to branch on it.** A careers page with
14
+ * no open roles is one of the two states a careers page is always in, and it is
15
+ * the one a list is worst at: a list that renders nothing has told a reader
16
+ * nothing at all, and a route that 404s on the week a company closes its last
17
+ * vacancy is a route that fails exactly when somebody is most likely to be
18
+ * checking. So the roles band is not conditional here. It is always rendered, and
19
+ * it is always given `empty`, so it draws the caller's own sentence in place of the
20
+ * rows and the rest of the screen is unchanged around it. A consumer reading this
21
+ * page in a week with no vacancies still learns what the company is, what it
22
+ * believes, who they would work with and where to send a CV, which is the only
23
+ * thing a careers page is for. The rejected alternative was a `roles.length > 0`
24
+ * branch around the band, and it is the exact failure `ContentGrid01` and
25
+ * `Community01` each refuse in their own way: a section that is not there is a
26
+ * section a reader cannot tell from a section that failed to load.
27
+ *
28
+ * **The page heading is the roles band's own heading, and that is `Careers01`'s
29
+ * design rather than this Page's.** The band requires a title precisely because a
30
+ * page that lists roles without saying why it exists reads as a job board, so the
31
+ * page's `h1` is the one that does the saying and the Page draws no heading of its
32
+ * own above it. A Page that drew its own title and then handed the band a second
33
+ * one would say the same words twice within one screen, and the duplicate is the
34
+ * kind of thing no gate finds and every reader sees.
35
+ *
36
+ * **The order after the roles band is the order a reader asks the rest of it in.**
37
+ * Values, then teams, then benefits, then the way on. "What do you believe" comes
38
+ * before "who would I work with" because a team is a group of people a reader has
39
+ * to have a reason to care about, and it comes before the benefits because a
40
+ * benefit is a promise that needs the belief behind it to be worth reading. The
41
+ * cost is that a consumer who hires into one team only would want that band first,
42
+ * and the answer is the one the about page gives: the bands after the roles are
43
+ * each optional, and a consumer who wants a different order composes the screen
44
+ * from `ContentGrid01` itself.
45
+ *
46
+ * **The values, the teams and the benefits are the same Block three times, and
47
+ * that is a decision rather than a shortage.** Each is a set of titled things with
48
+ * a sentence under it and nothing else: no date, no figure, no status. A Page
49
+ * that drew them three different ways would be inventing differences its data does
50
+ * not contain, and the only difference between them here is the arrangement, which
51
+ * is what the `rows` form is for: a team is a set a reader compares, and a value
52
+ * and a benefit are sets a reader chooses from. The cost is that three consecutive
53
+ * bands share a frame, and the answer is that a consumer with a band of its own
54
+ * composes it in place of the one that is not doing the job.
55
+ *
56
+ * **The Page takes one function prop and it never crosses a boundary.** `rolesLabel`
57
+ * is a function because a count is a number and the words for it are a sentence
58
+ * the consumer writes in its own language, and because no two languages word a
59
+ * count the same way. It is called here, during this render, and what is handed
60
+ * down is the string it returned: a server Component may hold a function and call
61
+ * it, and what it may not do is pass one to a client Component, which is why
62
+ * nothing on this page receives a callback. Every one of the composed Blocks is a
63
+ * server Component, so the screen costs a consumer no client JavaScript at all.
64
+ *
65
+ * **The two checks that run before anything is drawn are the ones that would
66
+ * otherwise be invisible in a screenshot.** A role with an `href` and no
67
+ * `hrefLabel` renders a link announced by its address, and a narrowing row with no
68
+ * accessible name is a landmark announced as nothing, which is the state a screen
69
+ * reader user is least able to recover from. The Page throws on both, naming its
70
+ * own props, and the cost of throwing is that a JavaScript caller with a data file
71
+ * that has drifted finds out at render rather than in review.
72
+ *
73
+ * It is a server Component. It fetches nothing, it holds no state and it imports
74
+ * no router, so a consumer renders it from whichever route their framework names
75
+ * for the careers page and hands it the roles their own system published.
76
+ */
77
+ export function CareersPage({ eyebrow, title, description, roles, closedLabel, values, teams, benefits, openings, openingsLabel, contact, empty, headingLevel = 'h1', className, }) {
78
+ assertLabels(roles, teams);
79
+ const narrowing = asNarrowing(openings, openingsLabel);
80
+ return (_jsxs("div", { "data-slot": "careers-page", className: cn(className), children: [_jsx(Careers01, { eyebrow: eyebrow, title: title, description: description, roles: roles.map(asRole), filters: narrowing, empty: empty, closedLabel: closedLabel, headingLevel: headingLevel }), values === undefined || values.length === 0 ? null : (_jsx(ContentGrid01, { entries: values.map((value) => ({ id: value.id, title: value.title, summary: value.body })), headingLevel: headingLevel })), teams === undefined || teams.length === 0 ? null : (_jsx(ContentGrid01, { variant: "rows", entries: teams.map((team) => ({
81
+ id: team.id,
82
+ title: team.name,
83
+ summary: teamSummary(team),
84
+ })), headingLevel: headingLevel })), benefits === undefined || benefits.length === 0 ? null : (_jsx(ContentGrid01, { entries: benefits.map((benefit) => ({
85
+ id: benefit.id,
86
+ title: benefit.title,
87
+ summary: benefit.body,
88
+ })), headingLevel: headingLevel })), contact === undefined ? null : (_jsxs(Section, { "data-slot": "careers-page-contact", children: [_jsx(SectionHeading, { as: childLevel(headingLevel), align: "left", title: contact.title, description: contact.description, className: "mb-8" }), _jsx(CtaLink, { href: contact.href, children: contact.hrefLabel })] }))] }));
89
+ }
90
+ /**
91
+ * The narrowing row, or nothing at all.
92
+ *
93
+ * A `nav` rather than a list of links on their own, because a row of links that
94
+ * filters a list is a landmark: a screen reader user who lands on the page and
95
+ * jumps to navigation expects to be told what the region is. The accessible name
96
+ * is the caller's, and the check in the same function is why that name is owed
97
+ * rather than optional: a `nav` with no name is announced as "navigation", which
98
+ * on a page with a site header above it is two regions called the same thing and
99
+ * nothing to tell them apart.
100
+ */
101
+ function asNarrowing(openings, openingsLabel) {
102
+ if (openings === undefined || openings.length === 0)
103
+ return null;
104
+ if (openingsLabel === undefined || openingsLabel.trim() === '') {
105
+ throw new Error('CareersPage: openings were passed with no openingsLabel, so the row would be a navigation landmark announced ' +
106
+ 'as nothing in particular, which is the one region on a page a screen reader user cannot then identify. Pass ' +
107
+ 'the words that say what the row narrows, or drop the openings.');
108
+ }
109
+ return (_jsx("nav", { "aria-label": openingsLabel, className: "flex flex-wrap items-center gap-3", children: openings.map((opening) => (_jsx(CtaLink, { href: opening.href, variant: "outline", size: "sm", children: opening.label }, opening.href))) }));
110
+ }
111
+ /**
112
+ * One team as a row draws it, with the count under the detail rather than beside
113
+ * the name.
114
+ *
115
+ * A count is a reading and not a name, so it belongs in the row's body where the
116
+ * detail is and not in the row's heading where a reader scanning names would meet
117
+ * a number with no noun beside it. The span is given `block` and nothing else, so
118
+ * the count is a second line at the summary's own size rather than a smaller
119
+ * annotation this Page invented a size for.
120
+ */
121
+ function teamSummary(team) {
122
+ const counted = team.roles === undefined ? null : (team.rolesLabel?.(team.roles, team.name) ?? null);
123
+ if (team.detail === undefined)
124
+ return counted;
125
+ if (counted === null)
126
+ return team.detail;
127
+ return (_jsxs(_Fragment, { children: [team.detail, _jsx("span", { className: "block", children: counted })] }));
128
+ }
129
+ /**
130
+ * One role as the list draws it, with the two link arms kept apart.
131
+ *
132
+ * The same seam the about page draws at its engagements: a consumer's role record
133
+ * is flat, and the pair is built once here rather than narrowed at every record.
134
+ * The `hrefLabel` fallback is unreachable, because the check above throws first,
135
+ * and it is written as an empty string rather than as an assertion so a future
136
+ * change in the order would render an unnamed link rather than lie to the
137
+ * compiler.
138
+ */
139
+ function asRole(role) {
140
+ const shared = {
141
+ id: role.id,
142
+ title: role.title,
143
+ team: role.team,
144
+ location: role.location,
145
+ pattern: role.pattern,
146
+ summary: role.summary,
147
+ postedAt: role.postedAt,
148
+ closed: role.closed,
149
+ };
150
+ return role.href === undefined
151
+ ? shared
152
+ : { ...shared, href: role.href, hrefLabel: role.hrefLabel ?? '' };
153
+ }
154
+ /**
155
+ * The two checks the Page owes its own reader before anything is drawn, run once
156
+ * here so the messages name the Page's own props.
157
+ *
158
+ * A role with an `href` and no `hrefLabel` renders a link announced by its address,
159
+ * and a team with a `roles` count and no `rolesLabel` renders a bare numeral beside
160
+ * a name, which tells a screen reader nothing about what it counts. `Careers01`
161
+ * throws for the first of those on its own account and `ContentGrid01` cannot see
162
+ * the second at all, so the second exists here. The cost of throwing rather than
163
+ * degrading is that a caller with a data file that has drifted finds out at render
164
+ * instead of in review, which is the trade every refusal in this package makes.
165
+ */
166
+ function assertLabels(roles, teams) {
167
+ for (const role of roles) {
168
+ if (role.href !== undefined && (role.hrefLabel === undefined || role.hrefLabel.trim() === '')) {
169
+ throw new Error('CareersPage: a role declares an href and no hrefLabel, so the row would carry a link announced by its ' +
170
+ 'address, which a screen reader reads out as punctuation rather than as a name. Pass the words that say ' +
171
+ 'what following the link does, or drop the href.');
172
+ }
173
+ }
174
+ for (const team of teams ?? []) {
175
+ if (team.roles !== undefined && (team.rolesLabel === undefined || team.rolesLabel === null)) {
176
+ throw new Error('CareersPage: a team declares a roles count and no rolesLabel, so the reading would be a bare numeral ' +
177
+ 'beside a team name, which tells a screen reader nothing about what it counts and a sighted reader only ' +
178
+ 'that somebody counted. Pass the words for the count in your own language, or drop the count.');
179
+ }
180
+ }
181
+ }
182
+ export default CareersPage;