@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,323 @@
1
+ import type { ReactNode } from 'react';
2
+ import { type HeadingLevel } from '../../components/ui/section.js';
3
+ /**
4
+ * The five states a project can be in.
5
+ *
6
+ * Five, and the words for them are the caller's rather than the type's, so this
7
+ * list is a set of positions rather than a vocabulary. That is the whole reason
8
+ * `stateLabel` exists and why it is required: four NaniSoft products each track
9
+ * this differently, and between them they use eleven words for these five
10
+ * positions, where "In progress" and "Active" and "Running" are one position and
11
+ * "Shipped" and "Done" and "Delivered" are another.
12
+ *
13
+ * A sixth state would be the one that splits a position that does not need
14
+ * splitting: `at-risk` over `blocked`, or a `live` that is not `complete`. Each
15
+ * one is a colour a reader has to learn and a word a maintainer has to keep true,
16
+ * and a ladder with more rungs than positions is how a status column stops being
17
+ * readable. What the caller wants to say about a project is `summary` and the
18
+ * caller's own `stateLabel`; the five below are the positions a project is in.
19
+ */
20
+ export type ProjectState = 'planning' | 'active' | 'blocked' | 'complete' | 'archived';
21
+ /**
22
+ * One person: the name, the portrait where there is one, and a destination where
23
+ * the consumer publishes one.
24
+ *
25
+ * The same shape `Team01` takes for a person, repeated rather than imported for
26
+ * the reason that file gives: a Block that is not a card grid is not a place a
27
+ * person's identity belongs, and a caller drawing a person in a project header and
28
+ * the same person on a team page is better served by one field name than by a type
29
+ * exported from whichever Block they found first.
30
+ */
31
+ export type Project01Owner = {
32
+ /** The person's own name, as they publish it. */
33
+ name: string;
34
+ /**
35
+ * The portrait, with the name the initials come from.
36
+ *
37
+ * A name rather than a string, because an `Avatar` with no fallback is an empty
38
+ * circle for exactly as long as the image takes to arrive and forever if it
39
+ * never does.
40
+ */
41
+ avatar?: {
42
+ /** The photograph. Omit it, or pass a URL that fails, for the initials. */
43
+ src?: string;
44
+ /** The person's name, which is the initials' source. */
45
+ name: string;
46
+ };
47
+ /** Where the person goes. Rendered as a native anchor, so the destination is real. */
48
+ href?: string;
49
+ /**
50
+ * The words on that link, and required whenever `href` is set.
51
+ *
52
+ * A link whose only words are a person's name tells a reader nothing about what
53
+ * activating it will do, which is the same defect `Contact01` refuses. The
54
+ * sentence saying that following the link is a thing you can do belongs to the
55
+ * caller, because the destination is theirs.
56
+ */
57
+ hrefLabel?: string;
58
+ };
59
+ /**
60
+ * One figure about the project: what it measures, what it reads, and the change
61
+ * against the last reading.
62
+ *
63
+ * `value` is a node and not a number, for the reason `MetricProps.value` gives: a
64
+ * caller's figure is very often a value it formatted itself, with its own grouped
65
+ * thousands, its own currency and its own unit, and a `number` here would push
66
+ * that formatting onto every call site twice.
67
+ */
68
+ export type Project01Figure = {
69
+ /** What the figure measures, read under it. */
70
+ label: string;
71
+ /** The figure itself, already formatted by the caller. */
72
+ value: ReactNode;
73
+ /**
74
+ * The change against the previous reading, as a number whose sign is the
75
+ * direction. See `MetricDelta` on the Component.
76
+ */
77
+ delta?: number;
78
+ };
79
+ /**
80
+ * One stage of the project: what it is called, when it happened or is due, and
81
+ * where it stands.
82
+ *
83
+ * `name` is the anchor and it is what the rail is scanned for, so it is kept to
84
+ * the words a reader would use in conversation. The moment and the state are
85
+ * separate fields because they are separate facts, and a stage that has a date and
86
+ * no state is a real one.
87
+ */
88
+ export type Project01Stage = {
89
+ /** A stable key for the stage. */
90
+ id: string;
91
+ /** What the stage is called, in the caller's own words. */
92
+ name: string;
93
+ /**
94
+ * When the stage happened, or is due.
95
+ *
96
+ * Epoch milliseconds, a `Date`, or a string the platform parses, and Prism
97
+ * hands it to `RelativeTime` untouched, so the reading a reader sees is the
98
+ * platform's in their own locale. See the Block JSDoc for why this Block
99
+ * formats nothing and takes the sentence from the caller instead.
100
+ */
101
+ at?: number | string;
102
+ /**
103
+ * Where the stage stands.
104
+ *
105
+ * `done` is behind the reader, `current` is where they are, and `upcoming` is
106
+ * ahead. A stage's state is a position in a sequence rather than a judgement
107
+ * about the project, which is why this list is three and `ProjectState` is five:
108
+ * a project can be blocked, and a stage in a sequence cannot, because a blocked
109
+ * stage is a fact about the project and belongs in its state.
110
+ */
111
+ state: 'done' | 'current' | 'upcoming';
112
+ /**
113
+ * The words for that state, in the product's own vocabulary.
114
+ *
115
+ * Required whenever a stage carries a state, and every stage does, so the run
116
+ * throws without it. The mark `Steps` draws is a shape, and a shape is not a
117
+ * sentence a reader can act on: "Shipped", "In review", "Signed off" and
118
+ * "Delivered" are the same position in four products' words.
119
+ */
120
+ stateLabel?: string;
121
+ };
122
+ /**
123
+ * The props a Project01 takes, and the one conditional pair among them.
124
+ *
125
+ * Every string and every number is a prop and the Block ships none: no project, no
126
+ * state, no stage, no figure, no date and not one word of the sentence that says
127
+ * where a project is. The absence of the project itself is the sharpest version
128
+ * of the rule, because a project header drawn with a name in it is the single
129
+ * easiest thing in this package to write by accident and the single most likely
130
+ * to be somebody else's project.
131
+ *
132
+ * `progress` and `progressLabel` are a union rather than two optionals, and the
133
+ * reason is the one the authoring contract states: a prop that is required in one
134
+ * shape and forbidden in another cannot be an optional. The bar's own value is a
135
+ * number and a number is not a sentence, so the words beside it are the caller's,
136
+ * and a caller who has a fill and no words for it has a bar that announces a bare
137
+ * figure meaning whatever the reader assumes it is a percentage of.
138
+ */
139
+ export type Project01Props = {
140
+ /**
141
+ * The project's own name.
142
+ *
143
+ * Required, and it is the section heading rather than a field inside the
144
+ * surface, because a project detail whose name is a line of body text has
145
+ * already lost the outline: a reader navigating by heading would meet the
146
+ * section and then nothing until the fields.
147
+ */
148
+ name: string;
149
+ /** One or two sentences about what this project is, under the name. */
150
+ summary?: ReactNode;
151
+ /** Where the project stands. See `ProjectState`. */
152
+ state: ProjectState;
153
+ /**
154
+ * The words for that state, in the product's own vocabulary.
155
+ *
156
+ * Required and not derived from `state`, for the reason `ProjectState` gives:
157
+ * the state is a colour and the words are a claim, and four products use eleven
158
+ * words for five positions between them.
159
+ */
160
+ stateLabel: (state: ProjectState) => string;
161
+ /** Who owns it. Omit it for a project nobody owns, which is a real state. */
162
+ owner?: Project01Owner;
163
+ /** When the project opened. Handed to `RelativeTime` untouched. */
164
+ startsAt?: number | string;
165
+ /** When it is due to close. Handed to `RelativeTime` untouched. */
166
+ endsAt?: number | string;
167
+ /**
168
+ * The sentence for a moment in the span, given the moment.
169
+ *
170
+ * Optional, and its absence is a legitimate state rather than a gap: a project
171
+ * with a start and no end is an open project, and a project whose reader wants
172
+ * no relative words at all is a printed report. When it is given, it is the
173
+ * caller's words beside the platform's absolute reading, which is the one
174
+ * arrangement in this package where a date is neither formatted nor left bare.
175
+ */
176
+ dateLabel?: (value: number | string) => string;
177
+ /** The figures, in the order a reader should meet them. */
178
+ figures?: Project01Figure[];
179
+ /**
180
+ * The stages, in the order the project runs them.
181
+ *
182
+ * Order is the caller's because it is a claim about a sequence, and the rail
183
+ * this Block composes says "steps" to every reader and to every crawler, so a
184
+ * list in an order the project does not have is a wrong diagram rather than a
185
+ * layout problem.
186
+ */
187
+ stages?: Project01Stage[];
188
+ /**
189
+ * The controls that act on the project as a whole: pause, archive, cancel, open
190
+ * it somewhere.
191
+ *
192
+ * A slot and not a set of named buttons, because which controls a project has is
193
+ * the caller's fact: an estate that can archive a project and a pipeline that
194
+ * can cancel one share a header and nothing else. A Block that drew a pause
195
+ * control would hand every consumer a permission its product may not grant.
196
+ */
197
+ actions?: ReactNode;
198
+ /**
199
+ * Whether the facts sit in an aside beside the body or above it.
200
+ *
201
+ * `stacked` is the default because a project detail is read top to bottom, and
202
+ * the facts above the fold are the two a reader checks first. `split` puts the
203
+ * state, the owner, the span and the controls in a narrow column at the leading
204
+ * edge and gives the figures and the stages the width, which is right on a wide
205
+ * page where the reader is comparing this project against another one in the same
206
+ * session, and wrong on a phone where the main column would be at half the
207
+ * reading measure.
208
+ *
209
+ * The two facts and the controls are in one place in both arrangements, so a
210
+ * caller who switches `layout` does not move a single control: what changes is
211
+ * the column they sit in and nothing else.
212
+ *
213
+ * There is no third arrangement that changes Prism's drawing rather than this
214
+ * Block's spacing, because `className` is layout only.
215
+ */
216
+ layout?: 'stacked' | 'split';
217
+ /** Heading level for the section heading. See `HeadingLevel`. */
218
+ headingLevel?: HeadingLevel;
219
+ /** Layout only, exactly as on every Block. Changing a Prism-owned visual
220
+ * property from here is prohibited. */
221
+ className?: string;
222
+ } & ({
223
+ /**
224
+ * How far along the project is, on `Progress`'s own scale of 0 to 100.
225
+ *
226
+ * Omit it for a project that is not measured, and the Block draws no bar
227
+ * rather than a bar at zero, because a bar at zero is a claim that nothing
228
+ * has happened and a planning project is a thing that has not started.
229
+ */
230
+ progress: number;
231
+ /**
232
+ * The sentence the bar announces, given the value and the project's name.
233
+ *
234
+ * Required, and a function rather than a template for the reason
235
+ * `RelativeTime` gives in full: a bar is a percentage of something this
236
+ * Block cannot see, and forty per cent of a migration is not the same fact
237
+ * as forty per cent of a rollout. The name is in the argument because a
238
+ * project with two bars on one page is a page a reader has to be told which
239
+ * bar is which, and this is the cheap half of the answer: the caller has
240
+ * both names and this one has been passed.
241
+ */
242
+ progressLabel: (value: number, project: string) => string;
243
+ } | {
244
+ /** No fill, so no sentence is owed and none is accepted. */
245
+ progress?: never;
246
+ progressLabel?: never;
247
+ });
248
+ /**
249
+ * A project in full: its name, where it stands, who owns it, when it runs, how far
250
+ * along it is, what it reads, and the stages it is on.
251
+ *
252
+ * **The reader here is looking for one project, so everything in this Block is
253
+ * scannable and the two things a reader reaches for are a state and an owner.**
254
+ * That is the fact the whole arrangement is built on, and it is why the state and
255
+ * the owner sit on the first line under the name rather than in a field list at
256
+ * the bottom: a reader who has opened a project to find out whether it is stuck
257
+ * has two questions, and neither of them is a figure. Scanability and keyboard
258
+ * reach outrank expression at this tier, and a state nobody can find in a glance
259
+ * is a state this Block has failed to ship whatever else it got right.
260
+ *
261
+ * **The state is `Status` and the figures are `Metric`, and neither was redrawn.**
262
+ * `Status` is a dot in one of five tones beside the caller's own words, and it
263
+ * owns the arrangement that matters here: the dot is `aria-hidden` and the words
264
+ * carry the state, so a reader who cannot separate `warning` from `destructive`
265
+ * still reads which is which, and a state is never colour alone. A hand-drawn dot
266
+ * beside a word in this Block would be a second implementation of that Component
267
+ * and the second one is the one that gets the `aria-hidden` wrong. `Metric` owns
268
+ * the arrangement a headline figure is read in, which puts the figure first and
269
+ * the name under it, and it owns the fact that a string figure is set in the mono
270
+ * face while a composed one is not. The one thing it cannot do is print a delta it
271
+ * has no unit for, and the cost of that is stated on `Project01Figure`.
272
+ *
273
+ * **The fill is `Progress` with `valueText`, and the reason is the seam rather
274
+ * than the bar.** A hand-drawn filled bar is a div with a width on it, and a div
275
+ * with a width is a picture of a value that no screen reader, no crawler and no
276
+ * print stylesheet can read, which is the exact failure `Progress` exists to close
277
+ * because it exposes the value, the minimum and the maximum through ARIA. The
278
+ * second half is why the words travel as a string: this Block is a server
279
+ * Component and `Progress` is a client one, so a callback handed down from here is
280
+ * a build error rather than a warning, and `Progress` therefore publishes
281
+ * `valueText` for exactly this case. The cost of composing it is real and is named
282
+ * here: `Progress` is a client Component, so a project with a fill is a client
283
+ * island and a caller with forty projects on one page is paying for forty. The
284
+ * answer is to leave `progress` off the projects that are not measured.
285
+ *
286
+ * **The stage list is `Steps`, because the rail is a Component and the three
287
+ * marks are already right.** The alternative was a hand-drawn list of discs and
288
+ * rules, and it is a second implementation of three things `Steps` has already
289
+ * settled: that the states differ by shape before they differ by colour, so a
290
+ * reader who cannot separate a filled disc from a ring is not being told two
291
+ * different things about two different stages; that exactly one step carries
292
+ * `aria-current`, because two current steps is a rail with two answers to where
293
+ * the reader is; and that the rule between the steps carries how far along they
294
+ * are, rather than a bar per step restating "done" once per stage and leaving the
295
+ * arithmetic to the reader. The cost is stated rather than hidden, and it is the
296
+ * rail's own limitation rather than this Block's: `Steps`'s qualifier is a string,
297
+ * and a stage's moment is a node, so the rail cannot hold a date. The moments are
298
+ * drawn beneath it as the definition list they are, and a caller whose stages are
299
+ * mostly dates wants `MilestoneTimeline01`, which is the Block built for a dated
300
+ * sequence.
301
+ *
302
+ * **The dates are the caller's and the sentence is the caller's, and this is the
303
+ * same rule the rest of this roster keeps arriving at from three directions.** The
304
+ * moments are passed to `RelativeTime` untouched, so the absolute reading a reader
305
+ * sees is the platform's own in the language they have, and `dateLabel` supplies
306
+ * the sentence beside it, which is the one string in the pair that is English by
307
+ * nature: it has a plural, it changes shape past a day, and every language words
308
+ * it differently. A Block that formatted the moment instead would ship one
309
+ * locale's format into every consumer's project, and a Block that wrote the
310
+ * sentence would ship English. The honest cost is a small one and it is named
311
+ * here: `dateLabel` is given the moment and not the role, so it cannot say whether
312
+ * a reading is the start of the span or the end of it, and the order is what
313
+ * carries that. A caller whose product names its two ends differently composes the
314
+ * two readings themselves, which is the same amount of work and one more prop.
315
+ *
316
+ * **It is a server Component.** No hook, no state, no client code of its own and
317
+ * no router. The only client code it can pull in is one `Progress` island on the
318
+ * project that asks for a fill, and the portrait is `Avatar`, whose only client
319
+ * work is measuring whether an image has loaded.
320
+ */
321
+ export declare function Project01({ name, summary, state, stateLabel, owner, startsAt, endsAt, dateLabel, figures, stages, actions, progress, progressLabel, layout, headingLevel, className, }: Project01Props): import("react").JSX.Element;
322
+ export default Project01;
323
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/blocks/project-01/project.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAOtC,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAKxF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAA;AA+BtF;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;OAMG;IACH,MAAM,CAAC,EAAE;QACP,2EAA2E;QAC3E,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,wDAAwD;QACxD,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAA;IACb,0DAA0D;IAC1D,KAAK,EAAE,SAAS,CAAA;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;OAOG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;IACtC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAkBD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,uEAAuE;IACvE,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,oDAAoD;IACpD,KAAK,EAAE,YAAY,CAAA;IACnB;;;;;;OAMG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAA;IAC3C,6EAA6E;IAC7E,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;IAC9C,2DAA2D;IAC3D,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;IAC3B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,cAAc,EAAE,CAAA;IACzB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAC5B,iEAAiE;IACjE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;2CACuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,CACA;IACE;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;;;;;;OAUG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAA;CAC1D,GACD;IACE,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,aAAa,CAAC,EAAE,KAAK,CAAA;CACtB,CACJ,CAAA;AA4CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,OAAO,EACP,KAAK,EACL,UAAU,EACV,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,OAAO,EACP,MAAM,EACN,OAAO,EACP,QAAQ,EACR,aAAa,EACb,MAAkB,EAClB,YAAmB,EACnB,SAAS,GACV,EAAE,cAAc,+BA8NhB;AAED,eAAe,SAAS,CAAA"}
@@ -0,0 +1,247 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Avatar, AvatarFallback, AvatarImage } from '../../components/ui/avatar.js';
3
+ import { CtaLink } from '../../components/ui/cta-link.js';
4
+ import { Metric } from '../../components/ui/metric.js';
5
+ import { Progress } from '../../components/ui/progress.js';
6
+ import { RelativeTime } from '../../components/ui/relative-time.js';
7
+ import { Section, SectionHeading } from '../../components/ui/section.js';
8
+ import { Status } from '../../components/ui/status.js';
9
+ import { Steps } from '../../components/ui/steps.js';
10
+ import { cn } from '../../lib/utils.js';
11
+ /**
12
+ * The tone each state is drawn in, from the semantic contract and no other.
13
+ *
14
+ * Two of the five share a role and the sharing is deliberate rather than lazy.
15
+ * `active` and `complete` are both `success`, because a project that is running
16
+ * and a project that finished are the two states a reader is glad to see, and the
17
+ * words beside the dot are what tell them apart, which is the arrangement the
18
+ * whole tier rests on: colour is never the only channel. `planning` is `info`,
19
+ * the contract's cool role that means not an alarm, because work being shaped is
20
+ * not a fault. `archived` is `neutral`, because a project nobody is working on is
21
+ * not in dispute and must not be drawn as though it were.
22
+ *
23
+ * `blocked` is `warning` and not `destructive`, for the reason `FieldMap01` gives
24
+ * for an unmapped field: an unmapped field is a thing to do rather than a
25
+ * breakage, and a table of thirty projects where four are amber is a table with
26
+ * four tasks in it, while the same four in red reads as four incidents and sends
27
+ * a reader looking for a failure that is not happening. The cost is named here
28
+ * because it is real: a blocked project is a genuine problem, and this tone says
29
+ * "attend to it" rather than "something is broken". A caller whose product treats
30
+ * a block as a failure has no seam here, and the answer is `summary`.
31
+ */
32
+ const STATE_TONE = {
33
+ planning: 'info',
34
+ active: 'success',
35
+ blocked: 'warning',
36
+ complete: 'success',
37
+ archived: 'neutral',
38
+ };
39
+ /**
40
+ * The state a stage's mark is drawn from.
41
+ *
42
+ * Three entries for three positions. `done` becomes `complete` because that is
43
+ * the word `Steps` uses for a stage behind the reader, and the two vocabularies
44
+ * differ only there. A map rather than a lookup at the call site because the
45
+ * translation is a fact about the Component and not about the data, and a Block
46
+ * that spelled `complete` in five places would be five chances to spell it once
47
+ * wrong.
48
+ */
49
+ const RAIL_STATE = {
50
+ done: 'complete',
51
+ current: 'current',
52
+ upcoming: 'upcoming',
53
+ };
54
+ /**
55
+ * The initials a name produces, and the rule that produces them.
56
+ *
57
+ * Two letters from the first and last words, and the first two characters of a
58
+ * single word. It is the same rule `AvatarGroup` and `Team01` apply and it is
59
+ * repeated here for the reason `Team01` states in full: that helper is private to
60
+ * its module and exporting it would make a private derivation part of the
61
+ * published surface of a Component in order to save six lines in a Block. The cost
62
+ * of the repetition is named rather than hidden, because three modules now carry
63
+ * this rule and a change to it is a change in three. A caller who needs a case it
64
+ * does not cover passes their own node through the `avatar` slot's `name` and a
65
+ * monogram of their own choosing.
66
+ */
67
+ function initialsOf(name) {
68
+ const words = name.trim().split(/\s+/).filter(Boolean);
69
+ const first = words[0];
70
+ if (first === undefined)
71
+ return '';
72
+ if (words.length === 1)
73
+ return first.slice(0, 2).toUpperCase();
74
+ return `${first.charAt(0)}${words[words.length - 1].charAt(0)}`.toUpperCase();
75
+ }
76
+ /**
77
+ * The stage the rail is on, and the reason this Block picks it rather than asking.
78
+ *
79
+ * `Steps` requires exactly one current step and throws without one, and a
80
+ * project's stage list is a place where that is genuinely absent: a project whose
81
+ * stages are all done has no current stage, and a project nobody has started has
82
+ * one that is not declared. So the rail's position is derived when the caller has
83
+ * not declared it: the first stage that has not been done, and the last stage
84
+ * when everything is done, which is the only position a finished rail can hold.
85
+ *
86
+ * The caller who has declared one gets it, and the caller who has declared two is
87
+ * a caller whose data contradicts itself, which the guard above refuses rather
88
+ * than a position this Block guesses at.
89
+ */
90
+ function railCurrent(stages) {
91
+ const declared = stages.findIndex((stage) => stage.state === 'current');
92
+ if (declared !== -1)
93
+ return declared;
94
+ const firstOpen = stages.findIndex((stage) => stage.state === 'upcoming');
95
+ return firstOpen === -1 ? stages.length - 1 : firstOpen;
96
+ }
97
+ /**
98
+ * A project in full: its name, where it stands, who owns it, when it runs, how far
99
+ * along it is, what it reads, and the stages it is on.
100
+ *
101
+ * **The reader here is looking for one project, so everything in this Block is
102
+ * scannable and the two things a reader reaches for are a state and an owner.**
103
+ * That is the fact the whole arrangement is built on, and it is why the state and
104
+ * the owner sit on the first line under the name rather than in a field list at
105
+ * the bottom: a reader who has opened a project to find out whether it is stuck
106
+ * has two questions, and neither of them is a figure. Scanability and keyboard
107
+ * reach outrank expression at this tier, and a state nobody can find in a glance
108
+ * is a state this Block has failed to ship whatever else it got right.
109
+ *
110
+ * **The state is `Status` and the figures are `Metric`, and neither was redrawn.**
111
+ * `Status` is a dot in one of five tones beside the caller's own words, and it
112
+ * owns the arrangement that matters here: the dot is `aria-hidden` and the words
113
+ * carry the state, so a reader who cannot separate `warning` from `destructive`
114
+ * still reads which is which, and a state is never colour alone. A hand-drawn dot
115
+ * beside a word in this Block would be a second implementation of that Component
116
+ * and the second one is the one that gets the `aria-hidden` wrong. `Metric` owns
117
+ * the arrangement a headline figure is read in, which puts the figure first and
118
+ * the name under it, and it owns the fact that a string figure is set in the mono
119
+ * face while a composed one is not. The one thing it cannot do is print a delta it
120
+ * has no unit for, and the cost of that is stated on `Project01Figure`.
121
+ *
122
+ * **The fill is `Progress` with `valueText`, and the reason is the seam rather
123
+ * than the bar.** A hand-drawn filled bar is a div with a width on it, and a div
124
+ * with a width is a picture of a value that no screen reader, no crawler and no
125
+ * print stylesheet can read, which is the exact failure `Progress` exists to close
126
+ * because it exposes the value, the minimum and the maximum through ARIA. The
127
+ * second half is why the words travel as a string: this Block is a server
128
+ * Component and `Progress` is a client one, so a callback handed down from here is
129
+ * a build error rather than a warning, and `Progress` therefore publishes
130
+ * `valueText` for exactly this case. The cost of composing it is real and is named
131
+ * here: `Progress` is a client Component, so a project with a fill is a client
132
+ * island and a caller with forty projects on one page is paying for forty. The
133
+ * answer is to leave `progress` off the projects that are not measured.
134
+ *
135
+ * **The stage list is `Steps`, because the rail is a Component and the three
136
+ * marks are already right.** The alternative was a hand-drawn list of discs and
137
+ * rules, and it is a second implementation of three things `Steps` has already
138
+ * settled: that the states differ by shape before they differ by colour, so a
139
+ * reader who cannot separate a filled disc from a ring is not being told two
140
+ * different things about two different stages; that exactly one step carries
141
+ * `aria-current`, because two current steps is a rail with two answers to where
142
+ * the reader is; and that the rule between the steps carries how far along they
143
+ * are, rather than a bar per step restating "done" once per stage and leaving the
144
+ * arithmetic to the reader. The cost is stated rather than hidden, and it is the
145
+ * rail's own limitation rather than this Block's: `Steps`'s qualifier is a string,
146
+ * and a stage's moment is a node, so the rail cannot hold a date. The moments are
147
+ * drawn beneath it as the definition list they are, and a caller whose stages are
148
+ * mostly dates wants `MilestoneTimeline01`, which is the Block built for a dated
149
+ * sequence.
150
+ *
151
+ * **The dates are the caller's and the sentence is the caller's, and this is the
152
+ * same rule the rest of this roster keeps arriving at from three directions.** The
153
+ * moments are passed to `RelativeTime` untouched, so the absolute reading a reader
154
+ * sees is the platform's own in the language they have, and `dateLabel` supplies
155
+ * the sentence beside it, which is the one string in the pair that is English by
156
+ * nature: it has a plural, it changes shape past a day, and every language words
157
+ * it differently. A Block that formatted the moment instead would ship one
158
+ * locale's format into every consumer's project, and a Block that wrote the
159
+ * sentence would ship English. The honest cost is a small one and it is named
160
+ * here: `dateLabel` is given the moment and not the role, so it cannot say whether
161
+ * a reading is the start of the span or the end of it, and the order is what
162
+ * carries that. A caller whose product names its two ends differently composes the
163
+ * two readings themselves, which is the same amount of work and one more prop.
164
+ *
165
+ * **It is a server Component.** No hook, no state, no client code of its own and
166
+ * no router. The only client code it can pull in is one `Progress` island on the
167
+ * project that asks for a fill, and the portrait is `Avatar`, whose only client
168
+ * work is measuring whether an image has loaded.
169
+ */
170
+ export function Project01({ name, summary, state, stateLabel, owner, startsAt, endsAt, dateLabel, figures, stages, actions, progress, progressLabel, layout = 'stacked', headingLevel = 'h2', className, }) {
171
+ /*
172
+ * The announced sentence for the bar, bound once after the guard below.
173
+ *
174
+ * The union above is what makes the pair complete, so by the time anything
175
+ * renders the function is there. The type cannot see that, because the check is
176
+ * on one arm of a union and the use is inside a ternary over `progress`, so a
177
+ * closure is bound here and the render reads one name. `labelProgress` never
178
+ * returns an empty string: the guard has already refused that case, and a second
179
+ * refusal inside the render would be the same diagnostic twice.
180
+ */
181
+ const labelProgress = (value) => {
182
+ if (progressLabel === undefined) {
183
+ throw new Error('Project01: reached the bar with no progressLabel, which the union above should have made ' +
184
+ 'impossible. The two are separate so that the diagnostic names the prop rather than the render.');
185
+ }
186
+ return progressLabel(value, name);
187
+ };
188
+ if (owner !== undefined && owner.href !== undefined && !owner.hrefLabel) {
189
+ throw new Error(`Project01: the owner of "${name}" declares an href with no hrefLabel, so the link would be ` +
190
+ 'announced by its destination alone. A person\'s name is a name, and the sentence saying that ' +
191
+ 'following the link is a thing you can do belongs to the caller.');
192
+ }
193
+ const currents = stages?.filter((stage) => stage.state === 'current').length ?? 0;
194
+ if (currents > 1) {
195
+ throw new Error(`Project01: the stages of "${name}" declare ${currents} current stages, and a rail has one ` +
196
+ 'position. Two current stages is a reader told they are in two places at once. Declare one, or ' +
197
+ 'leave the state to the order.');
198
+ }
199
+ for (const stage of stages ?? []) {
200
+ if (!stage.stateLabel) {
201
+ throw new Error(`Project01: the stage "${stage.id}" declares a state and no stateLabel, so the mark beside it ` +
202
+ 'would be a shape with no sentence, and a shape a reader can only see is a state nobody can act ' +
203
+ 'on. Pass the words your readers use for that position.');
204
+ }
205
+ }
206
+ const rail = (stages ?? []).map((stage) => ({
207
+ label: stage.name,
208
+ description: stage.stateLabel,
209
+ // The states are the caller's rather than the rail's whenever the caller
210
+ // declared a position, because a project that reached a stage out of band is
211
+ // real and a rail derived from the order would draw a claim the data
212
+ // contradicts. With no declared position the rail derives every mark, which is
213
+ // the arrangement that cannot disagree with itself.
214
+ ...(currents === 1 ? { state: RAIL_STATE[stage.state] } : null),
215
+ }));
216
+ const dated = (stages ?? []).filter((stage) => stage.at !== undefined);
217
+ const hasSpan = startsAt !== undefined || endsAt !== undefined;
218
+ const aside = (_jsxs("div", { "data-slot": "project-01-aside", className: "flex min-w-0 flex-col gap-6", children: [_jsxs("div", { "data-slot": "project-01-facts", className: "flex flex-wrap items-center gap-x-6 gap-y-3", children: [_jsx(Status, { tone: STATE_TONE[state], label: stateLabel(state) }), owner === undefined ? null : (_jsxs("span", { "data-slot": "project-01-owner", className: "flex min-w-0 items-center gap-2", children: [owner.avatar === undefined ? null : (_jsxs(Avatar, { className: "size-6", children: [owner.avatar.src === undefined ? null : (_jsx(AvatarImage, { src: owner.avatar.src, alt: "" })), _jsx(AvatarFallback, { className: "text-mono", children: initialsOf(owner.avatar.name) })] })), owner.href === undefined || owner.hrefLabel === undefined ? (_jsx("span", { "data-slot": "project-01-owner-name", className: "text-sm", children: owner.name })) : (_jsx(CtaLink, { href: owner.href, size: "sm", variant: "ghost", children: owner.hrefLabel }))] })), hasSpan ? (
219
+ /*
220
+ The two ends of the span, in the order the span runs, with no separator
221
+ between them. The gap is the separator and it is deliberate: a dash, a
222
+ comma or a "to" would be a word or a piece of punctuation this Block
223
+ chose, and the caller's `dateLabel` is the only thing on this line
224
+ allowed to say anything. `data-slot` names each end so a test and a
225
+ caller can find one of them, which is what a reader cannot do.
226
+ */
227
+ _jsxs("span", { "data-slot": "project-01-span", className: "text-muted-foreground flex flex-wrap items-baseline gap-x-3 text-sm", children: [startsAt === undefined ? null : (_jsx(RelativeTime, { "data-slot": "project-01-start", date: startsAt, relative: dateLabel?.(startsAt) })), endsAt === undefined ? null : (_jsx(RelativeTime, { "data-slot": "project-01-end", date: endsAt, relative: dateLabel?.(endsAt) }))] })) : null] }), actions === undefined ? null : (_jsx("div", { "data-slot": "project-01-actions", className: "flex flex-wrap items-center gap-2", children: actions }))] }));
228
+ const body = (_jsxs(_Fragment, { children: [progress === undefined ? null : (_jsx("div", { "data-slot": "project-01-progress", className: "flex flex-col gap-2", children: _jsx(Progress, { value: progress, valueText: labelProgress(progress) }) })), figures === undefined || figures.length === 0 ? null : (_jsx("div", { "data-slot": "project-01-figures", className: "grid gap-6 sm:grid-cols-2 lg:grid-cols-4", children: figures.map((figure) => (_jsx(Metric, { "data-slot": "project-01-figure", value: figure.value, label: figure.label, delta: figure.delta }, figure.label))) })), stages === undefined || stages.length === 0 ? null : (_jsxs("div", { "data-slot": "project-01-stages", className: "flex flex-col gap-6", children: [_jsx(Steps, { steps: rail, current: railCurrent(stages) }), dated.length === 0 ? null : (
229
+ /*
230
+ The moments, which the rail has no room for. See the JSDoc above: a
231
+ `Step`'s qualifier is a string, and a date is a node, so the two ends
232
+ of the same fact cannot both go in the rail. A definition list is the
233
+ honest shape for a set of names and their moments, and it is drawn
234
+ only when there is a moment to draw, because a list of nothing is a
235
+ gap the reader looks through.
236
+ */
237
+ _jsx("dl", { "data-slot": "project-01-dates", className: "grid gap-x-8 gap-y-2 sm:grid-cols-2", children: dated.map((stage) => (_jsxs("div", { "data-slot": "project-01-date", className: "flex items-baseline gap-3", children: [_jsx("dt", { className: "text-sm font-medium", children: stage.name }), _jsx("dd", { className: "text-muted-foreground text-sm", children: _jsx(RelativeTime, { date: stage.at }) })] }, stage.id))) }))] }))] }));
238
+ return (_jsxs(Section, { "data-slot": "project-01", className: cn(className), children: [_jsx(SectionHeading, { as: headingLevel, align: "left", title: name, description: summary, className: "mb-10" }), _jsx("div", { "data-slot": "project-01-body", "data-layout": layout, className: cn(
239
+ // The two layouts get one display each rather than a base and an
240
+ // override, because `flex` and `grid` are the same property and which
241
+ // one wins is a question about the order of the generated stylesheet
242
+ // rather than about the order of the class names here.
243
+ layout === 'split'
244
+ ? 'grid gap-10 lg:grid-cols-[minmax(0,3fr)_minmax(0,2fr)] lg:gap-14'
245
+ : 'flex flex-col gap-10'), children: layout === 'split' ? (_jsxs(_Fragment, { children: [_jsx("div", { "data-slot": "project-01-main", className: "flex min-w-0 flex-col gap-10", children: body }), aside] })) : (_jsxs(_Fragment, { children: [aside, body] })) })] }));
246
+ }
247
+ export default Project01;
@@ -0,0 +1,3 @@
1
+ export { ProjectDashboard01, default } from './project-dashboard.js';
2
+ export type { ProjectDashboard01Figure, ProjectDashboard01Span, ProjectDashboard01Panel, ProjectDashboard01Props, } from './project-dashboard.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blocks/project-dashboard-01/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIjE,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1 @@
1
+ export { ProjectDashboard01, default } from './project-dashboard.js';