@nanisoft/prism-ui 0.13.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (964) 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 +22 -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 +9 -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 +131 -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 +33 -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 +4 -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 +34 -1
  538. package/dist/blocks/site-footer/site-footer.d.ts.map +1 -1
  539. package/dist/blocks/site-footer/site-footer.js +24 -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/stack-grid-01/stack-grid.d.ts +13 -0
  551. package/dist/blocks/stack-grid-01/stack-grid.d.ts.map +1 -1
  552. package/dist/blocks/stack-grid-01/stack-grid.js +14 -1
  553. package/dist/blocks/story-01/index.d.ts +3 -0
  554. package/dist/blocks/story-01/index.d.ts.map +1 -0
  555. package/dist/blocks/story-01/index.js +1 -0
  556. package/dist/blocks/story-01/story.d.ts +153 -0
  557. package/dist/blocks/story-01/story.d.ts.map +1 -0
  558. package/dist/blocks/story-01/story.js +103 -0
  559. package/dist/blocks/summary-01/index.d.ts +3 -0
  560. package/dist/blocks/summary-01/index.d.ts.map +1 -0
  561. package/dist/blocks/summary-01/index.js +1 -0
  562. package/dist/blocks/summary-01/summary.d.ts +300 -0
  563. package/dist/blocks/summary-01/summary.d.ts.map +1 -0
  564. package/dist/blocks/summary-01/summary.js +174 -0
  565. package/dist/blocks/team-01/index.d.ts +3 -0
  566. package/dist/blocks/team-01/index.d.ts.map +1 -0
  567. package/dist/blocks/team-01/index.js +1 -0
  568. package/dist/blocks/team-01/team.d.ts +176 -0
  569. package/dist/blocks/team-01/team.d.ts.map +1 -0
  570. package/dist/blocks/team-01/team.js +117 -0
  571. package/dist/blocks/testimonial-01/index.d.ts +3 -0
  572. package/dist/blocks/testimonial-01/index.d.ts.map +1 -0
  573. package/dist/blocks/testimonial-01/index.js +1 -0
  574. package/dist/blocks/testimonial-01/testimonial.d.ts +173 -0
  575. package/dist/blocks/testimonial-01/testimonial.d.ts.map +1 -0
  576. package/dist/blocks/testimonial-01/testimonial.js +87 -0
  577. package/dist/blocks/todo-01/index.d.ts +3 -0
  578. package/dist/blocks/todo-01/index.d.ts.map +1 -0
  579. package/dist/blocks/todo-01/index.js +1 -0
  580. package/dist/blocks/todo-01/todo.d.ts +286 -0
  581. package/dist/blocks/todo-01/todo.d.ts.map +1 -0
  582. package/dist/blocks/todo-01/todo.js +149 -0
  583. package/dist/blocks/trend-01/index.d.ts +3 -0
  584. package/dist/blocks/trend-01/index.d.ts.map +1 -0
  585. package/dist/blocks/trend-01/index.js +1 -0
  586. package/dist/blocks/trend-01/trend.d.ts +184 -0
  587. package/dist/blocks/trend-01/trend.d.ts.map +1 -0
  588. package/dist/blocks/trend-01/trend.js +99 -0
  589. package/dist/blocks/trust-strip-01/index.d.ts +3 -0
  590. package/dist/blocks/trust-strip-01/index.d.ts.map +1 -0
  591. package/dist/blocks/trust-strip-01/index.js +1 -0
  592. package/dist/blocks/trust-strip-01/trust-strip-01.d.ts +139 -0
  593. package/dist/blocks/trust-strip-01/trust-strip-01.d.ts.map +1 -0
  594. package/dist/blocks/trust-strip-01/trust-strip-01.js +58 -0
  595. package/dist/blocks/two-factor-01/index.d.ts +3 -0
  596. package/dist/blocks/two-factor-01/index.d.ts.map +1 -0
  597. package/dist/blocks/two-factor-01/index.js +1 -0
  598. package/dist/blocks/two-factor-01/two-factor-01.d.ts +440 -0
  599. package/dist/blocks/two-factor-01/two-factor-01.d.ts.map +1 -0
  600. package/dist/blocks/two-factor-01/two-factor-01.js +273 -0
  601. package/dist/blocks/user-profile-01/index.d.ts +3 -0
  602. package/dist/blocks/user-profile-01/index.d.ts.map +1 -0
  603. package/dist/blocks/user-profile-01/index.js +1 -0
  604. package/dist/blocks/user-profile-01/user-profile-01.d.ts +258 -0
  605. package/dist/blocks/user-profile-01/user-profile-01.d.ts.map +1 -0
  606. package/dist/blocks/user-profile-01/user-profile-01.js +158 -0
  607. package/dist/blocks/verify-email-01/index.d.ts +3 -0
  608. package/dist/blocks/verify-email-01/index.d.ts.map +1 -0
  609. package/dist/blocks/verify-email-01/index.js +1 -0
  610. package/dist/blocks/verify-email-01/verify-email.d.ts +262 -0
  611. package/dist/blocks/verify-email-01/verify-email.d.ts.map +1 -0
  612. package/dist/blocks/verify-email-01/verify-email.js +190 -0
  613. package/dist/blocks/waitlist-01/index.d.ts +3 -0
  614. package/dist/blocks/waitlist-01/index.d.ts.map +1 -0
  615. package/dist/blocks/waitlist-01/index.js +1 -0
  616. package/dist/blocks/waitlist-01/waitlist.d.ts +254 -0
  617. package/dist/blocks/waitlist-01/waitlist.d.ts.map +1 -0
  618. package/dist/blocks/waitlist-01/waitlist.js +75 -0
  619. package/dist/catalog.d.ts.map +1 -1
  620. package/dist/catalog.js +1641 -1
  621. package/dist/components/index.d.ts +114 -0
  622. package/dist/components/index.d.ts.map +1 -1
  623. package/dist/components/index.js +134 -0
  624. package/dist/components/ui/accordion.d.ts.map +1 -1
  625. package/dist/components/ui/accordion.js +9 -2
  626. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  627. package/dist/components/ui/alert-dialog.js +22 -4
  628. package/dist/components/ui/announcement.d.ts +169 -0
  629. package/dist/components/ui/announcement.d.ts.map +1 -0
  630. package/dist/components/ui/announcement.js +123 -0
  631. package/dist/components/ui/avatar-group.d.ts +176 -0
  632. package/dist/components/ui/avatar-group.d.ts.map +1 -0
  633. package/dist/components/ui/avatar-group.js +135 -0
  634. package/dist/components/ui/billing-source.d.ts +293 -0
  635. package/dist/components/ui/billing-source.d.ts.map +1 -0
  636. package/dist/components/ui/billing-source.js +136 -0
  637. package/dist/components/ui/button.d.ts +16 -1
  638. package/dist/components/ui/button.d.ts.map +1 -1
  639. package/dist/components/ui/button.js +17 -2
  640. package/dist/components/ui/calendar.d.ts +9 -0
  641. package/dist/components/ui/calendar.d.ts.map +1 -1
  642. package/dist/components/ui/calendar.js +30 -2
  643. package/dist/components/ui/carousel.d.ts +7 -0
  644. package/dist/components/ui/carousel.d.ts.map +1 -1
  645. package/dist/components/ui/carousel.js +58 -1
  646. package/dist/components/ui/chart.d.ts +334 -0
  647. package/dist/components/ui/chart.d.ts.map +1 -0
  648. package/dist/components/ui/chart.js +369 -0
  649. package/dist/components/ui/checkbox.d.ts +10 -0
  650. package/dist/components/ui/checkbox.d.ts.map +1 -1
  651. package/dist/components/ui/checkbox.js +19 -1
  652. package/dist/components/ui/checklist.d.ts +262 -0
  653. package/dist/components/ui/checklist.d.ts.map +1 -0
  654. package/dist/components/ui/checklist.js +135 -0
  655. package/dist/components/ui/choice-card.d.ts +273 -0
  656. package/dist/components/ui/choice-card.d.ts.map +1 -0
  657. package/dist/components/ui/choice-card.js +138 -0
  658. package/dist/components/ui/code-block.d.ts +182 -0
  659. package/dist/components/ui/code-block.d.ts.map +1 -0
  660. package/dist/components/ui/code-block.js +108 -0
  661. package/dist/components/ui/cohort-grid.d.ts +210 -0
  662. package/dist/components/ui/cohort-grid.d.ts.map +1 -0
  663. package/dist/components/ui/cohort-grid.js +202 -0
  664. package/dist/components/ui/collapsible.d.ts +11 -0
  665. package/dist/components/ui/collapsible.d.ts.map +1 -1
  666. package/dist/components/ui/collapsible.js +13 -2
  667. package/dist/components/ui/combobox.d.ts +4 -1
  668. package/dist/components/ui/combobox.d.ts.map +1 -1
  669. package/dist/components/ui/combobox.js +20 -4
  670. package/dist/components/ui/command-palette.d.ts +11 -0
  671. package/dist/components/ui/command-palette.d.ts.map +1 -1
  672. package/dist/components/ui/command-palette.js +49 -3
  673. package/dist/components/ui/contribution-graph.d.ts +156 -0
  674. package/dist/components/ui/contribution-graph.d.ts.map +1 -0
  675. package/dist/components/ui/contribution-graph.js +170 -0
  676. package/dist/components/ui/creatable-combobox.d.ts +153 -0
  677. package/dist/components/ui/creatable-combobox.d.ts.map +1 -0
  678. package/dist/components/ui/creatable-combobox.js +285 -0
  679. package/dist/components/ui/data-toolbar.d.ts +133 -0
  680. package/dist/components/ui/data-toolbar.d.ts.map +1 -0
  681. package/dist/components/ui/data-toolbar.js +67 -0
  682. package/dist/components/ui/date-picker.d.ts.map +1 -1
  683. package/dist/components/ui/date-picker.js +9 -1
  684. package/dist/components/ui/diagram.d.ts +38 -7
  685. package/dist/components/ui/diagram.d.ts.map +1 -1
  686. package/dist/components/ui/diagram.js +134 -52
  687. package/dist/components/ui/dialog.d.ts +31 -2
  688. package/dist/components/ui/dialog.d.ts.map +1 -1
  689. package/dist/components/ui/dialog.js +40 -6
  690. package/dist/components/ui/drawer.d.ts +270 -0
  691. package/dist/components/ui/drawer.d.ts.map +1 -0
  692. package/dist/components/ui/drawer.js +241 -0
  693. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  694. package/dist/components/ui/dropdown-menu.js +6 -1
  695. package/dist/components/ui/dropzone.d.ts +147 -0
  696. package/dist/components/ui/dropzone.d.ts.map +1 -0
  697. package/dist/components/ui/dropzone.js +141 -0
  698. package/dist/components/ui/emoji-picker.d.ts +328 -0
  699. package/dist/components/ui/emoji-picker.d.ts.map +1 -0
  700. package/dist/components/ui/emoji-picker.js +278 -0
  701. package/dist/components/ui/fact-list.d.ts +17 -0
  702. package/dist/components/ui/fact-list.d.ts.map +1 -1
  703. package/dist/components/ui/fact-list.js +18 -1
  704. package/dist/components/ui/file-upload.d.ts +152 -0
  705. package/dist/components/ui/file-upload.d.ts.map +1 -0
  706. package/dist/components/ui/file-upload.js +101 -0
  707. package/dist/components/ui/filter-panel.d.ts +164 -0
  708. package/dist/components/ui/filter-panel.d.ts.map +1 -0
  709. package/dist/components/ui/filter-panel.js +91 -0
  710. package/dist/components/ui/form-dialog.d.ts +257 -0
  711. package/dist/components/ui/form-dialog.d.ts.map +1 -0
  712. package/dist/components/ui/form-dialog.js +176 -0
  713. package/dist/components/ui/form-wizard.d.ts +251 -0
  714. package/dist/components/ui/form-wizard.d.ts.map +1 -0
  715. package/dist/components/ui/form-wizard.js +151 -0
  716. package/dist/components/ui/image-list-field.d.ts +232 -0
  717. package/dist/components/ui/image-list-field.d.ts.map +1 -0
  718. package/dist/components/ui/image-list-field.js +168 -0
  719. package/dist/components/ui/image-zoom.d.ts +164 -0
  720. package/dist/components/ui/image-zoom.d.ts.map +1 -0
  721. package/dist/components/ui/image-zoom.js +169 -0
  722. package/dist/components/ui/intensity-grid.d.ts +270 -0
  723. package/dist/components/ui/intensity-grid.d.ts.map +1 -0
  724. package/dist/components/ui/intensity-grid.js +211 -0
  725. package/dist/components/ui/lifecycle-button.d.ts +276 -0
  726. package/dist/components/ui/lifecycle-button.d.ts.map +1 -0
  727. package/dist/components/ui/lifecycle-button.js +144 -0
  728. package/dist/components/ui/lightbox.d.ts +165 -0
  729. package/dist/components/ui/lightbox.d.ts.map +1 -0
  730. package/dist/components/ui/lightbox.js +130 -0
  731. package/dist/components/ui/list-panel.d.ts +288 -0
  732. package/dist/components/ui/list-panel.d.ts.map +1 -0
  733. package/dist/components/ui/list-panel.js +139 -0
  734. package/dist/components/ui/mega-menu.d.ts +244 -0
  735. package/dist/components/ui/mega-menu.d.ts.map +1 -0
  736. package/dist/components/ui/mega-menu.js +97 -0
  737. package/dist/components/ui/menubar.d.ts +9 -0
  738. package/dist/components/ui/menubar.d.ts.map +1 -1
  739. package/dist/components/ui/menubar.js +10 -1
  740. package/dist/components/ui/metric.d.ts +123 -0
  741. package/dist/components/ui/metric.d.ts.map +1 -0
  742. package/dist/components/ui/metric.js +68 -0
  743. package/dist/components/ui/mini-calendar.d.ts +143 -0
  744. package/dist/components/ui/mini-calendar.d.ts.map +1 -0
  745. package/dist/components/ui/mini-calendar.js +261 -0
  746. package/dist/components/ui/mode-toggle.d.ts +102 -0
  747. package/dist/components/ui/mode-toggle.d.ts.map +1 -0
  748. package/dist/components/ui/mode-toggle.js +83 -0
  749. package/dist/components/ui/money-field.d.ts +200 -0
  750. package/dist/components/ui/money-field.d.ts.map +1 -0
  751. package/dist/components/ui/money-field.js +215 -0
  752. package/dist/components/ui/multi-combobox.d.ts +181 -0
  753. package/dist/components/ui/multi-combobox.d.ts.map +1 -0
  754. package/dist/components/ui/multi-combobox.js +297 -0
  755. package/dist/components/ui/native-select.d.ts.map +1 -1
  756. package/dist/components/ui/native-select.js +8 -1
  757. package/dist/components/ui/navigation-menu.d.ts +7 -0
  758. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  759. package/dist/components/ui/navigation-menu.js +8 -1
  760. package/dist/components/ui/nested-tabs.d.ts +188 -0
  761. package/dist/components/ui/nested-tabs.d.ts.map +1 -0
  762. package/dist/components/ui/nested-tabs.js +75 -0
  763. package/dist/components/ui/number-field.d.ts +40 -7
  764. package/dist/components/ui/number-field.d.ts.map +1 -1
  765. package/dist/components/ui/number-field.js +37 -7
  766. package/dist/components/ui/overflow-actions.d.ts +169 -0
  767. package/dist/components/ui/overflow-actions.d.ts.map +1 -0
  768. package/dist/components/ui/overflow-actions.js +266 -0
  769. package/dist/components/ui/pack-swatch.d.ts +177 -0
  770. package/dist/components/ui/pack-swatch.d.ts.map +1 -0
  771. package/dist/components/ui/pack-swatch.js +117 -0
  772. package/dist/components/ui/pack-switcher.d.ts +221 -0
  773. package/dist/components/ui/pack-switcher.d.ts.map +1 -0
  774. package/dist/components/ui/pack-switcher.js +94 -0
  775. package/dist/components/ui/pagination.d.ts +22 -0
  776. package/dist/components/ui/pagination.d.ts.map +1 -1
  777. package/dist/components/ui/pagination.js +23 -1
  778. package/dist/components/ui/password-field.d.ts +122 -0
  779. package/dist/components/ui/password-field.d.ts.map +1 -0
  780. package/dist/components/ui/password-field.js +69 -0
  781. package/dist/components/ui/pill.d.ts +172 -0
  782. package/dist/components/ui/pill.d.ts.map +1 -0
  783. package/dist/components/ui/pill.js +102 -0
  784. package/dist/components/ui/platform-modifier-key.d.ts +129 -0
  785. package/dist/components/ui/platform-modifier-key.d.ts.map +1 -0
  786. package/dist/components/ui/platform-modifier-key.js +125 -0
  787. package/dist/components/ui/popover.d.ts.map +1 -1
  788. package/dist/components/ui/popover.js +8 -1
  789. package/dist/components/ui/price.d.ts +144 -0
  790. package/dist/components/ui/price.d.ts.map +1 -0
  791. package/dist/components/ui/price.js +107 -0
  792. package/dist/components/ui/progress.d.ts +55 -1
  793. package/dist/components/ui/progress.d.ts.map +1 -1
  794. package/dist/components/ui/progress.js +110 -2
  795. package/dist/components/ui/prompt-composer.d.ts +302 -0
  796. package/dist/components/ui/prompt-composer.d.ts.map +1 -0
  797. package/dist/components/ui/prompt-composer.js +145 -0
  798. package/dist/components/ui/proportion-list.d.ts +188 -0
  799. package/dist/components/ui/proportion-list.d.ts.map +1 -0
  800. package/dist/components/ui/proportion-list.js +134 -0
  801. package/dist/components/ui/prose.d.ts +34 -0
  802. package/dist/components/ui/prose.d.ts.map +1 -1
  803. package/dist/components/ui/prose.js +41 -1
  804. package/dist/components/ui/pulse-graph.d.ts +36 -4
  805. package/dist/components/ui/pulse-graph.d.ts.map +1 -1
  806. package/dist/components/ui/pulse-graph.js +174 -60
  807. package/dist/components/ui/radio-group.d.ts +7 -0
  808. package/dist/components/ui/radio-group.d.ts.map +1 -1
  809. package/dist/components/ui/radio-group.js +8 -1
  810. package/dist/components/ui/range-field.d.ts +158 -0
  811. package/dist/components/ui/range-field.d.ts.map +1 -0
  812. package/dist/components/ui/range-field.js +208 -0
  813. package/dist/components/ui/relative-time.d.ts +116 -0
  814. package/dist/components/ui/relative-time.d.ts.map +1 -0
  815. package/dist/components/ui/relative-time.js +67 -0
  816. package/dist/components/ui/reorderable-list.d.ts +262 -0
  817. package/dist/components/ui/reorderable-list.d.ts.map +1 -0
  818. package/dist/components/ui/reorderable-list.js +325 -0
  819. package/dist/components/ui/repeatable-rows.d.ts +241 -0
  820. package/dist/components/ui/repeatable-rows.d.ts.map +1 -0
  821. package/dist/components/ui/repeatable-rows.js +221 -0
  822. package/dist/components/ui/repo-stars.d.ts +165 -0
  823. package/dist/components/ui/repo-stars.d.ts.map +1 -0
  824. package/dist/components/ui/repo-stars.js +92 -0
  825. package/dist/components/ui/resizable.d.ts +24 -0
  826. package/dist/components/ui/resizable.d.ts.map +1 -1
  827. package/dist/components/ui/resizable.js +96 -4
  828. package/dist/components/ui/search-dialog.d.ts +40 -5
  829. package/dist/components/ui/search-dialog.d.ts.map +1 -1
  830. package/dist/components/ui/search-dialog.js +94 -16
  831. package/dist/components/ui/search-field.d.ts +159 -0
  832. package/dist/components/ui/search-field.d.ts.map +1 -0
  833. package/dist/components/ui/search-field.js +98 -0
  834. package/dist/components/ui/section.d.ts +110 -1
  835. package/dist/components/ui/section.d.ts.map +1 -1
  836. package/dist/components/ui/section.js +111 -3
  837. package/dist/components/ui/select.d.ts.map +1 -1
  838. package/dist/components/ui/select.js +9 -1
  839. package/dist/components/ui/selection-toolbar.d.ts +166 -0
  840. package/dist/components/ui/selection-toolbar.d.ts.map +1 -0
  841. package/dist/components/ui/selection-toolbar.js +139 -0
  842. package/dist/components/ui/sidebar.d.ts +29 -0
  843. package/dist/components/ui/sidebar.d.ts.map +1 -1
  844. package/dist/components/ui/sidebar.js +35 -2
  845. package/dist/components/ui/signal-field.d.ts.map +1 -1
  846. package/dist/components/ui/signal-field.js +1 -1
  847. package/dist/components/ui/slider.d.ts +7 -0
  848. package/dist/components/ui/slider.d.ts.map +1 -1
  849. package/dist/components/ui/slider.js +32 -1
  850. package/dist/components/ui/sparkline.d.ts +117 -0
  851. package/dist/components/ui/sparkline.d.ts.map +1 -0
  852. package/dist/components/ui/sparkline.js +113 -0
  853. package/dist/components/ui/spinner.d.ts.map +1 -1
  854. package/dist/components/ui/spinner.js +13 -0
  855. package/dist/components/ui/split-button.d.ts +207 -0
  856. package/dist/components/ui/split-button.d.ts.map +1 -0
  857. package/dist/components/ui/split-button.js +75 -0
  858. package/dist/components/ui/stateful-table.d.ts +345 -0
  859. package/dist/components/ui/stateful-table.d.ts.map +1 -0
  860. package/dist/components/ui/stateful-table.js +169 -0
  861. package/dist/components/ui/status.d.ts +99 -0
  862. package/dist/components/ui/status.d.ts.map +1 -0
  863. package/dist/components/ui/status.js +63 -0
  864. package/dist/components/ui/stepper.d.ts +155 -0
  865. package/dist/components/ui/stepper.d.ts.map +1 -0
  866. package/dist/components/ui/stepper.js +83 -0
  867. package/dist/components/ui/steps.d.ts +141 -0
  868. package/dist/components/ui/steps.d.ts.map +1 -0
  869. package/dist/components/ui/steps.js +128 -0
  870. package/dist/components/ui/switch.d.ts +8 -0
  871. package/dist/components/ui/switch.d.ts.map +1 -1
  872. package/dist/components/ui/switch.js +12 -1
  873. package/dist/components/ui/tabs.d.ts +21 -2
  874. package/dist/components/ui/tabs.d.ts.map +1 -1
  875. package/dist/components/ui/tabs.js +23 -4
  876. package/dist/components/ui/tag-group.d.ts +154 -0
  877. package/dist/components/ui/tag-group.d.ts.map +1 -0
  878. package/dist/components/ui/tag-group.js +111 -0
  879. package/dist/components/ui/task-progress.d.ts +149 -0
  880. package/dist/components/ui/task-progress.d.ts.map +1 -0
  881. package/dist/components/ui/task-progress.js +110 -0
  882. package/dist/components/ui/text-format-toolbar.d.ts +211 -0
  883. package/dist/components/ui/text-format-toolbar.d.ts.map +1 -0
  884. package/dist/components/ui/text-format-toolbar.js +186 -0
  885. package/dist/components/ui/timeline.d.ts.map +1 -1
  886. package/dist/components/ui/timeline.js +10 -1
  887. package/dist/components/ui/toast.d.ts +32 -10
  888. package/dist/components/ui/toast.d.ts.map +1 -1
  889. package/dist/components/ui/toast.js +150 -47
  890. package/dist/components/ui/toggle-group.d.ts +14 -5
  891. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  892. package/dist/components/ui/toggle-group.js +15 -1
  893. package/dist/components/ui/toggle.d.ts.map +1 -1
  894. package/dist/components/ui/toggle.js +9 -1
  895. package/dist/components/ui/tree.d.ts +8 -0
  896. package/dist/components/ui/tree.d.ts.map +1 -1
  897. package/dist/components/ui/tree.js +92 -13
  898. package/dist/components/ui/video-player.d.ts +236 -0
  899. package/dist/components/ui/video-player.d.ts.map +1 -0
  900. package/dist/components/ui/video-player.js +72 -0
  901. package/dist/fonts/inter-latin-400-italic.woff2 +0 -0
  902. package/dist/index.d.ts +112 -0
  903. package/dist/index.d.ts.map +1 -1
  904. package/dist/index.js +72 -0
  905. package/dist/lib/figure.d.ts +149 -0
  906. package/dist/lib/figure.d.ts.map +1 -0
  907. package/dist/lib/figure.js +242 -0
  908. package/dist/lib/utils.d.ts +29 -0
  909. package/dist/lib/utils.d.ts.map +1 -1
  910. package/dist/lib/utils.js +35 -0
  911. package/dist/live/index.d.ts +10 -3
  912. package/dist/live/index.d.ts.map +1 -1
  913. package/dist/live/index.js +12 -3
  914. package/dist/live/run-stream-01/run-stream.d.ts.map +1 -1
  915. package/dist/live/run-stream-01/run-stream.js +6 -5
  916. package/dist/live/tool-ledger-01/index.d.ts +3 -0
  917. package/dist/live/tool-ledger-01/index.d.ts.map +1 -0
  918. package/dist/live/tool-ledger-01/index.js +1 -0
  919. package/dist/live/tool-ledger-01/tool-ledger.d.ts +348 -0
  920. package/dist/live/tool-ledger-01/tool-ledger.d.ts.map +1 -0
  921. package/dist/live/tool-ledger-01/tool-ledger.js +245 -0
  922. package/dist/pages/about-page/index.d.ts +306 -0
  923. package/dist/pages/about-page/index.d.ts.map +1 -0
  924. package/dist/pages/about-page/index.js +161 -0
  925. package/dist/pages/blog-post-page/index.d.ts +36 -15
  926. package/dist/pages/blog-post-page/index.d.ts.map +1 -1
  927. package/dist/pages/blog-post-page/index.js +35 -10
  928. package/dist/pages/careers-page/index.d.ts +288 -0
  929. package/dist/pages/careers-page/index.d.ts.map +1 -0
  930. package/dist/pages/careers-page/index.js +182 -0
  931. package/dist/pages/changelog-page/index.d.ts +255 -0
  932. package/dist/pages/changelog-page/index.d.ts.map +1 -0
  933. package/dist/pages/changelog-page/index.js +86 -0
  934. package/dist/pages/contact-page/index.d.ts +261 -0
  935. package/dist/pages/contact-page/index.d.ts.map +1 -0
  936. package/dist/pages/contact-page/index.js +136 -0
  937. package/dist/pages/docs-shell/docs-shell.d.ts +126 -16
  938. package/dist/pages/docs-shell/docs-shell.d.ts.map +1 -1
  939. package/dist/pages/docs-shell/docs-shell.js +229 -28
  940. package/dist/pages/error-page/index.d.ts +188 -0
  941. package/dist/pages/error-page/index.d.ts.map +1 -0
  942. package/dist/pages/error-page/index.js +102 -0
  943. package/dist/pages/index.d.ts +10 -0
  944. package/dist/pages/index.d.ts.map +1 -1
  945. package/dist/pages/index.js +14 -0
  946. package/dist/pages/legal-page/index.d.ts +194 -0
  947. package/dist/pages/legal-page/index.d.ts.map +1 -0
  948. package/dist/pages/legal-page/index.js +99 -0
  949. package/dist/pages/not-found-page/index.d.ts.map +1 -1
  950. package/dist/pages/not-found-page/index.js +4 -3
  951. package/dist/pages/onboarding-page/index.d.ts +199 -0
  952. package/dist/pages/onboarding-page/index.d.ts.map +1 -0
  953. package/dist/pages/onboarding-page/index.js +71 -0
  954. package/dist/pages/pricing-page/index.d.ts +286 -0
  955. package/dist/pages/pricing-page/index.d.ts.map +1 -0
  956. package/dist/pages/pricing-page/index.js +139 -0
  957. package/dist/pages/search-page/index.d.ts +305 -0
  958. package/dist/pages/search-page/index.d.ts.map +1 -0
  959. package/dist/pages/search-page/index.js +142 -0
  960. package/dist/pages/status-page/index.d.ts +366 -0
  961. package/dist/pages/status-page/index.d.ts.map +1 -0
  962. package/dist/pages/status-page/index.js +136 -0
  963. package/dist/styles.css +1105 -62
  964. package/package.json +9 -3
@@ -0,0 +1,211 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../../lib/utils.js';
3
+ /**
4
+ * The fill each step is drawn in, from the contract's roles and no other.
5
+ *
6
+ * The same five entries `ContributionGraph` draws from, spelled here because that
7
+ * module keeps its maps to itself, and the honest cost is the one it states: a
8
+ * change to the intensity scale is two edits rather than one. What keeps the
9
+ * restatement from drifting is the annotation, because both maps are typed
10
+ * `Record<IntensityLevel, string>`, so a sixth step would be a type error at the
11
+ * map rather than a cell that silently falls through to no ink.
12
+ *
13
+ * Step zero is the `muted` surface rather than a pale primary, so "nothing here" is
14
+ * visibly a different thing from "a little here". The other four are the same
15
+ * `primary` role at four alpha steps, which is one token at four strengths: a ramp
16
+ * of five authored colours would have been a second set of colour tokens for a
17
+ * scale the alpha modifier already expresses, and it would not have moved with a
18
+ * scoped pack boundary the way an alpha step on one semantic role does.
19
+ */
20
+ const LEVEL_FILL = {
21
+ 0: 'bg-muted',
22
+ 1: 'bg-primary/25',
23
+ 2: 'bg-primary/50',
24
+ 3: 'bg-primary/75',
25
+ 4: 'bg-primary',
26
+ };
27
+ /**
28
+ * A cell's share of the largest value drawn, as a percentage of it.
29
+ *
30
+ * A non-finite value is zero rather than `NaN`, because a value that went missing
31
+ * is data that is wrong and not a value that is small, and letting it into the
32
+ * maximum would stretch the scale around every other cell in the grid. It is drawn
33
+ * as the empty cell and named like any other, so a bad reading looks like nothing
34
+ * rather than like everything, which is the one way this Component can be wrong
35
+ * without saying so.
36
+ */
37
+ function shareOf(value, max) {
38
+ if (!Number.isFinite(value))
39
+ return 0;
40
+ if (max <= 0)
41
+ return 0;
42
+ return (value / max) * 100;
43
+ }
44
+ /**
45
+ * A matrix of two categorical axes, drawn as cells under one sequential scale.
46
+ *
47
+ * **Neither axis is a scale, and that is the whole difference from `Chart`.** A
48
+ * chart places a mark at a position on a continuous domain and a cell has no
49
+ * position: "Kiln Wharf in March" is not half way between anything, so there is no
50
+ * horizontal scale to draw and no vertical one to read, and `Chart`'s `mark` prop
51
+ * cannot type it because a mark is a way of drawing a position. So this Component
52
+ * draws no axis, ticks nothing, and derives its scale from the values rather than
53
+ * from a range the caller states. Everything below is a consequence of that rather
54
+ * than a preference.
55
+ *
56
+ * **What it is for, and how it differs from `ContributionGraph`.** Both draw a grid
57
+ * of cells filled by intensity, and the resemblance is close enough to be worth
58
+ * being exact about. A ContributionGraph is a calendar: its rows are the seven
59
+ * days, its columns are the weeks, and it works both out from the dates it was
60
+ * given, so a caller passes days and gets a window. This Component is two sets of
61
+ * categories the caller already holds, and it has no calendar, no window, no window
62
+ * arithmetic and no date key. Four differences follow, each from that one:
63
+ *
64
+ * 1. **The axes are named by the caller.** A month and an estate are not seven
65
+ * days and a week, and there is no rule here that generates them.
66
+ * 2. **A pair with no cell is legal and is the common case.** A calendar has a
67
+ * cell for every day in its window, so an unreported day is the interesting
68
+ * state there. A matrix owes no completeness, so an absent pair is ordinary
69
+ * and draws as the empty cell.
70
+ * 3. **The drawing is symmetric and the reading is not.** A calendar is read by
71
+ * scanning a column, which is why its caller may choose which day each row
72
+ * starts on. Here the row is the header and the column is the reading order,
73
+ * so there is no `weekStartsOn` to pass because there is no week to start.
74
+ * 4. **The bands are the caller's and a calendar's are not.** `ContributionGraph`
75
+ * grades against the largest count in the window because a count of commits is
76
+ * a count of commits. Here the measure is unknown to Prism, so the bands are
77
+ * required, and that is the difference a reader of this file is most likely to
78
+ * get wrong.
79
+ *
80
+ * **The scale is derived, a band's meaning is not, and the gap between them is the
81
+ * honest cost.** Prism works out the largest value in the grid and reads every
82
+ * cell as a share of it, so the caller passes magnitudes and divides nothing. It
83
+ * cannot do the other half: it cannot see that forty findings on one estate is a
84
+ * crisis and the same forty on another is Tuesday, so `bands` is required and its
85
+ * entries are the caller's judgement about what each band means. **Prism cannot
86
+ * verify that the caller's scale is sequential.** A caller who passes a diverging
87
+ * scale, a categorical one, or values normalised into a range of their own
88
+ * invention gets a grid that reads as intensity and is not one, and nothing in the
89
+ * rendered output says so: there is no key, because a key would assert an ordering
90
+ * this Component has no way to check. The caller who wants one composes it from the
91
+ * same `bands` array the cells were graded with, which is why that array is data
92
+ * and not a callback.
93
+ *
94
+ * **The shade is redundant and never the only channel, and there is no printed
95
+ * number.** Every cell is a picture of a measurement and is named by `cellLabel`, so
96
+ * the value is spoken in the caller's own words. What Prism refuses is the other
97
+ * half of that sentence: a printed value in every cell. A matrix of forty cells
98
+ * with a number in each is a table with shading on it, and the shading is the
99
+ * channel the reader cannot scan, so the numbers would be covering the reason the
100
+ * figure exists. The cost is real, and it is the reason `CohortGrid` is a different
101
+ * Item: a reader who cannot rank five shades has no route to the value here at all,
102
+ * which is the right trade for a matrix scanned at a glance and the wrong one for a
103
+ * retention table read cell by cell.
104
+ *
105
+ * **A value outside the scale is clamped and counted, not thrown.** A cell above
106
+ * the largest value cannot exist, since the largest value sets the top, and a value
107
+ * below zero is a diverging measure rather than an intensity. Both are drawn at the
108
+ * floor or the ceiling of the scale and counted on the element as `data-clamped`,
109
+ * which is the arrangement `Chart` uses for a value past the end of its axis, and
110
+ * the count is what makes an under-specified scale visible to the caller who wrote
111
+ * it. `table` is the Component for a measure whose middle means something.
112
+ *
113
+ * **Four inputs throw, and a drawn lie is worse than a refusal.** No rows, no
114
+ * columns or no cells is a frame carrying no claim, a cell naming an axis that was
115
+ * not given is a measurement with nowhere to go, and two cells in one place is one
116
+ * measurement drawn over another with the earlier one left in the data and out of
117
+ * the picture. Each is a bug in the caller's code rather than a state a reader
118
+ * reaches, and each is reported in a console where the caller will see it. A cell
119
+ * whose value is not a finite number is the exception and is deliberately not one of
120
+ * the four: it draws as the empty cell, because a cell that says nothing and a cell
121
+ * whose number went missing look the same and no gate can tell them apart.
122
+ *
123
+ * **Nothing here moves, and the reason is the shade.** A hover state on a cell has
124
+ * to change something about the cell, and everything available is a change to the
125
+ * value: a wash behind it changes what the fill composites against, which is the
126
+ * measurement, and a border on one cell changes its neighbours' widths by a pixel.
127
+ * So the figure is static by construction rather than by restraint, which is also
128
+ * the cheapest way to satisfy a motion law that permits only state feedback.
129
+ *
130
+ * **It is a server Component, and `cellLabel` does not make it a client one.** A
131
+ * function prop is only a problem when it has to cross a boundary to be called, and
132
+ * this one never does: it is called during the render that received it, on the
133
+ * server, by this Component. That is the arrangement `ContributionGraph` ships and
134
+ * the reason its Demo is a server module too. The one consequence a caller has to
135
+ * know is that the function has to be written where the grid is rendered, so a grid
136
+ * inside an interactive panel must be composed inside that panel's own client tree,
137
+ * which is the price of a matrix that costs no client code at all.
138
+ */
139
+ function IntensityGrid({ className, rows, columns, cells, label, cellLabel, bands, ...props }) {
140
+ if (rows.length === 0 || columns.length === 0 || cells.length === 0) {
141
+ throw new Error('IntensityGrid: one of rows, columns or cells is empty, so the figure is a frame with nothing in ' +
142
+ 'it. A matrix needs at least one row, at least one column and one cell, and its axes are the ' +
143
+ "caller own categories rather than anything this Component generates. Pass the measurements you " +
144
+ 'have; an axis with nothing in it is a query that did not come back.');
145
+ }
146
+ const placed = cells.map((cell) => {
147
+ const row = rows.find((entry) => entry.key === cell.rowKey);
148
+ const column = columns.find((entry) => entry.key === cell.columnKey);
149
+ if (row === undefined || column === undefined) {
150
+ throw new Error(`IntensityGrid: a cell names the row '${cell.rowKey}' and the column '${cell.columnKey}', and ` +
151
+ 'one of them is not among the rows and columns you gave. A cell with nowhere to sit is a ' +
152
+ 'measurement nobody would ever see, so this stops rather than dropping it and leaving you to ' +
153
+ 'believe the whole matrix was drawn.');
154
+ }
155
+ return { cell, row, column };
156
+ });
157
+ /*
158
+ * Nested rather than keyed on a joined string, because a caller's keys are its
159
+ * own and a row key of `Kiln Wharf` beside a column key of `March` collides with
160
+ * a row of `Kiln` beside a column of `Wharf March`. A matrix is a table keyed on
161
+ * two columns, and keying it on one string is a bug waiting for the first caller
162
+ * whose keys contain spaces.
163
+ */
164
+ const byRow = new Map();
165
+ for (const entry of placed) {
166
+ const forRow = byRow.get(entry.cell.rowKey);
167
+ if (forRow === undefined) {
168
+ byRow.set(entry.cell.rowKey, new Map([[entry.cell.columnKey, entry]]));
169
+ continue;
170
+ }
171
+ if (forRow.has(entry.cell.columnKey)) {
172
+ throw new Error(`IntensityGrid: the row '${entry.cell.rowKey}' and the column '${entry.cell.columnKey}' have ` +
173
+ 'more than one cell. A matrix has one measurement per pair, and drawing the last of them would ' +
174
+ 'leave the earlier one in the data and out of the picture with nothing saying so. Combine them ' +
175
+ 'into the one cell that pair should carry.');
176
+ }
177
+ forRow.set(entry.cell.columnKey, entry);
178
+ }
179
+ const max = placed.reduce((tallest, entry) => Number.isFinite(entry.cell.value) && entry.cell.value > tallest ? entry.cell.value : tallest, 0);
180
+ return (_jsxs("figure", { "data-slot": "intensity-grid", "data-rows": rows.length, "data-columns": columns.length, "aria-label": label, className: cn('flex w-full flex-col gap-1.5', className), ...props, children: [_jsxs("div", { "data-slot": "intensity-axis", className: "flex items-end gap-2", children: [_jsx("span", { "data-slot": "intensity-gutter", "aria-hidden": "true", className: "w-32 shrink-0" }), columns.map((column) => (_jsx("span", { "data-slot": "intensity-column", className: "text-muted-foreground min-w-0 flex-1 truncate text-center text-xs", children: column.label }, column.key)))] }), rows.map((row) => (_jsxs("div", { "data-slot": "intensity-row", className: "flex items-center gap-2", children: [_jsx("span", { "data-slot": "intensity-row-label", className: "w-32 shrink-0 truncate text-xs font-medium", children: row.label }), columns.map((column) => {
181
+ const found = byRow.get(row.key)?.get(column.key);
182
+ if (found === undefined) {
183
+ /*
184
+ A pair with no cell. Hidden from assistive technology because there
185
+ is nothing to name: an absence is not a zero and not a row, and the
186
+ same rule `ContributionGraph` applies to a day nobody reported.
187
+ */
188
+ return (_jsx("span", { "data-slot": "intensity-cell", "data-row": row.key, "data-column": column.key, "data-state": "absent", "aria-hidden": "true", className: cn('h-6 min-w-0 flex-1 rounded-sm', LEVEL_FILL[0]) }, column.key));
189
+ }
190
+ const { cell } = found;
191
+ const share = shareOf(cell.value, max);
192
+ const held = Math.min(100, Math.max(0, share));
193
+ // Read in the order the bands were given, and the first one containing
194
+ // the share wins, so a caller with an overlapping scale says which band
195
+ // takes precedence by saying it first.
196
+ const band = bands.find((entry) => held >= entry.from && held <= entry.to);
197
+ const level = band?.level ?? 0;
198
+ return (_jsx("span", { "data-slot": "intensity-cell", "data-row": row.key, "data-column": column.key, "data-level": level, "data-state": band === undefined ? 'ungraded' : undefined, "data-clamped": held === share ? undefined : 'true',
199
+ /*
200
+ A cell is a picture of a measurement rather than text, so it takes
201
+ the image role and the caller's own sentence for it. That name is
202
+ the redundant channel over the shade. An ungraded cell keeps its
203
+ name, so a reader hears the number and sees the absence, which is
204
+ the honest pair: the caller's scale does not cover this cell and
205
+ the drawing says so rather than substituting a step that means
206
+ something else.
207
+ */
208
+ role: "img", "aria-label": cellLabel({ cell, row, column }), className: cn('h-6 min-w-0 flex-1 rounded-sm', LEVEL_FILL[level]) }, column.key));
209
+ })] }, row.key)))] }));
210
+ }
211
+ export { IntensityGrid };
@@ -0,0 +1,276 @@
1
+ import type { ReactNode } from 'react';
2
+ /**
3
+ * The four points a button's work can be at.
4
+ *
5
+ * A closed set of four, and the fourth is the one that makes it a lifecycle. A
6
+ * control that is idle, one that is working and one that has finished are three
7
+ * states, and every system that stops at three has folded success and failure
8
+ * into a single "done" and then had to choose which of the two words to print. The
9
+ * answer is a flag, and a flag that says `done` when the request was refused tells
10
+ * a reader their work was saved, which is the most expensive sentence a control
11
+ * can get wrong.
12
+ */
13
+ export type LifecycleButtonPhase = 'idle' | 'in-flight' | 'succeeded' | 'failed';
14
+ /**
15
+ * Where the work is, as a value the caller holds.
16
+ *
17
+ * A union rather than a `loading` boolean beside an `error` message, and the reason
18
+ * is the pair. A boolean has two answers and this has four, and the two answers
19
+ * nobody can express with a boolean are the two that matter: a request that
20
+ * failed, and a request whose position is known. A caller holding `loading` plus a
21
+ * string has to encode four states across two props that do not know about each
22
+ * other, and every one of those four combinations has to be drawn.
23
+ */
24
+ export type LifecycleButtonState =
25
+ /** Nothing has been asked. The control is the caller's primary action. */
26
+ {
27
+ phase: 'idle';
28
+ }
29
+ /**
30
+ * The work is running.
31
+ *
32
+ * `progress` is a fraction between zero and one and it is a real measurement, not
33
+ * a timer: a caller that has a byte count, a row count or a completed-step count
34
+ * passes the ratio and the reader is told the position. Omit it and the work is
35
+ * of unknown length, which is a different fact and is drawn and announced as
36
+ * such. It is never defaulted, because a bar that fills on its own is a
37
+ * measurement of nothing.
38
+ */
39
+ | {
40
+ phase: 'in-flight';
41
+ progress?: number;
42
+ progressText?: string;
43
+ }
44
+ /** The work finished. */
45
+ | {
46
+ phase: 'succeeded';
47
+ }
48
+ /** The work did not finish, with the caller's own sentence about why. */
49
+ | {
50
+ phase: 'failed';
51
+ reason?: ReactNode;
52
+ };
53
+ /**
54
+ * The props the Lifecycle button accepts.
55
+ *
56
+ * A declared interface rather than a forwarded native one, and the reason is the
57
+ * gate on the surface: a forwarded `onClick` would be a second way to say what the
58
+ * control does, and a forwarded `children` would be a second way to say what it
59
+ * says. Both are decided here. The five words are five props rather than one
60
+ * `labels` record because a record's keys are a second list of the lifecycle, and
61
+ * the lifecycle is already stated in the type of `state`; two lists of the same
62
+ * four states is two lists that can disagree.
63
+ */
64
+ export interface LifecycleButtonProps {
65
+ /**
66
+ * Where the work is.
67
+ *
68
+ * Required and controlled, and the whole of the Component: the caller owns the
69
+ * request, so the caller owns where the request is. Prism draws the label, the
70
+ * mark, the meter and the retry that a position implies, and calls back. It
71
+ * never moves the position, and it holds no promise, no transport and no timer.
72
+ */
73
+ state: LifecycleButtonState;
74
+ /**
75
+ * Called when the reader presses the control while it is idle.
76
+ *
77
+ * Required, and it is called only from `idle`. A control that accepts presses
78
+ * while its work is running would let a reader queue a second request without
79
+ * knowing whether the first had finished, and a control that accepts presses
80
+ * after a failure would be a second way of retrying with a different meaning.
81
+ * The caller moves the position to `in-flight`; nothing here does.
82
+ */
83
+ onActivate: () => void;
84
+ /** The label in the idle position, in the product's own words. */
85
+ idleLabel: ReactNode;
86
+ /** The label while the work is running, in the product's own words. */
87
+ inFlightLabel: ReactNode;
88
+ /**
89
+ * The label after the work finished.
90
+ *
91
+ * Required rather than derived from the icon, because a check mark is a
92
+ * drawing and a control whose outcome is a drawing is a control whose outcome a
93
+ * screen reader never hears. Write the outcome: "Saved", "Published",
94
+ * "Enqueued".
95
+ */
96
+ succeededLabel: ReactNode;
97
+ /**
98
+ * The label after the work failed.
99
+ *
100
+ * Required, and it is the label a reader sees on a control they already pressed
101
+ * and already believe worked, so it has to be the sentence that tells them
102
+ * otherwise. "Not saved" is a control that is still the same control and now
103
+ * says the opposite; "Try again" is a different action and belongs on the retry
104
+ * beside it.
105
+ */
106
+ failedLabel: ReactNode;
107
+ /**
108
+ * The label of the retry control, which exists only in the failed position.
109
+ *
110
+ * Required, and the same word for every product's "try this again" is not
111
+ * something this package may choose: "Retry", "Save again" and "Reintentar" are
112
+ * three products' answers.
113
+ */
114
+ retryLabel: ReactNode;
115
+ /**
116
+ * The fill the control is drawn in.
117
+ *
118
+ * The four fills that make no claim about the outcome, and the reason the other
119
+ * two are absent is the Stated Ink Rule read from the other side. The failed
120
+ * position is not drawn destructive: destructive is for an action that cannot be
121
+ * undone, and a failed save is not that. Nor is it drawn `link`, which is a
122
+ * control inside a sentence and a lifecycle control is a sentence of its own.
123
+ * Nor is the failed position left as `default`, because a filled primary beside a
124
+ * failure is a control inviting a press that has already been shown not to work.
125
+ * The failure is carried by the label, the mark and the line beneath, and those
126
+ * are enough.
127
+ *
128
+ * @defaultValue 'default'
129
+ */
130
+ variant?: 'default' | 'secondary' | 'outline' | 'ghost';
131
+ /**
132
+ * The control's height. @defaultValue 'default'
133
+ *
134
+ * The four authored steps including `icon` are not offered, because a lifecycle
135
+ * control that has collapsed to a glyph has thrown away the one thing the
136
+ * lifecycle adds, which is the words that change as it runs.
137
+ */
138
+ size?: 'sm' | 'default' | 'lg';
139
+ /**
140
+ * Whether the control submits the form it sits in.
141
+ *
142
+ * Passed through rather than drawn, so a lifecycle control can be a form's submit
143
+ * button. Note what the Component does with it: a press from `in-flight` or
144
+ * `failed` is still refused, so a submit control here will not submit twice
145
+ * because the first submit is still running.
146
+ *
147
+ * @defaultValue 'button'
148
+ */
149
+ type?: 'button' | 'submit' | 'reset';
150
+ /**
151
+ * The name the control submits under, when it submits.
152
+ *
153
+ * A native attribute the Component forwards untouched, because a submit button's
154
+ * name is a fact about the caller's form and about nothing in this Component.
155
+ */
156
+ name?: string;
157
+ /**
158
+ * The form the control submits, when it is not inside one.
159
+ *
160
+ * Forwarded for the same reason as `name`, and it is the one native attribute
161
+ * worth forwarding on a control that can submit: a lifecycle button placed in a
162
+ * dialog's footer is outside the form it acts on.
163
+ */
164
+ form?: string;
165
+ /**
166
+ * Whether the control is unavailable for a reason of the caller's own.
167
+ *
168
+ * Drawn and not set, for the reason `Dropzone` states in full: a natively
169
+ * disabled control is out of the tab order, so a keyboard reader tabs onto where
170
+ * it was, presses Enter, and nothing happens with no announcement to explain it.
171
+ * This one keeps its place, keeps its ring and announces itself as unavailable.
172
+ * The cost is a tab stop that does nothing, which is the price every disabled
173
+ * control pays and the reason disabled controls are drawn rather than omitted.
174
+ */
175
+ disabled?: boolean;
176
+ /** Layout only. Changing a Prism-owned visual property from here is prohibited. */
177
+ className?: string;
178
+ }
179
+ /**
180
+ * A button whose label, mark and meter follow an asynchronous outcome: idle, in
181
+ * flight, succeeded or failed, with a retry beside it after a failure.
182
+ *
183
+ * **It is a state machine and not a loading flag, and the difference from
184
+ * `Button` is larger than it first looks.** `Button` has no `loading` prop and no
185
+ * loading state of any kind: it renders a native `<button>` and takes `variant`
186
+ * and `size`, and that is the whole of its interface. So there is no overlap to
187
+ * argue about, and the honest reason this Item is not a `Button` with one more
188
+ * boolean is that the boolean was never there. What a caller does today is write
189
+ * three controls: a `Button` whose label swaps while a request runs, a second
190
+ * `Button` that appears when it fails, and a `Progress` or a `Spinner` beside the
191
+ * first. This is those three, and the reason they were three is that they are
192
+ * three positions of one line and `Button` is a control rather than a line. If a
193
+ * `loading` boolean is ever added to `Button`, the honest response is to narrow
194
+ * this Item to the two positions a boolean cannot express, the failure and the
195
+ * fraction, rather than to delete it.
196
+ *
197
+ * **A boolean has two answers and a lifecycle has four, and the two it cannot
198
+ * express are the two that cost the most.** A request that failed is not
199
+ * `loading: false`: it is a control the reader already pressed, which is now
200
+ * telling them their work was not saved, and it needs different words, a
201
+ * different mark and a different next action from a control that has never been
202
+ * pressed. Encoding that as a boolean plus a string puts four states across two
203
+ * props that do not know about each other, and every consumer redraws the
204
+ * combinations. The union puts them in one value, and adding a sixth state later
205
+ * is a compile error at every place that switches over it.
206
+ *
207
+ * **The determinate bar is legal motion and the reason is that it is bound to a
208
+ * real state transition.** The fill is `Progress`, which animates its width on the
209
+ * base duration and eases out; there is no keyframe, no loop and no cycle, because
210
+ * a bar that is moving because a number changed is state feedback under the first
211
+ * of the two motion laws and nothing else. A bar with no number is not drawn as a
212
+ * moving one: a caller that passes no `progress` gets the same component with
213
+ * `value={null}`, which is announced as indeterminate and is the truth about work
214
+ * of unknown length. The Component refuses to fill a bar it has no number for, and
215
+ * the refusal is a thrown diagnostic rather than a silently invented position.
216
+ *
217
+ * **`Progress` is composed and not drawn, and that is why the in-flight position
218
+ * has one indicator rather than two.** A determinate fraction and an indeterminate
219
+ * request are the same question asked with and without an answer, so they are the
220
+ * same Component, and the alternative is a bar in one position and a ring in the
221
+ * other, which is two answers to how far along a task is on one button. The width
222
+ * is bounded by `className` because width is layout, and everything else about the
223
+ * bar is Prism's.
224
+ *
225
+ * **A fraction is announced in the caller's words or not at all.** `Progress`
226
+ * exposes its value, minimum and maximum through ARIA, so a fraction between zero
227
+ * and one is announced as a decimal, and "0.42" is a measurement of nothing a
228
+ * reader can act on. So a state carrying `progress` must carry `progressText`, and
229
+ * the Component throws without it rather than letting a number through as an
230
+ * accessible name. Write the position as the reader would say it: "Uploading,
231
+ * 42 percent", "3 of 8 steps".
232
+ *
233
+ * **The outcome is announced, and the announcement is the transition rather than
234
+ * the control.** A reader who pressed a control and watched its label change has
235
+ * been answered; a reader who pressed it and looked away has not, and the
236
+ * succeeded position is the one that arrives with no other evidence on the page
237
+ * when the control that caused it has scrolled out of view. So the Component
238
+ * composes `LiveRegion` with the settled label in it, polite for a success and
239
+ * assertive for a failure, which is the politeness rule `LiveRegion` states and
240
+ * for its reasons: a save that landed waits its turn, and a save that was refused
241
+ * interrupts. The reason line beneath the control is deliberately not an alert, so
242
+ * the failure is announced once rather than twice in the same commit.
243
+ *
244
+ * **The region is mounted at the outcome rather than held empty, and the cost is
245
+ * real.** `LiveRegion` deliberately renders nothing when it has nothing to say,
246
+ * because a live region sitting on the page permanently announces unrelated
247
+ * changes of its ancestors, which is the noise the Component exists to avoid as
248
+ * well as to cause. The consequence is that this region is created at the moment
249
+ * of its content, and a live region created with its content is announced by most
250
+ * screen readers and not by all of them. A caller who needs the guarantee on every
251
+ * transition keeps a `LiveRegion` of their own beside this Component and passes
252
+ * the outcome into it, which is two lines and no override of anything here.
253
+ *
254
+ * **The retry is a second control and not a state of the first, because the two
255
+ * actions are not the same.** Pressing the control again after a failure is a
256
+ * claim that the same request is worth making again, and the caller may well have
257
+ * changed their mind; a control that quietly became the retry would make a reader
258
+ * who wants to send something different press it twice to find out. So the failed
259
+ * position draws the control, still labelled as the failed outcome, with a second
260
+ * control beside it. The cost is a row that is two controls wide in one position
261
+ * out of four, and a caller who has nowhere to put it composes the retry in their
262
+ * own layout rather than dropping the affordance.
263
+ *
264
+ * **It is a client Component**, because `Progress` is one, because the outcome is
265
+ * announced through a region whose behaviour the browser's mutation observer
266
+ * provides and whose mounting is React's, and because the only callback it takes
267
+ * is one the caller has to be in the client graph to supply. What that costs is
268
+ * the price of every client control, and it is worth naming because the surface
269
+ * invites a server render: a server Component can render the idle position and it
270
+ * will look right, and what it cannot do is move the position, show a fraction, or
271
+ * announce an outcome, because those are facts about what happens after the reader
272
+ * acts.
273
+ */
274
+ declare function LifecycleButton({ state, onActivate, idleLabel, inFlightLabel, succeededLabel, failedLabel, retryLabel, variant, size, type, name, form, disabled, className, }: LifecycleButtonProps): import("react").JSX.Element;
275
+ export { LifecycleButton };
276
+ //# sourceMappingURL=lifecycle-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/lifecycle-button.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAOtC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAA;AAEhF;;;;;;;;;GASG;AACH,MAAM,MAAM,oBAAoB;AAC9B,0EAA0E;AACxE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE;AACnB;;;;;;;;;GASG;GACD;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE;AAClE,yBAAyB;GACvB;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE;AACxB,yEAAyE;GACvE;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;OAOG;IACH,KAAK,EAAE,oBAAoB,CAAA;IAC3B;;;;;;;;OAQG;IACH,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,kEAAkE;IAClE,SAAS,EAAE,SAAS,CAAA;IACpB,uEAAuE;IACvE,aAAa,EAAE,SAAS,CAAA;IACxB;;;;;;;OAOG;IACH,cAAc,EAAE,SAAS,CAAA;IACzB;;;;;;;;OAQG;IACH,WAAW,EAAE,SAAS,CAAA;IACtB;;;;;;OAMG;IACH,UAAU,EAAE,SAAS,CAAA;IACrB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAA;IACvD;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAA;IAC9B;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8FG;AACH,iBAAS,eAAe,CAAC,EACvB,KAAK,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,WAAW,EACX,UAAU,EACV,OAAmB,EACnB,IAAgB,EAChB,IAAe,EACf,IAAI,EACJ,IAAI,EACJ,QAAgB,EAChB,SAAS,GACV,EAAE,oBAAoB,+BAsGtB;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
@@ -0,0 +1,144 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { CircleCheckIcon, RefreshCwIcon, TriangleAlertIcon } from 'lucide-react';
4
+ import { Button } from './button.js';
5
+ import { LiveRegion } from './live-region.js';
6
+ import { Progress } from './progress.js';
7
+ import { cn } from '../../lib/utils.js';
8
+ /**
9
+ * The mark each settled position carries, and the ink it is drawn in.
10
+ *
11
+ * Two entries and not four, because the idle and in-flight positions carry the
12
+ * meter or nothing rather than a mark, and a ring or a bar beside a label that
13
+ * already says what is happening is a second copy of a sentence the reader can
14
+ * already see. Both marks are `aria-hidden` at the call site and the label carries
15
+ * the meaning, which is the order the whole package keeps: the attribute is the
16
+ * fact and the drawing is the reminder. The inks are the semantic state roles and
17
+ * not a ramp step, and the shapes differ as well as the colours so a reader who
18
+ * cannot separate them still reads which is which.
19
+ */
20
+ const SETTLED_MARK = {
21
+ succeeded: { Mark: CircleCheckIcon, ink: 'text-success' },
22
+ failed: { Mark: TriangleAlertIcon, ink: 'text-destructive' },
23
+ };
24
+ /**
25
+ * A button whose label, mark and meter follow an asynchronous outcome: idle, in
26
+ * flight, succeeded or failed, with a retry beside it after a failure.
27
+ *
28
+ * **It is a state machine and not a loading flag, and the difference from
29
+ * `Button` is larger than it first looks.** `Button` has no `loading` prop and no
30
+ * loading state of any kind: it renders a native `<button>` and takes `variant`
31
+ * and `size`, and that is the whole of its interface. So there is no overlap to
32
+ * argue about, and the honest reason this Item is not a `Button` with one more
33
+ * boolean is that the boolean was never there. What a caller does today is write
34
+ * three controls: a `Button` whose label swaps while a request runs, a second
35
+ * `Button` that appears when it fails, and a `Progress` or a `Spinner` beside the
36
+ * first. This is those three, and the reason they were three is that they are
37
+ * three positions of one line and `Button` is a control rather than a line. If a
38
+ * `loading` boolean is ever added to `Button`, the honest response is to narrow
39
+ * this Item to the two positions a boolean cannot express, the failure and the
40
+ * fraction, rather than to delete it.
41
+ *
42
+ * **A boolean has two answers and a lifecycle has four, and the two it cannot
43
+ * express are the two that cost the most.** A request that failed is not
44
+ * `loading: false`: it is a control the reader already pressed, which is now
45
+ * telling them their work was not saved, and it needs different words, a
46
+ * different mark and a different next action from a control that has never been
47
+ * pressed. Encoding that as a boolean plus a string puts four states across two
48
+ * props that do not know about each other, and every consumer redraws the
49
+ * combinations. The union puts them in one value, and adding a sixth state later
50
+ * is a compile error at every place that switches over it.
51
+ *
52
+ * **The determinate bar is legal motion and the reason is that it is bound to a
53
+ * real state transition.** The fill is `Progress`, which animates its width on the
54
+ * base duration and eases out; there is no keyframe, no loop and no cycle, because
55
+ * a bar that is moving because a number changed is state feedback under the first
56
+ * of the two motion laws and nothing else. A bar with no number is not drawn as a
57
+ * moving one: a caller that passes no `progress` gets the same component with
58
+ * `value={null}`, which is announced as indeterminate and is the truth about work
59
+ * of unknown length. The Component refuses to fill a bar it has no number for, and
60
+ * the refusal is a thrown diagnostic rather than a silently invented position.
61
+ *
62
+ * **`Progress` is composed and not drawn, and that is why the in-flight position
63
+ * has one indicator rather than two.** A determinate fraction and an indeterminate
64
+ * request are the same question asked with and without an answer, so they are the
65
+ * same Component, and the alternative is a bar in one position and a ring in the
66
+ * other, which is two answers to how far along a task is on one button. The width
67
+ * is bounded by `className` because width is layout, and everything else about the
68
+ * bar is Prism's.
69
+ *
70
+ * **A fraction is announced in the caller's words or not at all.** `Progress`
71
+ * exposes its value, minimum and maximum through ARIA, so a fraction between zero
72
+ * and one is announced as a decimal, and "0.42" is a measurement of nothing a
73
+ * reader can act on. So a state carrying `progress` must carry `progressText`, and
74
+ * the Component throws without it rather than letting a number through as an
75
+ * accessible name. Write the position as the reader would say it: "Uploading,
76
+ * 42 percent", "3 of 8 steps".
77
+ *
78
+ * **The outcome is announced, and the announcement is the transition rather than
79
+ * the control.** A reader who pressed a control and watched its label change has
80
+ * been answered; a reader who pressed it and looked away has not, and the
81
+ * succeeded position is the one that arrives with no other evidence on the page
82
+ * when the control that caused it has scrolled out of view. So the Component
83
+ * composes `LiveRegion` with the settled label in it, polite for a success and
84
+ * assertive for a failure, which is the politeness rule `LiveRegion` states and
85
+ * for its reasons: a save that landed waits its turn, and a save that was refused
86
+ * interrupts. The reason line beneath the control is deliberately not an alert, so
87
+ * the failure is announced once rather than twice in the same commit.
88
+ *
89
+ * **The region is mounted at the outcome rather than held empty, and the cost is
90
+ * real.** `LiveRegion` deliberately renders nothing when it has nothing to say,
91
+ * because a live region sitting on the page permanently announces unrelated
92
+ * changes of its ancestors, which is the noise the Component exists to avoid as
93
+ * well as to cause. The consequence is that this region is created at the moment
94
+ * of its content, and a live region created with its content is announced by most
95
+ * screen readers and not by all of them. A caller who needs the guarantee on every
96
+ * transition keeps a `LiveRegion` of their own beside this Component and passes
97
+ * the outcome into it, which is two lines and no override of anything here.
98
+ *
99
+ * **The retry is a second control and not a state of the first, because the two
100
+ * actions are not the same.** Pressing the control again after a failure is a
101
+ * claim that the same request is worth making again, and the caller may well have
102
+ * changed their mind; a control that quietly became the retry would make a reader
103
+ * who wants to send something different press it twice to find out. So the failed
104
+ * position draws the control, still labelled as the failed outcome, with a second
105
+ * control beside it. The cost is a row that is two controls wide in one position
106
+ * out of four, and a caller who has nowhere to put it composes the retry in their
107
+ * own layout rather than dropping the affordance.
108
+ *
109
+ * **It is a client Component**, because `Progress` is one, because the outcome is
110
+ * announced through a region whose behaviour the browser's mutation observer
111
+ * provides and whose mounting is React's, and because the only callback it takes
112
+ * is one the caller has to be in the client graph to supply. What that costs is
113
+ * the price of every client control, and it is worth naming because the surface
114
+ * invites a server render: a server Component can render the idle position and it
115
+ * will look right, and what it cannot do is move the position, show a fraction, or
116
+ * announce an outcome, because those are facts about what happens after the reader
117
+ * acts.
118
+ */
119
+ function LifecycleButton({ state, onActivate, idleLabel, inFlightLabel, succeededLabel, failedLabel, retryLabel, variant = 'default', size = 'default', type = 'button', name, form, disabled = false, className, }) {
120
+ const inFlight = state.phase === 'in-flight';
121
+ const failed = state.phase === 'failed';
122
+ const succeeded = state.phase === 'succeeded';
123
+ const unavailable = inFlight || disabled;
124
+ if (inFlight && state.progress !== undefined && state.progressText === undefined) {
125
+ throw new Error('LifecycleButton: the in-flight state carries a progress fraction and no progressText, so the bar would be ' +
126
+ 'announced as a decimal between zero and one, which is a measurement of nothing a reader can act on. Pass ' +
127
+ 'the position in the words the reader would say it, or drop progress and let the bar be indeterminate.');
128
+ }
129
+ const label = state.phase === 'idle'
130
+ ? idleLabel
131
+ : inFlight
132
+ ? inFlightLabel
133
+ : succeeded
134
+ ? succeededLabel
135
+ : failedLabel;
136
+ const settled = succeeded || failed;
137
+ const mark = settled ? SETTLED_MARK[state.phase] : null;
138
+ return (_jsxs("div", { "data-slot": "lifecycle-button", className: cn('inline-flex flex-col items-start gap-1.5', className), children: [_jsxs("div", { "data-slot": "lifecycle-button-actions", className: "flex items-center gap-2", children: [_jsxs(Button, { "data-slot": "lifecycle-button-control", type: type, variant: variant, size: size, name: name, form: form, "aria-disabled": unavailable || undefined, onClick: unavailable ? () => undefined : onActivate, children: [mark === null ? null : _jsx(mark.Mark, { className: mark.ink, "aria-hidden": "true" }), _jsx("span", { "data-slot": "lifecycle-button-label", children: label }), inFlight ? (_jsx(Progress, { "data-slot": "lifecycle-button-progress",
139
+ // The clamped fraction and the same component with no value, so the
140
+ // two are one question asked with and without an answer rather than
141
+ // a bar and a ring on one button.
142
+ value: state.progress === undefined ? null : Math.min(1, Math.max(0, state.progress)), max: 1, valueText: state.progressText, className: "w-16" })) : null] }), failed ? (_jsxs(Button, { "data-slot": "lifecycle-button-retry", type: "button", variant: "outline", size: size, onClick: onActivate, children: [_jsx(RefreshCwIcon, { "aria-hidden": "true" }), retryLabel] })) : null] }), failed && state.reason !== undefined && state.reason !== null && state.reason !== false ? (_jsx("p", { "data-slot": "lifecycle-button-message", className: "text-destructive text-sm", children: state.reason })) : null, settled ? (_jsx(LiveRegion, { className: "sr-only", politeness: failed ? 'assertive' : 'polite', children: label })) : null] }));
143
+ }
144
+ export { LifecycleButton };