@nanisoft/prism-ui 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (943) hide show
  1. package/THIRD-PARTY-NOTICES.md +22 -7
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/blocks/about-01/about.d.ts +296 -0
  4. package/dist/blocks/about-01/about.d.ts.map +1 -0
  5. package/dist/blocks/about-01/about.js +103 -0
  6. package/dist/blocks/about-01/index.d.ts +3 -0
  7. package/dist/blocks/about-01/index.d.ts.map +1 -0
  8. package/dist/blocks/about-01/index.js +1 -0
  9. package/dist/blocks/accept-invite-01/accept-invite.d.ts +324 -0
  10. package/dist/blocks/accept-invite-01/accept-invite.d.ts.map +1 -0
  11. package/dist/blocks/accept-invite-01/accept-invite.js +230 -0
  12. package/dist/blocks/accept-invite-01/index.d.ts +3 -0
  13. package/dist/blocks/accept-invite-01/index.d.ts.map +1 -0
  14. package/dist/blocks/accept-invite-01/index.js +1 -0
  15. package/dist/blocks/account-01/account-01.d.ts +393 -0
  16. package/dist/blocks/account-01/account-01.d.ts.map +1 -0
  17. package/dist/blocks/account-01/account-01.js +215 -0
  18. package/dist/blocks/account-01/index.d.ts +3 -0
  19. package/dist/blocks/account-01/index.d.ts.map +1 -0
  20. package/dist/blocks/account-01/index.js +1 -0
  21. package/dist/blocks/activity-feed-01/activity-feed-01.d.ts +271 -0
  22. package/dist/blocks/activity-feed-01/activity-feed-01.d.ts.map +1 -0
  23. package/dist/blocks/activity-feed-01/activity-feed-01.js +185 -0
  24. package/dist/blocks/activity-feed-01/index.d.ts +3 -0
  25. package/dist/blocks/activity-feed-01/index.d.ts.map +1 -0
  26. package/dist/blocks/activity-feed-01/index.js +1 -0
  27. package/dist/blocks/address-book-01/address-book-01.d.ts +312 -0
  28. package/dist/blocks/address-book-01/address-book-01.d.ts.map +1 -0
  29. package/dist/blocks/address-book-01/address-book-01.js +233 -0
  30. package/dist/blocks/address-book-01/index.d.ts +3 -0
  31. package/dist/blocks/address-book-01/index.d.ts.map +1 -0
  32. package/dist/blocks/address-book-01/index.js +1 -0
  33. package/dist/blocks/audit-log-01/audit-log-01.d.ts +333 -0
  34. package/dist/blocks/audit-log-01/audit-log-01.d.ts.map +1 -0
  35. package/dist/blocks/audit-log-01/audit-log-01.js +211 -0
  36. package/dist/blocks/audit-log-01/index.d.ts +3 -0
  37. package/dist/blocks/audit-log-01/index.d.ts.map +1 -0
  38. package/dist/blocks/audit-log-01/index.js +1 -0
  39. package/dist/blocks/auth-form-01/auth-form.d.ts +40 -1
  40. package/dist/blocks/auth-form-01/auth-form.d.ts.map +1 -1
  41. package/dist/blocks/auth-form-01/auth-form.js +26 -3
  42. package/dist/blocks/awards-01/awards.d.ts +156 -0
  43. package/dist/blocks/awards-01/awards.d.ts.map +1 -0
  44. package/dist/blocks/awards-01/awards.js +102 -0
  45. package/dist/blocks/awards-01/index.d.ts +3 -0
  46. package/dist/blocks/awards-01/index.d.ts.map +1 -0
  47. package/dist/blocks/awards-01/index.js +1 -0
  48. package/dist/blocks/backdrop-01/backdrop.d.ts +268 -0
  49. package/dist/blocks/backdrop-01/backdrop.d.ts.map +1 -0
  50. package/dist/blocks/backdrop-01/backdrop.js +170 -0
  51. package/dist/blocks/backdrop-01/index.d.ts +3 -0
  52. package/dist/blocks/backdrop-01/index.d.ts.map +1 -0
  53. package/dist/blocks/backdrop-01/index.js +1 -0
  54. package/dist/blocks/bento-01/bento-01.d.ts +136 -0
  55. package/dist/blocks/bento-01/bento-01.d.ts.map +1 -0
  56. package/dist/blocks/bento-01/bento-01.js +97 -0
  57. package/dist/blocks/bento-01/index.d.ts +3 -0
  58. package/dist/blocks/bento-01/index.d.ts.map +1 -0
  59. package/dist/blocks/bento-01/index.js +1 -0
  60. package/dist/blocks/billing-source-01/billing-source-01.d.ts +379 -0
  61. package/dist/blocks/billing-source-01/billing-source-01.d.ts.map +1 -0
  62. package/dist/blocks/billing-source-01/billing-source-01.js +222 -0
  63. package/dist/blocks/billing-source-01/index.d.ts +3 -0
  64. package/dist/blocks/billing-source-01/index.d.ts.map +1 -0
  65. package/dist/blocks/billing-source-01/index.js +1 -0
  66. package/dist/blocks/bundle-01/bundle.d.ts +387 -0
  67. package/dist/blocks/bundle-01/bundle.d.ts.map +1 -0
  68. package/dist/blocks/bundle-01/bundle.js +153 -0
  69. package/dist/blocks/bundle-01/index.d.ts +3 -0
  70. package/dist/blocks/bundle-01/index.d.ts.map +1 -0
  71. package/dist/blocks/bundle-01/index.js +1 -0
  72. package/dist/blocks/calendar-01/calendar.d.ts +251 -0
  73. package/dist/blocks/calendar-01/calendar.d.ts.map +1 -0
  74. package/dist/blocks/calendar-01/calendar.js +191 -0
  75. package/dist/blocks/calendar-01/index.d.ts +3 -0
  76. package/dist/blocks/calendar-01/index.d.ts.map +1 -0
  77. package/dist/blocks/calendar-01/index.js +1 -0
  78. package/dist/blocks/capacity-01/capacity.d.ts +363 -0
  79. package/dist/blocks/capacity-01/capacity.d.ts.map +1 -0
  80. package/dist/blocks/capacity-01/capacity.js +208 -0
  81. package/dist/blocks/capacity-01/index.d.ts +3 -0
  82. package/dist/blocks/capacity-01/index.d.ts.map +1 -0
  83. package/dist/blocks/capacity-01/index.js +1 -0
  84. package/dist/blocks/careers-01/careers.d.ts +186 -0
  85. package/dist/blocks/careers-01/careers.d.ts.map +1 -0
  86. package/dist/blocks/careers-01/careers.js +83 -0
  87. package/dist/blocks/careers-01/index.d.ts +3 -0
  88. package/dist/blocks/careers-01/index.d.ts.map +1 -0
  89. package/dist/blocks/careers-01/index.js +1 -0
  90. package/dist/blocks/case-studies-01/case-studies.d.ts +192 -0
  91. package/dist/blocks/case-studies-01/case-studies.d.ts.map +1 -0
  92. package/dist/blocks/case-studies-01/case-studies.js +97 -0
  93. package/dist/blocks/case-studies-01/index.d.ts +3 -0
  94. package/dist/blocks/case-studies-01/index.d.ts.map +1 -0
  95. package/dist/blocks/case-studies-01/index.js +1 -0
  96. package/dist/blocks/case-study-01/case-study.d.ts +214 -0
  97. package/dist/blocks/case-study-01/case-study.d.ts.map +1 -0
  98. package/dist/blocks/case-study-01/case-study.js +79 -0
  99. package/dist/blocks/case-study-01/index.d.ts +3 -0
  100. package/dist/blocks/case-study-01/index.d.ts.map +1 -0
  101. package/dist/blocks/case-study-01/index.js +1 -0
  102. package/dist/blocks/changelog-01/changelog.d.ts +200 -0
  103. package/dist/blocks/changelog-01/changelog.d.ts.map +1 -0
  104. package/dist/blocks/changelog-01/changelog.js +155 -0
  105. package/dist/blocks/changelog-01/index.d.ts +3 -0
  106. package/dist/blocks/changelog-01/index.d.ts.map +1 -0
  107. package/dist/blocks/changelog-01/index.js +1 -0
  108. package/dist/blocks/chart-card-01/chart-card-01.d.ts +149 -0
  109. package/dist/blocks/chart-card-01/chart-card-01.d.ts.map +1 -0
  110. package/dist/blocks/chart-card-01/chart-card-01.js +81 -0
  111. package/dist/blocks/chart-card-01/index.d.ts +3 -0
  112. package/dist/blocks/chart-card-01/index.d.ts.map +1 -0
  113. package/dist/blocks/chart-card-01/index.js +1 -0
  114. package/dist/blocks/chart-group-01/chart-group-01.d.ts +138 -0
  115. package/dist/blocks/chart-group-01/chart-group-01.d.ts.map +1 -0
  116. package/dist/blocks/chart-group-01/chart-group-01.js +74 -0
  117. package/dist/blocks/chart-group-01/index.d.ts +3 -0
  118. package/dist/blocks/chart-group-01/index.d.ts.map +1 -0
  119. package/dist/blocks/chart-group-01/index.js +1 -0
  120. package/dist/blocks/code-sample-01/code-sample.d.ts +193 -0
  121. package/dist/blocks/code-sample-01/code-sample.d.ts.map +1 -0
  122. package/dist/blocks/code-sample-01/code-sample.js +104 -0
  123. package/dist/blocks/code-sample-01/index.d.ts +3 -0
  124. package/dist/blocks/code-sample-01/index.d.ts.map +1 -0
  125. package/dist/blocks/code-sample-01/index.js +1 -0
  126. package/dist/blocks/community-01/community.d.ts +183 -0
  127. package/dist/blocks/community-01/community.d.ts.map +1 -0
  128. package/dist/blocks/community-01/community.js +102 -0
  129. package/dist/blocks/community-01/index.d.ts +3 -0
  130. package/dist/blocks/community-01/index.d.ts.map +1 -0
  131. package/dist/blocks/community-01/index.js +1 -0
  132. package/dist/blocks/compare-01/compare.d.ts +184 -0
  133. package/dist/blocks/compare-01/compare.d.ts.map +1 -0
  134. package/dist/blocks/compare-01/compare.js +106 -0
  135. package/dist/blocks/compare-01/index.d.ts +3 -0
  136. package/dist/blocks/compare-01/index.d.ts.map +1 -0
  137. package/dist/blocks/compare-01/index.js +1 -0
  138. package/dist/blocks/compliance-01/compliance.d.ts +249 -0
  139. package/dist/blocks/compliance-01/compliance.d.ts.map +1 -0
  140. package/dist/blocks/compliance-01/compliance.js +130 -0
  141. package/dist/blocks/compliance-01/index.d.ts +3 -0
  142. package/dist/blocks/compliance-01/index.d.ts.map +1 -0
  143. package/dist/blocks/compliance-01/index.js +1 -0
  144. package/dist/blocks/consent-01/consent.d.ts +211 -0
  145. package/dist/blocks/consent-01/consent.d.ts.map +1 -0
  146. package/dist/blocks/consent-01/consent.js +101 -0
  147. package/dist/blocks/consent-01/index.d.ts +3 -0
  148. package/dist/blocks/consent-01/index.d.ts.map +1 -0
  149. package/dist/blocks/consent-01/index.js +1 -0
  150. package/dist/blocks/contact-01/contact.d.ts +319 -0
  151. package/dist/blocks/contact-01/contact.d.ts.map +1 -0
  152. package/dist/blocks/contact-01/contact.js +211 -0
  153. package/dist/blocks/contact-01/index.d.ts +3 -0
  154. package/dist/blocks/contact-01/index.d.ts.map +1 -0
  155. package/dist/blocks/contact-01/index.js +1 -0
  156. package/dist/blocks/content-grid-01/content-grid.d.ts +262 -0
  157. package/dist/blocks/content-grid-01/content-grid.d.ts.map +1 -0
  158. package/dist/blocks/content-grid-01/content-grid.js +155 -0
  159. package/dist/blocks/content-grid-01/index.d.ts +3 -0
  160. package/dist/blocks/content-grid-01/index.d.ts.map +1 -0
  161. package/dist/blocks/content-grid-01/index.js +1 -0
  162. package/dist/blocks/cta-01/cta.d.ts +7 -1
  163. package/dist/blocks/cta-01/cta.d.ts.map +1 -1
  164. package/dist/blocks/cta-01/cta.js +11 -2
  165. package/dist/blocks/dashboard-01/dashboard-01.d.ts +247 -0
  166. package/dist/blocks/dashboard-01/dashboard-01.d.ts.map +1 -0
  167. package/dist/blocks/dashboard-01/dashboard-01.js +141 -0
  168. package/dist/blocks/dashboard-01/index.d.ts +3 -0
  169. package/dist/blocks/dashboard-01/index.d.ts.map +1 -0
  170. package/dist/blocks/dashboard-01/index.js +1 -0
  171. package/dist/blocks/data-table-01/data-table.d.ts +12 -1
  172. package/dist/blocks/data-table-01/data-table.d.ts.map +1 -1
  173. package/dist/blocks/data-table-01/data-table.js +8 -5
  174. package/dist/blocks/delivery-01/delivery.d.ts +343 -0
  175. package/dist/blocks/delivery-01/delivery.d.ts.map +1 -0
  176. package/dist/blocks/delivery-01/delivery.js +212 -0
  177. package/dist/blocks/delivery-01/index.d.ts +3 -0
  178. package/dist/blocks/delivery-01/index.d.ts.map +1 -0
  179. package/dist/blocks/delivery-01/index.js +1 -0
  180. package/dist/blocks/directory-01/directory-01.d.ts +316 -0
  181. package/dist/blocks/directory-01/directory-01.d.ts.map +1 -0
  182. package/dist/blocks/directory-01/directory-01.js +252 -0
  183. package/dist/blocks/directory-01/index.d.ts +3 -0
  184. package/dist/blocks/directory-01/index.d.ts.map +1 -0
  185. package/dist/blocks/directory-01/index.js +1 -0
  186. package/dist/blocks/download-01/download.d.ts +261 -0
  187. package/dist/blocks/download-01/download.d.ts.map +1 -0
  188. package/dist/blocks/download-01/download.js +115 -0
  189. package/dist/blocks/download-01/index.d.ts +3 -0
  190. package/dist/blocks/download-01/index.d.ts.map +1 -0
  191. package/dist/blocks/download-01/index.js +1 -0
  192. package/dist/blocks/faq-01/faq.d.ts +128 -0
  193. package/dist/blocks/faq-01/faq.d.ts.map +1 -0
  194. package/dist/blocks/faq-01/faq.js +53 -0
  195. package/dist/blocks/faq-01/index.d.ts +3 -0
  196. package/dist/blocks/faq-01/index.d.ts.map +1 -0
  197. package/dist/blocks/faq-01/index.js +1 -0
  198. package/dist/blocks/feature-rows-01/feature-rows-01.d.ts +158 -0
  199. package/dist/blocks/feature-rows-01/feature-rows-01.d.ts.map +1 -0
  200. package/dist/blocks/feature-rows-01/feature-rows-01.js +81 -0
  201. package/dist/blocks/feature-rows-01/index.d.ts +3 -0
  202. package/dist/blocks/feature-rows-01/index.d.ts.map +1 -0
  203. package/dist/blocks/feature-rows-01/index.js +1 -0
  204. package/dist/blocks/feedback-01/feedback.d.ts +235 -0
  205. package/dist/blocks/feedback-01/feedback.d.ts.map +1 -0
  206. package/dist/blocks/feedback-01/feedback.js +113 -0
  207. package/dist/blocks/feedback-01/index.d.ts +3 -0
  208. package/dist/blocks/feedback-01/index.d.ts.map +1 -0
  209. package/dist/blocks/feedback-01/index.js +1 -0
  210. package/dist/blocks/field-map-01/field-map.d.ts +247 -0
  211. package/dist/blocks/field-map-01/field-map.d.ts.map +1 -0
  212. package/dist/blocks/field-map-01/field-map.js +183 -0
  213. package/dist/blocks/field-map-01/index.d.ts +3 -0
  214. package/dist/blocks/field-map-01/index.d.ts.map +1 -0
  215. package/dist/blocks/field-map-01/index.js +1 -0
  216. package/dist/blocks/forgot-password-01/forgot-password.d.ts +288 -0
  217. package/dist/blocks/forgot-password-01/forgot-password.d.ts.map +1 -0
  218. package/dist/blocks/forgot-password-01/forgot-password.js +190 -0
  219. package/dist/blocks/forgot-password-01/index.d.ts +3 -0
  220. package/dist/blocks/forgot-password-01/index.d.ts.map +1 -0
  221. package/dist/blocks/forgot-password-01/index.js +1 -0
  222. package/dist/blocks/gallery-01/gallery.d.ts +208 -0
  223. package/dist/blocks/gallery-01/gallery.d.ts.map +1 -0
  224. package/dist/blocks/gallery-01/gallery.js +174 -0
  225. package/dist/blocks/gallery-01/index.d.ts +3 -0
  226. package/dist/blocks/gallery-01/index.d.ts.map +1 -0
  227. package/dist/blocks/gallery-01/index.js +1 -0
  228. package/dist/blocks/gantt-01/gantt.d.ts +290 -0
  229. package/dist/blocks/gantt-01/gantt.d.ts.map +1 -0
  230. package/dist/blocks/gantt-01/gantt.js +224 -0
  231. package/dist/blocks/gantt-01/index.d.ts +3 -0
  232. package/dist/blocks/gantt-01/index.d.ts.map +1 -0
  233. package/dist/blocks/gantt-01/index.js +1 -0
  234. package/dist/blocks/handoff-01/handoff-01.d.ts +326 -0
  235. package/dist/blocks/handoff-01/handoff-01.d.ts.map +1 -0
  236. package/dist/blocks/handoff-01/handoff-01.js +180 -0
  237. package/dist/blocks/handoff-01/index.d.ts +3 -0
  238. package/dist/blocks/handoff-01/index.d.ts.map +1 -0
  239. package/dist/blocks/handoff-01/index.js +1 -0
  240. package/dist/blocks/help-01/help.d.ts +254 -0
  241. package/dist/blocks/help-01/help.d.ts.map +1 -0
  242. package/dist/blocks/help-01/help.js +188 -0
  243. package/dist/blocks/help-01/index.d.ts +3 -0
  244. package/dist/blocks/help-01/index.d.ts.map +1 -0
  245. package/dist/blocks/help-01/index.js +1 -0
  246. package/dist/blocks/hero-01/hero.d.ts +105 -34
  247. package/dist/blocks/hero-01/hero.d.ts.map +1 -1
  248. package/dist/blocks/hero-01/hero.js +23 -15
  249. package/dist/blocks/hero-01/index.d.ts +1 -1
  250. package/dist/blocks/hero-01/index.d.ts.map +1 -1
  251. package/dist/blocks/hero-02/hero-02.d.ts +244 -0
  252. package/dist/blocks/hero-02/hero-02.d.ts.map +1 -0
  253. package/dist/blocks/hero-02/hero-02.js +87 -0
  254. package/dist/blocks/hero-02/index.d.ts +3 -0
  255. package/dist/blocks/hero-02/index.d.ts.map +1 -0
  256. package/dist/blocks/hero-02/index.js +1 -0
  257. package/dist/blocks/hero-03/hero-03.d.ts +247 -0
  258. package/dist/blocks/hero-03/hero-03.d.ts.map +1 -0
  259. package/dist/blocks/hero-03/hero-03.js +93 -0
  260. package/dist/blocks/hero-03/index.d.ts +3 -0
  261. package/dist/blocks/hero-03/index.d.ts.map +1 -0
  262. package/dist/blocks/hero-03/index.js +1 -0
  263. package/dist/blocks/history-01/history-01.d.ts +414 -0
  264. package/dist/blocks/history-01/history-01.d.ts.map +1 -0
  265. package/dist/blocks/history-01/history-01.js +285 -0
  266. package/dist/blocks/history-01/index.d.ts +3 -0
  267. package/dist/blocks/history-01/index.d.ts.map +1 -0
  268. package/dist/blocks/history-01/index.js +1 -0
  269. package/dist/blocks/inbox-01/inbox.d.ts +349 -0
  270. package/dist/blocks/inbox-01/inbox.d.ts.map +1 -0
  271. package/dist/blocks/inbox-01/inbox.js +244 -0
  272. package/dist/blocks/inbox-01/index.d.ts +3 -0
  273. package/dist/blocks/inbox-01/index.d.ts.map +1 -0
  274. package/dist/blocks/inbox-01/index.js +1 -0
  275. package/dist/blocks/index.d.ts +203 -0
  276. package/dist/blocks/index.d.ts.map +1 -1
  277. package/dist/blocks/index.js +118 -0
  278. package/dist/blocks/industries-01/index.d.ts +3 -0
  279. package/dist/blocks/industries-01/index.d.ts.map +1 -0
  280. package/dist/blocks/industries-01/index.js +1 -0
  281. package/dist/blocks/industries-01/industries.d.ts +164 -0
  282. package/dist/blocks/industries-01/industries.d.ts.map +1 -0
  283. package/dist/blocks/industries-01/industries.js +96 -0
  284. package/dist/blocks/intake-01/index.d.ts +3 -0
  285. package/dist/blocks/intake-01/index.d.ts.map +1 -0
  286. package/dist/blocks/intake-01/index.js +1 -0
  287. package/dist/blocks/intake-01/intake-01.d.ts +305 -0
  288. package/dist/blocks/intake-01/intake-01.d.ts.map +1 -0
  289. package/dist/blocks/intake-01/intake-01.js +178 -0
  290. package/dist/blocks/integration-01/index.d.ts +3 -0
  291. package/dist/blocks/integration-01/index.d.ts.map +1 -0
  292. package/dist/blocks/integration-01/index.js +1 -0
  293. package/dist/blocks/integration-01/integration.d.ts +226 -0
  294. package/dist/blocks/integration-01/integration.d.ts.map +1 -0
  295. package/dist/blocks/integration-01/integration.js +170 -0
  296. package/dist/blocks/invite-user-01/index.d.ts +3 -0
  297. package/dist/blocks/invite-user-01/index.d.ts.map +1 -0
  298. package/dist/blocks/invite-user-01/index.js +1 -0
  299. package/dist/blocks/invite-user-01/invite-user.d.ts +317 -0
  300. package/dist/blocks/invite-user-01/invite-user.d.ts.map +1 -0
  301. package/dist/blocks/invite-user-01/invite-user.js +228 -0
  302. package/dist/blocks/issue-detail-01/index.d.ts +3 -0
  303. package/dist/blocks/issue-detail-01/index.d.ts.map +1 -0
  304. package/dist/blocks/issue-detail-01/index.js +1 -0
  305. package/dist/blocks/issue-detail-01/issue-detail.d.ts +355 -0
  306. package/dist/blocks/issue-detail-01/issue-detail.d.ts.map +1 -0
  307. package/dist/blocks/issue-detail-01/issue-detail.js +187 -0
  308. package/dist/blocks/issue-list-01/index.d.ts +3 -0
  309. package/dist/blocks/issue-list-01/index.d.ts.map +1 -0
  310. package/dist/blocks/issue-list-01/index.js +1 -0
  311. package/dist/blocks/issue-list-01/issue-list.d.ts +298 -0
  312. package/dist/blocks/issue-list-01/issue-list.d.ts.map +1 -0
  313. package/dist/blocks/issue-list-01/issue-list.js +284 -0
  314. package/dist/blocks/kanban-01/index.d.ts +3 -0
  315. package/dist/blocks/kanban-01/index.d.ts.map +1 -0
  316. package/dist/blocks/kanban-01/index.js +1 -0
  317. package/dist/blocks/kanban-01/kanban.d.ts +278 -0
  318. package/dist/blocks/kanban-01/kanban.d.ts.map +1 -0
  319. package/dist/blocks/kanban-01/kanban.js +144 -0
  320. package/dist/blocks/leaderboard-01/index.d.ts +3 -0
  321. package/dist/blocks/leaderboard-01/index.d.ts.map +1 -0
  322. package/dist/blocks/leaderboard-01/index.js +1 -0
  323. package/dist/blocks/leaderboard-01/leaderboard.d.ts +250 -0
  324. package/dist/blocks/leaderboard-01/leaderboard.d.ts.map +1 -0
  325. package/dist/blocks/leaderboard-01/leaderboard.js +121 -0
  326. package/dist/blocks/login-01/index.d.ts +3 -0
  327. package/dist/blocks/login-01/index.d.ts.map +1 -0
  328. package/dist/blocks/login-01/index.js +1 -0
  329. package/dist/blocks/login-01/login-01.d.ts +356 -0
  330. package/dist/blocks/login-01/login-01.d.ts.map +1 -0
  331. package/dist/blocks/login-01/login-01.js +249 -0
  332. package/dist/blocks/logo-cloud-01/index.d.ts +3 -0
  333. package/dist/blocks/logo-cloud-01/index.d.ts.map +1 -0
  334. package/dist/blocks/logo-cloud-01/index.js +1 -0
  335. package/dist/blocks/logo-cloud-01/logo-cloud.d.ts +181 -0
  336. package/dist/blocks/logo-cloud-01/logo-cloud.d.ts.map +1 -0
  337. package/dist/blocks/logo-cloud-01/logo-cloud.js +118 -0
  338. package/dist/blocks/magic-link-01/index.d.ts +3 -0
  339. package/dist/blocks/magic-link-01/index.d.ts.map +1 -0
  340. package/dist/blocks/magic-link-01/index.js +1 -0
  341. package/dist/blocks/magic-link-01/magic-link-01.d.ts +367 -0
  342. package/dist/blocks/magic-link-01/magic-link-01.d.ts.map +1 -0
  343. package/dist/blocks/magic-link-01/magic-link-01.js +233 -0
  344. package/dist/blocks/member-list-01/index.d.ts +3 -0
  345. package/dist/blocks/member-list-01/index.d.ts.map +1 -0
  346. package/dist/blocks/member-list-01/index.js +1 -0
  347. package/dist/blocks/member-list-01/member-list.d.ts +192 -0
  348. package/dist/blocks/member-list-01/member-list.d.ts.map +1 -0
  349. package/dist/blocks/member-list-01/member-list.js +142 -0
  350. package/dist/blocks/milestone-timeline-01/index.d.ts +3 -0
  351. package/dist/blocks/milestone-timeline-01/index.d.ts.map +1 -0
  352. package/dist/blocks/milestone-timeline-01/index.js +1 -0
  353. package/dist/blocks/milestone-timeline-01/milestone-timeline.d.ts +217 -0
  354. package/dist/blocks/milestone-timeline-01/milestone-timeline.d.ts.map +1 -0
  355. package/dist/blocks/milestone-timeline-01/milestone-timeline.js +173 -0
  356. package/dist/blocks/newsletter-01/index.d.ts +3 -0
  357. package/dist/blocks/newsletter-01/index.d.ts.map +1 -0
  358. package/dist/blocks/newsletter-01/index.js +1 -0
  359. package/dist/blocks/newsletter-01/newsletter.d.ts +216 -0
  360. package/dist/blocks/newsletter-01/newsletter.d.ts.map +1 -0
  361. package/dist/blocks/newsletter-01/newsletter.js +102 -0
  362. package/dist/blocks/notification-center-01/index.d.ts +3 -0
  363. package/dist/blocks/notification-center-01/index.d.ts.map +1 -0
  364. package/dist/blocks/notification-center-01/index.js +1 -0
  365. package/dist/blocks/notification-center-01/notification-center-01.d.ts +341 -0
  366. package/dist/blocks/notification-center-01/notification-center-01.d.ts.map +1 -0
  367. package/dist/blocks/notification-center-01/notification-center-01.js +203 -0
  368. package/dist/blocks/offer-01/index.d.ts +3 -0
  369. package/dist/blocks/offer-01/index.d.ts.map +1 -0
  370. package/dist/blocks/offer-01/index.js +1 -0
  371. package/dist/blocks/offer-01/offer.d.ts +139 -0
  372. package/dist/blocks/offer-01/offer.d.ts.map +1 -0
  373. package/dist/blocks/offer-01/offer.js +81 -0
  374. package/dist/blocks/offering-01/index.d.ts +3 -0
  375. package/dist/blocks/offering-01/index.d.ts.map +1 -0
  376. package/dist/blocks/offering-01/index.js +1 -0
  377. package/dist/blocks/offering-01/offering.d.ts +245 -0
  378. package/dist/blocks/offering-01/offering.d.ts.map +1 -0
  379. package/dist/blocks/offering-01/offering.js +144 -0
  380. package/dist/blocks/offering-categories-01/index.d.ts +3 -0
  381. package/dist/blocks/offering-categories-01/index.d.ts.map +1 -0
  382. package/dist/blocks/offering-categories-01/index.js +1 -0
  383. package/dist/blocks/offering-categories-01/offering-categories.d.ts +248 -0
  384. package/dist/blocks/offering-categories-01/offering-categories.d.ts.map +1 -0
  385. package/dist/blocks/offering-categories-01/offering-categories.js +153 -0
  386. package/dist/blocks/offering-list-01/index.d.ts +3 -0
  387. package/dist/blocks/offering-list-01/index.d.ts.map +1 -0
  388. package/dist/blocks/offering-list-01/index.js +1 -0
  389. package/dist/blocks/offering-list-01/offering-list.d.ts +362 -0
  390. package/dist/blocks/offering-list-01/offering-list.d.ts.map +1 -0
  391. package/dist/blocks/offering-list-01/offering-list.js +366 -0
  392. package/dist/blocks/onboarding-01/index.d.ts +3 -0
  393. package/dist/blocks/onboarding-01/index.d.ts.map +1 -0
  394. package/dist/blocks/onboarding-01/index.js +1 -0
  395. package/dist/blocks/onboarding-01/onboarding.d.ts +199 -0
  396. package/dist/blocks/onboarding-01/onboarding.d.ts.map +1 -0
  397. package/dist/blocks/onboarding-01/onboarding.js +182 -0
  398. package/dist/blocks/ops-checklist-01/index.d.ts +3 -0
  399. package/dist/blocks/ops-checklist-01/index.d.ts.map +1 -0
  400. package/dist/blocks/ops-checklist-01/index.js +1 -0
  401. package/dist/blocks/ops-checklist-01/ops-checklist-01.d.ts +308 -0
  402. package/dist/blocks/ops-checklist-01/ops-checklist-01.d.ts.map +1 -0
  403. package/dist/blocks/ops-checklist-01/ops-checklist-01.js +165 -0
  404. package/dist/blocks/page-header-01/index.d.ts +1 -1
  405. package/dist/blocks/page-header-01/index.d.ts.map +1 -1
  406. package/dist/blocks/page-header-01/page-header.d.ts +124 -11
  407. package/dist/blocks/page-header-01/page-header.d.ts.map +1 -1
  408. package/dist/blocks/page-header-01/page-header.js +25 -9
  409. package/dist/blocks/passkey-01/index.d.ts +3 -0
  410. package/dist/blocks/passkey-01/index.d.ts.map +1 -0
  411. package/dist/blocks/passkey-01/index.js +1 -0
  412. package/dist/blocks/passkey-01/passkey-01.d.ts +334 -0
  413. package/dist/blocks/passkey-01/passkey-01.d.ts.map +1 -0
  414. package/dist/blocks/passkey-01/passkey-01.js +192 -0
  415. package/dist/blocks/permission-matrix-01/index.d.ts +3 -0
  416. package/dist/blocks/permission-matrix-01/index.d.ts.map +1 -0
  417. package/dist/blocks/permission-matrix-01/index.js +1 -0
  418. package/dist/blocks/permission-matrix-01/permission-matrix.d.ts +282 -0
  419. package/dist/blocks/permission-matrix-01/permission-matrix.d.ts.map +1 -0
  420. package/dist/blocks/permission-matrix-01/permission-matrix.js +173 -0
  421. package/dist/blocks/pricing-01/index.d.ts +1 -0
  422. package/dist/blocks/pricing-01/index.d.ts.map +1 -1
  423. package/dist/blocks/pricing-01/pricing.d.ts +118 -1
  424. package/dist/blocks/pricing-01/pricing.d.ts.map +1 -1
  425. package/dist/blocks/pricing-01/pricing.js +9 -2
  426. package/dist/blocks/pricing-compare-01/index.d.ts +3 -0
  427. package/dist/blocks/pricing-compare-01/index.d.ts.map +1 -0
  428. package/dist/blocks/pricing-compare-01/index.js +1 -0
  429. package/dist/blocks/pricing-compare-01/pricing-compare.d.ts +277 -0
  430. package/dist/blocks/pricing-compare-01/pricing-compare.d.ts.map +1 -0
  431. package/dist/blocks/pricing-compare-01/pricing-compare.js +126 -0
  432. package/dist/blocks/project-01/index.d.ts +3 -0
  433. package/dist/blocks/project-01/index.d.ts.map +1 -0
  434. package/dist/blocks/project-01/index.js +1 -0
  435. package/dist/blocks/project-01/project.d.ts +323 -0
  436. package/dist/blocks/project-01/project.d.ts.map +1 -0
  437. package/dist/blocks/project-01/project.js +247 -0
  438. package/dist/blocks/project-dashboard-01/index.d.ts +3 -0
  439. package/dist/blocks/project-dashboard-01/index.d.ts.map +1 -0
  440. package/dist/blocks/project-dashboard-01/index.js +1 -0
  441. package/dist/blocks/project-dashboard-01/project-dashboard.d.ts +200 -0
  442. package/dist/blocks/project-dashboard-01/project-dashboard.d.ts.map +1 -0
  443. package/dist/blocks/project-dashboard-01/project-dashboard.js +124 -0
  444. package/dist/blocks/project-list-01/index.d.ts +3 -0
  445. package/dist/blocks/project-list-01/index.d.ts.map +1 -0
  446. package/dist/blocks/project-list-01/index.js +1 -0
  447. package/dist/blocks/project-list-01/project-list.d.ts +301 -0
  448. package/dist/blocks/project-list-01/project-list.d.ts.map +1 -0
  449. package/dist/blocks/project-list-01/project-list.js +305 -0
  450. package/dist/blocks/provisioning-01/index.d.ts +3 -0
  451. package/dist/blocks/provisioning-01/index.d.ts.map +1 -0
  452. package/dist/blocks/provisioning-01/index.js +1 -0
  453. package/dist/blocks/provisioning-01/provisioning.d.ts +357 -0
  454. package/dist/blocks/provisioning-01/provisioning.d.ts.map +1 -0
  455. package/dist/blocks/provisioning-01/provisioning.js +230 -0
  456. package/dist/blocks/quick-view-01/index.d.ts +3 -0
  457. package/dist/blocks/quick-view-01/index.d.ts.map +1 -0
  458. package/dist/blocks/quick-view-01/index.js +1 -0
  459. package/dist/blocks/quick-view-01/quick-view.d.ts +215 -0
  460. package/dist/blocks/quick-view-01/quick-view.d.ts.map +1 -0
  461. package/dist/blocks/quick-view-01/quick-view.js +136 -0
  462. package/dist/blocks/rate-card-01/index.d.ts +3 -0
  463. package/dist/blocks/rate-card-01/index.d.ts.map +1 -0
  464. package/dist/blocks/rate-card-01/index.js +1 -0
  465. package/dist/blocks/rate-card-01/rate-card.d.ts +184 -0
  466. package/dist/blocks/rate-card-01/rate-card.d.ts.map +1 -0
  467. package/dist/blocks/rate-card-01/rate-card.js +79 -0
  468. package/dist/blocks/reset-password-01/index.d.ts +3 -0
  469. package/dist/blocks/reset-password-01/index.d.ts.map +1 -0
  470. package/dist/blocks/reset-password-01/index.js +1 -0
  471. package/dist/blocks/reset-password-01/reset-password.d.ts +276 -0
  472. package/dist/blocks/reset-password-01/reset-password.d.ts.map +1 -0
  473. package/dist/blocks/reset-password-01/reset-password.js +175 -0
  474. package/dist/blocks/resource-list-01/index.d.ts +3 -0
  475. package/dist/blocks/resource-list-01/index.d.ts.map +1 -0
  476. package/dist/blocks/resource-list-01/index.js +1 -0
  477. package/dist/blocks/resource-list-01/resource-list.d.ts +237 -0
  478. package/dist/blocks/resource-list-01/resource-list.d.ts.map +1 -0
  479. package/dist/blocks/resource-list-01/resource-list.js +154 -0
  480. package/dist/blocks/retention-01/index.d.ts +3 -0
  481. package/dist/blocks/retention-01/index.d.ts.map +1 -0
  482. package/dist/blocks/retention-01/index.js +1 -0
  483. package/dist/blocks/retention-01/retention.d.ts +255 -0
  484. package/dist/blocks/retention-01/retention.d.ts.map +1 -0
  485. package/dist/blocks/retention-01/retention.js +145 -0
  486. package/dist/blocks/run-console-01/run-console.d.ts +14 -1
  487. package/dist/blocks/run-console-01/run-console.d.ts.map +1 -1
  488. package/dist/blocks/run-console-01/run-console.js +3 -2
  489. package/dist/blocks/services-01/index.d.ts +3 -0
  490. package/dist/blocks/services-01/index.d.ts.map +1 -0
  491. package/dist/blocks/services-01/index.js +1 -0
  492. package/dist/blocks/services-01/services.d.ts +159 -0
  493. package/dist/blocks/services-01/services.d.ts.map +1 -0
  494. package/dist/blocks/services-01/services.js +81 -0
  495. package/dist/blocks/settings-integrations-01/index.d.ts +3 -0
  496. package/dist/blocks/settings-integrations-01/index.d.ts.map +1 -0
  497. package/dist/blocks/settings-integrations-01/index.js +1 -0
  498. package/dist/blocks/settings-integrations-01/settings-integrations.d.ts +246 -0
  499. package/dist/blocks/settings-integrations-01/settings-integrations.d.ts.map +1 -0
  500. package/dist/blocks/settings-integrations-01/settings-integrations.js +213 -0
  501. package/dist/blocks/settings-members-01/index.d.ts +3 -0
  502. package/dist/blocks/settings-members-01/index.d.ts.map +1 -0
  503. package/dist/blocks/settings-members-01/index.js +1 -0
  504. package/dist/blocks/settings-members-01/settings-members.d.ts +396 -0
  505. package/dist/blocks/settings-members-01/settings-members.d.ts.map +1 -0
  506. package/dist/blocks/settings-members-01/settings-members.js +255 -0
  507. package/dist/blocks/settings-notifications-01/index.d.ts +3 -0
  508. package/dist/blocks/settings-notifications-01/index.d.ts.map +1 -0
  509. package/dist/blocks/settings-notifications-01/index.js +1 -0
  510. package/dist/blocks/settings-notifications-01/settings-notifications.d.ts +270 -0
  511. package/dist/blocks/settings-notifications-01/settings-notifications.d.ts.map +1 -0
  512. package/dist/blocks/settings-notifications-01/settings-notifications.js +202 -0
  513. package/dist/blocks/settings-security-01/index.d.ts +3 -0
  514. package/dist/blocks/settings-security-01/index.d.ts.map +1 -0
  515. package/dist/blocks/settings-security-01/index.js +1 -0
  516. package/dist/blocks/settings-security-01/settings-security.d.ts +439 -0
  517. package/dist/blocks/settings-security-01/settings-security.d.ts.map +1 -0
  518. package/dist/blocks/settings-security-01/settings-security.js +244 -0
  519. package/dist/blocks/shortlist-01/index.d.ts +3 -0
  520. package/dist/blocks/shortlist-01/index.d.ts.map +1 -0
  521. package/dist/blocks/shortlist-01/index.js +1 -0
  522. package/dist/blocks/shortlist-01/shortlist-01.d.ts +337 -0
  523. package/dist/blocks/shortlist-01/shortlist-01.d.ts.map +1 -0
  524. package/dist/blocks/shortlist-01/shortlist-01.js +191 -0
  525. package/dist/blocks/showcase-01/index.d.ts +3 -0
  526. package/dist/blocks/showcase-01/index.d.ts.map +1 -0
  527. package/dist/blocks/showcase-01/index.js +1 -0
  528. package/dist/blocks/showcase-01/showcase-01.d.ts +238 -0
  529. package/dist/blocks/showcase-01/showcase-01.d.ts.map +1 -0
  530. package/dist/blocks/showcase-01/showcase-01.js +84 -0
  531. package/dist/blocks/signup-01/index.d.ts +3 -0
  532. package/dist/blocks/signup-01/index.d.ts.map +1 -0
  533. package/dist/blocks/signup-01/index.js +1 -0
  534. package/dist/blocks/signup-01/signup-01.d.ts +405 -0
  535. package/dist/blocks/signup-01/signup-01.d.ts.map +1 -0
  536. package/dist/blocks/signup-01/signup-01.js +209 -0
  537. package/dist/blocks/site-footer/site-footer.d.ts +18 -1
  538. package/dist/blocks/site-footer/site-footer.d.ts.map +1 -1
  539. package/dist/blocks/site-footer/site-footer.js +8 -2
  540. package/dist/blocks/site-header/site-header.js +1 -1
  541. package/dist/blocks/site-navbar/site-navbar.d.ts +37 -3
  542. package/dist/blocks/site-navbar/site-navbar.d.ts.map +1 -1
  543. package/dist/blocks/site-navbar/site-navbar.js +33 -4
  544. package/dist/blocks/spec-table-01/index.d.ts +3 -0
  545. package/dist/blocks/spec-table-01/index.d.ts.map +1 -0
  546. package/dist/blocks/spec-table-01/index.js +1 -0
  547. package/dist/blocks/spec-table-01/spec-table.d.ts +293 -0
  548. package/dist/blocks/spec-table-01/spec-table.d.ts.map +1 -0
  549. package/dist/blocks/spec-table-01/spec-table.js +217 -0
  550. package/dist/blocks/story-01/index.d.ts +3 -0
  551. package/dist/blocks/story-01/index.d.ts.map +1 -0
  552. package/dist/blocks/story-01/index.js +1 -0
  553. package/dist/blocks/story-01/story.d.ts +153 -0
  554. package/dist/blocks/story-01/story.d.ts.map +1 -0
  555. package/dist/blocks/story-01/story.js +103 -0
  556. package/dist/blocks/summary-01/index.d.ts +3 -0
  557. package/dist/blocks/summary-01/index.d.ts.map +1 -0
  558. package/dist/blocks/summary-01/index.js +1 -0
  559. package/dist/blocks/summary-01/summary.d.ts +300 -0
  560. package/dist/blocks/summary-01/summary.d.ts.map +1 -0
  561. package/dist/blocks/summary-01/summary.js +174 -0
  562. package/dist/blocks/team-01/index.d.ts +3 -0
  563. package/dist/blocks/team-01/index.d.ts.map +1 -0
  564. package/dist/blocks/team-01/index.js +1 -0
  565. package/dist/blocks/team-01/team.d.ts +176 -0
  566. package/dist/blocks/team-01/team.d.ts.map +1 -0
  567. package/dist/blocks/team-01/team.js +117 -0
  568. package/dist/blocks/testimonial-01/index.d.ts +3 -0
  569. package/dist/blocks/testimonial-01/index.d.ts.map +1 -0
  570. package/dist/blocks/testimonial-01/index.js +1 -0
  571. package/dist/blocks/testimonial-01/testimonial.d.ts +173 -0
  572. package/dist/blocks/testimonial-01/testimonial.d.ts.map +1 -0
  573. package/dist/blocks/testimonial-01/testimonial.js +87 -0
  574. package/dist/blocks/todo-01/index.d.ts +3 -0
  575. package/dist/blocks/todo-01/index.d.ts.map +1 -0
  576. package/dist/blocks/todo-01/index.js +1 -0
  577. package/dist/blocks/todo-01/todo.d.ts +286 -0
  578. package/dist/blocks/todo-01/todo.d.ts.map +1 -0
  579. package/dist/blocks/todo-01/todo.js +149 -0
  580. package/dist/blocks/trend-01/index.d.ts +3 -0
  581. package/dist/blocks/trend-01/index.d.ts.map +1 -0
  582. package/dist/blocks/trend-01/index.js +1 -0
  583. package/dist/blocks/trend-01/trend.d.ts +184 -0
  584. package/dist/blocks/trend-01/trend.d.ts.map +1 -0
  585. package/dist/blocks/trend-01/trend.js +99 -0
  586. package/dist/blocks/trust-strip-01/index.d.ts +3 -0
  587. package/dist/blocks/trust-strip-01/index.d.ts.map +1 -0
  588. package/dist/blocks/trust-strip-01/index.js +1 -0
  589. package/dist/blocks/trust-strip-01/trust-strip-01.d.ts +139 -0
  590. package/dist/blocks/trust-strip-01/trust-strip-01.d.ts.map +1 -0
  591. package/dist/blocks/trust-strip-01/trust-strip-01.js +58 -0
  592. package/dist/blocks/two-factor-01/index.d.ts +3 -0
  593. package/dist/blocks/two-factor-01/index.d.ts.map +1 -0
  594. package/dist/blocks/two-factor-01/index.js +1 -0
  595. package/dist/blocks/two-factor-01/two-factor-01.d.ts +440 -0
  596. package/dist/blocks/two-factor-01/two-factor-01.d.ts.map +1 -0
  597. package/dist/blocks/two-factor-01/two-factor-01.js +273 -0
  598. package/dist/blocks/user-profile-01/index.d.ts +3 -0
  599. package/dist/blocks/user-profile-01/index.d.ts.map +1 -0
  600. package/dist/blocks/user-profile-01/index.js +1 -0
  601. package/dist/blocks/user-profile-01/user-profile-01.d.ts +258 -0
  602. package/dist/blocks/user-profile-01/user-profile-01.d.ts.map +1 -0
  603. package/dist/blocks/user-profile-01/user-profile-01.js +158 -0
  604. package/dist/blocks/verify-email-01/index.d.ts +3 -0
  605. package/dist/blocks/verify-email-01/index.d.ts.map +1 -0
  606. package/dist/blocks/verify-email-01/index.js +1 -0
  607. package/dist/blocks/verify-email-01/verify-email.d.ts +262 -0
  608. package/dist/blocks/verify-email-01/verify-email.d.ts.map +1 -0
  609. package/dist/blocks/verify-email-01/verify-email.js +190 -0
  610. package/dist/blocks/waitlist-01/index.d.ts +3 -0
  611. package/dist/blocks/waitlist-01/index.d.ts.map +1 -0
  612. package/dist/blocks/waitlist-01/index.js +1 -0
  613. package/dist/blocks/waitlist-01/waitlist.d.ts +254 -0
  614. package/dist/blocks/waitlist-01/waitlist.d.ts.map +1 -0
  615. package/dist/blocks/waitlist-01/waitlist.js +75 -0
  616. package/dist/catalog.d.ts.map +1 -1
  617. package/dist/catalog.js +1641 -1
  618. package/dist/components/index.d.ts +114 -0
  619. package/dist/components/index.d.ts.map +1 -1
  620. package/dist/components/index.js +134 -0
  621. package/dist/components/ui/accordion.d.ts.map +1 -1
  622. package/dist/components/ui/accordion.js +9 -2
  623. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  624. package/dist/components/ui/alert-dialog.js +22 -4
  625. package/dist/components/ui/announcement.d.ts +169 -0
  626. package/dist/components/ui/announcement.d.ts.map +1 -0
  627. package/dist/components/ui/announcement.js +123 -0
  628. package/dist/components/ui/avatar-group.d.ts +176 -0
  629. package/dist/components/ui/avatar-group.d.ts.map +1 -0
  630. package/dist/components/ui/avatar-group.js +135 -0
  631. package/dist/components/ui/billing-source.d.ts +293 -0
  632. package/dist/components/ui/billing-source.d.ts.map +1 -0
  633. package/dist/components/ui/billing-source.js +136 -0
  634. package/dist/components/ui/button.d.ts +16 -1
  635. package/dist/components/ui/button.d.ts.map +1 -1
  636. package/dist/components/ui/button.js +17 -2
  637. package/dist/components/ui/calendar.d.ts +9 -0
  638. package/dist/components/ui/calendar.d.ts.map +1 -1
  639. package/dist/components/ui/calendar.js +30 -2
  640. package/dist/components/ui/carousel.d.ts +7 -0
  641. package/dist/components/ui/carousel.d.ts.map +1 -1
  642. package/dist/components/ui/carousel.js +58 -1
  643. package/dist/components/ui/chart.d.ts +334 -0
  644. package/dist/components/ui/chart.d.ts.map +1 -0
  645. package/dist/components/ui/chart.js +369 -0
  646. package/dist/components/ui/checkbox.d.ts +10 -0
  647. package/dist/components/ui/checkbox.d.ts.map +1 -1
  648. package/dist/components/ui/checkbox.js +19 -1
  649. package/dist/components/ui/checklist.d.ts +262 -0
  650. package/dist/components/ui/checklist.d.ts.map +1 -0
  651. package/dist/components/ui/checklist.js +135 -0
  652. package/dist/components/ui/choice-card.d.ts +273 -0
  653. package/dist/components/ui/choice-card.d.ts.map +1 -0
  654. package/dist/components/ui/choice-card.js +138 -0
  655. package/dist/components/ui/code-block.d.ts +182 -0
  656. package/dist/components/ui/code-block.d.ts.map +1 -0
  657. package/dist/components/ui/code-block.js +108 -0
  658. package/dist/components/ui/cohort-grid.d.ts +210 -0
  659. package/dist/components/ui/cohort-grid.d.ts.map +1 -0
  660. package/dist/components/ui/cohort-grid.js +202 -0
  661. package/dist/components/ui/collapsible.d.ts +11 -0
  662. package/dist/components/ui/collapsible.d.ts.map +1 -1
  663. package/dist/components/ui/collapsible.js +13 -2
  664. package/dist/components/ui/combobox.d.ts +4 -1
  665. package/dist/components/ui/combobox.d.ts.map +1 -1
  666. package/dist/components/ui/combobox.js +20 -4
  667. package/dist/components/ui/command-palette.d.ts +11 -0
  668. package/dist/components/ui/command-palette.d.ts.map +1 -1
  669. package/dist/components/ui/command-palette.js +49 -3
  670. package/dist/components/ui/contribution-graph.d.ts +156 -0
  671. package/dist/components/ui/contribution-graph.d.ts.map +1 -0
  672. package/dist/components/ui/contribution-graph.js +170 -0
  673. package/dist/components/ui/creatable-combobox.d.ts +153 -0
  674. package/dist/components/ui/creatable-combobox.d.ts.map +1 -0
  675. package/dist/components/ui/creatable-combobox.js +285 -0
  676. package/dist/components/ui/data-toolbar.d.ts +133 -0
  677. package/dist/components/ui/data-toolbar.d.ts.map +1 -0
  678. package/dist/components/ui/data-toolbar.js +67 -0
  679. package/dist/components/ui/date-picker.d.ts.map +1 -1
  680. package/dist/components/ui/date-picker.js +9 -1
  681. package/dist/components/ui/dialog.d.ts +31 -2
  682. package/dist/components/ui/dialog.d.ts.map +1 -1
  683. package/dist/components/ui/dialog.js +40 -6
  684. package/dist/components/ui/drawer.d.ts +270 -0
  685. package/dist/components/ui/drawer.d.ts.map +1 -0
  686. package/dist/components/ui/drawer.js +241 -0
  687. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  688. package/dist/components/ui/dropdown-menu.js +6 -1
  689. package/dist/components/ui/dropzone.d.ts +147 -0
  690. package/dist/components/ui/dropzone.d.ts.map +1 -0
  691. package/dist/components/ui/dropzone.js +141 -0
  692. package/dist/components/ui/emoji-picker.d.ts +328 -0
  693. package/dist/components/ui/emoji-picker.d.ts.map +1 -0
  694. package/dist/components/ui/emoji-picker.js +278 -0
  695. package/dist/components/ui/file-upload.d.ts +152 -0
  696. package/dist/components/ui/file-upload.d.ts.map +1 -0
  697. package/dist/components/ui/file-upload.js +101 -0
  698. package/dist/components/ui/filter-panel.d.ts +164 -0
  699. package/dist/components/ui/filter-panel.d.ts.map +1 -0
  700. package/dist/components/ui/filter-panel.js +91 -0
  701. package/dist/components/ui/form-dialog.d.ts +257 -0
  702. package/dist/components/ui/form-dialog.d.ts.map +1 -0
  703. package/dist/components/ui/form-dialog.js +176 -0
  704. package/dist/components/ui/form-wizard.d.ts +251 -0
  705. package/dist/components/ui/form-wizard.d.ts.map +1 -0
  706. package/dist/components/ui/form-wizard.js +151 -0
  707. package/dist/components/ui/image-list-field.d.ts +232 -0
  708. package/dist/components/ui/image-list-field.d.ts.map +1 -0
  709. package/dist/components/ui/image-list-field.js +168 -0
  710. package/dist/components/ui/image-zoom.d.ts +164 -0
  711. package/dist/components/ui/image-zoom.d.ts.map +1 -0
  712. package/dist/components/ui/image-zoom.js +169 -0
  713. package/dist/components/ui/intensity-grid.d.ts +270 -0
  714. package/dist/components/ui/intensity-grid.d.ts.map +1 -0
  715. package/dist/components/ui/intensity-grid.js +211 -0
  716. package/dist/components/ui/lifecycle-button.d.ts +276 -0
  717. package/dist/components/ui/lifecycle-button.d.ts.map +1 -0
  718. package/dist/components/ui/lifecycle-button.js +144 -0
  719. package/dist/components/ui/lightbox.d.ts +165 -0
  720. package/dist/components/ui/lightbox.d.ts.map +1 -0
  721. package/dist/components/ui/lightbox.js +130 -0
  722. package/dist/components/ui/list-panel.d.ts +288 -0
  723. package/dist/components/ui/list-panel.d.ts.map +1 -0
  724. package/dist/components/ui/list-panel.js +139 -0
  725. package/dist/components/ui/mega-menu.d.ts +244 -0
  726. package/dist/components/ui/mega-menu.d.ts.map +1 -0
  727. package/dist/components/ui/mega-menu.js +97 -0
  728. package/dist/components/ui/menubar.d.ts +9 -0
  729. package/dist/components/ui/menubar.d.ts.map +1 -1
  730. package/dist/components/ui/menubar.js +10 -1
  731. package/dist/components/ui/metric.d.ts +123 -0
  732. package/dist/components/ui/metric.d.ts.map +1 -0
  733. package/dist/components/ui/metric.js +68 -0
  734. package/dist/components/ui/mini-calendar.d.ts +143 -0
  735. package/dist/components/ui/mini-calendar.d.ts.map +1 -0
  736. package/dist/components/ui/mini-calendar.js +261 -0
  737. package/dist/components/ui/mode-toggle.d.ts +102 -0
  738. package/dist/components/ui/mode-toggle.d.ts.map +1 -0
  739. package/dist/components/ui/mode-toggle.js +83 -0
  740. package/dist/components/ui/money-field.d.ts +200 -0
  741. package/dist/components/ui/money-field.d.ts.map +1 -0
  742. package/dist/components/ui/money-field.js +215 -0
  743. package/dist/components/ui/multi-combobox.d.ts +181 -0
  744. package/dist/components/ui/multi-combobox.d.ts.map +1 -0
  745. package/dist/components/ui/multi-combobox.js +297 -0
  746. package/dist/components/ui/native-select.d.ts.map +1 -1
  747. package/dist/components/ui/native-select.js +8 -1
  748. package/dist/components/ui/navigation-menu.d.ts +7 -0
  749. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  750. package/dist/components/ui/navigation-menu.js +8 -1
  751. package/dist/components/ui/nested-tabs.d.ts +188 -0
  752. package/dist/components/ui/nested-tabs.d.ts.map +1 -0
  753. package/dist/components/ui/nested-tabs.js +75 -0
  754. package/dist/components/ui/number-field.d.ts +40 -7
  755. package/dist/components/ui/number-field.d.ts.map +1 -1
  756. package/dist/components/ui/number-field.js +37 -7
  757. package/dist/components/ui/overflow-actions.d.ts +169 -0
  758. package/dist/components/ui/overflow-actions.d.ts.map +1 -0
  759. package/dist/components/ui/overflow-actions.js +266 -0
  760. package/dist/components/ui/pack-swatch.d.ts +177 -0
  761. package/dist/components/ui/pack-swatch.d.ts.map +1 -0
  762. package/dist/components/ui/pack-swatch.js +117 -0
  763. package/dist/components/ui/pack-switcher.d.ts +221 -0
  764. package/dist/components/ui/pack-switcher.d.ts.map +1 -0
  765. package/dist/components/ui/pack-switcher.js +94 -0
  766. package/dist/components/ui/pagination.d.ts +22 -0
  767. package/dist/components/ui/pagination.d.ts.map +1 -1
  768. package/dist/components/ui/pagination.js +23 -1
  769. package/dist/components/ui/password-field.d.ts +122 -0
  770. package/dist/components/ui/password-field.d.ts.map +1 -0
  771. package/dist/components/ui/password-field.js +69 -0
  772. package/dist/components/ui/pill.d.ts +172 -0
  773. package/dist/components/ui/pill.d.ts.map +1 -0
  774. package/dist/components/ui/pill.js +102 -0
  775. package/dist/components/ui/platform-modifier-key.d.ts +129 -0
  776. package/dist/components/ui/platform-modifier-key.d.ts.map +1 -0
  777. package/dist/components/ui/platform-modifier-key.js +125 -0
  778. package/dist/components/ui/popover.d.ts.map +1 -1
  779. package/dist/components/ui/popover.js +8 -1
  780. package/dist/components/ui/price.d.ts +144 -0
  781. package/dist/components/ui/price.d.ts.map +1 -0
  782. package/dist/components/ui/price.js +107 -0
  783. package/dist/components/ui/progress.d.ts +55 -1
  784. package/dist/components/ui/progress.d.ts.map +1 -1
  785. package/dist/components/ui/progress.js +110 -2
  786. package/dist/components/ui/prompt-composer.d.ts +302 -0
  787. package/dist/components/ui/prompt-composer.d.ts.map +1 -0
  788. package/dist/components/ui/prompt-composer.js +145 -0
  789. package/dist/components/ui/proportion-list.d.ts +188 -0
  790. package/dist/components/ui/proportion-list.d.ts.map +1 -0
  791. package/dist/components/ui/proportion-list.js +134 -0
  792. package/dist/components/ui/prose.d.ts +23 -0
  793. package/dist/components/ui/prose.d.ts.map +1 -1
  794. package/dist/components/ui/prose.js +30 -1
  795. package/dist/components/ui/radio-group.d.ts +7 -0
  796. package/dist/components/ui/radio-group.d.ts.map +1 -1
  797. package/dist/components/ui/radio-group.js +8 -1
  798. package/dist/components/ui/range-field.d.ts +158 -0
  799. package/dist/components/ui/range-field.d.ts.map +1 -0
  800. package/dist/components/ui/range-field.js +208 -0
  801. package/dist/components/ui/relative-time.d.ts +116 -0
  802. package/dist/components/ui/relative-time.d.ts.map +1 -0
  803. package/dist/components/ui/relative-time.js +67 -0
  804. package/dist/components/ui/reorderable-list.d.ts +262 -0
  805. package/dist/components/ui/reorderable-list.d.ts.map +1 -0
  806. package/dist/components/ui/reorderable-list.js +325 -0
  807. package/dist/components/ui/repeatable-rows.d.ts +241 -0
  808. package/dist/components/ui/repeatable-rows.d.ts.map +1 -0
  809. package/dist/components/ui/repeatable-rows.js +221 -0
  810. package/dist/components/ui/repo-stars.d.ts +165 -0
  811. package/dist/components/ui/repo-stars.d.ts.map +1 -0
  812. package/dist/components/ui/repo-stars.js +92 -0
  813. package/dist/components/ui/resizable.d.ts +24 -0
  814. package/dist/components/ui/resizable.d.ts.map +1 -1
  815. package/dist/components/ui/resizable.js +96 -4
  816. package/dist/components/ui/search-dialog.d.ts +40 -5
  817. package/dist/components/ui/search-dialog.d.ts.map +1 -1
  818. package/dist/components/ui/search-dialog.js +94 -16
  819. package/dist/components/ui/search-field.d.ts +159 -0
  820. package/dist/components/ui/search-field.d.ts.map +1 -0
  821. package/dist/components/ui/search-field.js +98 -0
  822. package/dist/components/ui/section.d.ts +108 -1
  823. package/dist/components/ui/section.d.ts.map +1 -1
  824. package/dist/components/ui/section.js +109 -3
  825. package/dist/components/ui/select.d.ts.map +1 -1
  826. package/dist/components/ui/select.js +9 -1
  827. package/dist/components/ui/selection-toolbar.d.ts +166 -0
  828. package/dist/components/ui/selection-toolbar.d.ts.map +1 -0
  829. package/dist/components/ui/selection-toolbar.js +139 -0
  830. package/dist/components/ui/sidebar.d.ts +29 -0
  831. package/dist/components/ui/sidebar.d.ts.map +1 -1
  832. package/dist/components/ui/sidebar.js +35 -2
  833. package/dist/components/ui/signal-field.d.ts.map +1 -1
  834. package/dist/components/ui/signal-field.js +1 -1
  835. package/dist/components/ui/slider.d.ts +7 -0
  836. package/dist/components/ui/slider.d.ts.map +1 -1
  837. package/dist/components/ui/slider.js +32 -1
  838. package/dist/components/ui/sparkline.d.ts +117 -0
  839. package/dist/components/ui/sparkline.d.ts.map +1 -0
  840. package/dist/components/ui/sparkline.js +113 -0
  841. package/dist/components/ui/spinner.d.ts.map +1 -1
  842. package/dist/components/ui/spinner.js +13 -0
  843. package/dist/components/ui/split-button.d.ts +207 -0
  844. package/dist/components/ui/split-button.d.ts.map +1 -0
  845. package/dist/components/ui/split-button.js +75 -0
  846. package/dist/components/ui/stateful-table.d.ts +345 -0
  847. package/dist/components/ui/stateful-table.d.ts.map +1 -0
  848. package/dist/components/ui/stateful-table.js +169 -0
  849. package/dist/components/ui/status.d.ts +99 -0
  850. package/dist/components/ui/status.d.ts.map +1 -0
  851. package/dist/components/ui/status.js +63 -0
  852. package/dist/components/ui/stepper.d.ts +155 -0
  853. package/dist/components/ui/stepper.d.ts.map +1 -0
  854. package/dist/components/ui/stepper.js +83 -0
  855. package/dist/components/ui/steps.d.ts +141 -0
  856. package/dist/components/ui/steps.d.ts.map +1 -0
  857. package/dist/components/ui/steps.js +128 -0
  858. package/dist/components/ui/switch.d.ts +8 -0
  859. package/dist/components/ui/switch.d.ts.map +1 -1
  860. package/dist/components/ui/switch.js +12 -1
  861. package/dist/components/ui/tabs.d.ts +21 -2
  862. package/dist/components/ui/tabs.d.ts.map +1 -1
  863. package/dist/components/ui/tabs.js +23 -4
  864. package/dist/components/ui/tag-group.d.ts +154 -0
  865. package/dist/components/ui/tag-group.d.ts.map +1 -0
  866. package/dist/components/ui/tag-group.js +111 -0
  867. package/dist/components/ui/task-progress.d.ts +149 -0
  868. package/dist/components/ui/task-progress.d.ts.map +1 -0
  869. package/dist/components/ui/task-progress.js +110 -0
  870. package/dist/components/ui/text-format-toolbar.d.ts +211 -0
  871. package/dist/components/ui/text-format-toolbar.d.ts.map +1 -0
  872. package/dist/components/ui/text-format-toolbar.js +186 -0
  873. package/dist/components/ui/timeline.d.ts.map +1 -1
  874. package/dist/components/ui/timeline.js +10 -1
  875. package/dist/components/ui/toast.d.ts +32 -10
  876. package/dist/components/ui/toast.d.ts.map +1 -1
  877. package/dist/components/ui/toast.js +150 -47
  878. package/dist/components/ui/toggle-group.d.ts +14 -5
  879. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  880. package/dist/components/ui/toggle-group.js +15 -1
  881. package/dist/components/ui/toggle.d.ts.map +1 -1
  882. package/dist/components/ui/toggle.js +9 -1
  883. package/dist/components/ui/tree.d.ts +8 -0
  884. package/dist/components/ui/tree.d.ts.map +1 -1
  885. package/dist/components/ui/tree.js +92 -13
  886. package/dist/components/ui/video-player.d.ts +236 -0
  887. package/dist/components/ui/video-player.d.ts.map +1 -0
  888. package/dist/components/ui/video-player.js +72 -0
  889. package/dist/fonts/inter-latin-400-italic.woff2 +0 -0
  890. package/dist/index.d.ts +112 -0
  891. package/dist/index.d.ts.map +1 -1
  892. package/dist/index.js +72 -0
  893. package/dist/lib/utils.d.ts +29 -0
  894. package/dist/lib/utils.d.ts.map +1 -1
  895. package/dist/lib/utils.js +35 -0
  896. package/dist/live/index.d.ts +10 -3
  897. package/dist/live/index.d.ts.map +1 -1
  898. package/dist/live/index.js +12 -3
  899. package/dist/live/run-stream-01/run-stream.js +4 -4
  900. package/dist/live/tool-ledger-01/index.d.ts +3 -0
  901. package/dist/live/tool-ledger-01/index.d.ts.map +1 -0
  902. package/dist/live/tool-ledger-01/index.js +1 -0
  903. package/dist/live/tool-ledger-01/tool-ledger.d.ts +348 -0
  904. package/dist/live/tool-ledger-01/tool-ledger.d.ts.map +1 -0
  905. package/dist/live/tool-ledger-01/tool-ledger.js +245 -0
  906. package/dist/pages/about-page/index.d.ts +306 -0
  907. package/dist/pages/about-page/index.d.ts.map +1 -0
  908. package/dist/pages/about-page/index.js +161 -0
  909. package/dist/pages/careers-page/index.d.ts +288 -0
  910. package/dist/pages/careers-page/index.d.ts.map +1 -0
  911. package/dist/pages/careers-page/index.js +182 -0
  912. package/dist/pages/changelog-page/index.d.ts +255 -0
  913. package/dist/pages/changelog-page/index.d.ts.map +1 -0
  914. package/dist/pages/changelog-page/index.js +86 -0
  915. package/dist/pages/contact-page/index.d.ts +261 -0
  916. package/dist/pages/contact-page/index.d.ts.map +1 -0
  917. package/dist/pages/contact-page/index.js +136 -0
  918. package/dist/pages/docs-shell/docs-shell.d.ts +8 -0
  919. package/dist/pages/docs-shell/docs-shell.d.ts.map +1 -1
  920. package/dist/pages/docs-shell/docs-shell.js +24 -7
  921. package/dist/pages/error-page/index.d.ts +188 -0
  922. package/dist/pages/error-page/index.d.ts.map +1 -0
  923. package/dist/pages/error-page/index.js +98 -0
  924. package/dist/pages/index.d.ts +10 -0
  925. package/dist/pages/index.d.ts.map +1 -1
  926. package/dist/pages/index.js +14 -0
  927. package/dist/pages/legal-page/index.d.ts +194 -0
  928. package/dist/pages/legal-page/index.d.ts.map +1 -0
  929. package/dist/pages/legal-page/index.js +99 -0
  930. package/dist/pages/onboarding-page/index.d.ts +199 -0
  931. package/dist/pages/onboarding-page/index.d.ts.map +1 -0
  932. package/dist/pages/onboarding-page/index.js +71 -0
  933. package/dist/pages/pricing-page/index.d.ts +286 -0
  934. package/dist/pages/pricing-page/index.d.ts.map +1 -0
  935. package/dist/pages/pricing-page/index.js +139 -0
  936. package/dist/pages/search-page/index.d.ts +305 -0
  937. package/dist/pages/search-page/index.d.ts.map +1 -0
  938. package/dist/pages/search-page/index.js +142 -0
  939. package/dist/pages/status-page/index.d.ts +366 -0
  940. package/dist/pages/status-page/index.d.ts.map +1 -0
  941. package/dist/pages/status-page/index.js +136 -0
  942. package/dist/styles.css +1003 -55
  943. package/package.json +9 -3
@@ -0,0 +1,334 @@
1
+ import type { ReactNode } from 'react';
2
+ import { type HeadingLevel } from '../../components/ui/section.js';
3
+ /**
4
+ * One thing that can sign a reader in without a secret, and what is known about it.
5
+ *
6
+ * **A name and two moments and a transport, and none of them is anything this
7
+ * package can verify.** The name is the reader's own, because a passkey is only
8
+ * identifiable by the person who registered it: a fingerprint reader called "the
9
+ * office laptop's Touch ID" is a name a reader can recognise and a fingerprint
10
+ * template id is not. The two moments are whatever the caller already holds, in
11
+ * either of the two forms a caller holds a moment in, and the transport is a string
12
+ * the caller chose.
13
+ *
14
+ * The alternative was a type with a `credentialId`, a `publicKey` and a
15
+ * `signCount`, and that would have been a claim this Block cannot keep: it would
16
+ * have implied that the Block can read a credential, and it cannot, and it must
17
+ * not, because a credential store is the most sensitive thing on the reader's
18
+ * device and a design system is not a place to reach for one.
19
+ */
20
+ export type Passkey01Authenticator = {
21
+ /** A stable key for the row, passed back to `onRemove`. */
22
+ id: string;
23
+ /**
24
+ * What the reader calls this one, in their own words.
25
+ *
26
+ * Required, and a sentence rather than a noun phrase wherever the reader has one:
27
+ * "the phone in my coat pocket" is a name and "Pixel 8" is a device. A caller whose
28
+ * only record is a product name can pass that, and the cost of doing so is that two
29
+ * rows in a reader's list will be indistinguishable and they will have to guess
30
+ * which one to remove, which is the one thing this screen exists to let them do.
31
+ */
32
+ name: string;
33
+ /**
34
+ * When it was registered, in whichever of the two forms the caller already holds
35
+ * it. Drawn exactly as passed when there is no `dateLabel`.
36
+ */
37
+ created?: number | string;
38
+ /**
39
+ * When it was last used to sign in, in whichever of the two forms the caller
40
+ * already holds it.
41
+ *
42
+ * The moment a reader actually came looking for is this one. A passkey that has
43
+ * never been used is the row that explains why a sign-in failed on a device the
44
+ * reader expected to work, and drawing nothing beside it would leave the most
45
+ * useful fact on the screen unstated.
46
+ */
47
+ lastUsed?: number | string;
48
+ /**
49
+ * The words for either moment, given the moment.
50
+ *
51
+ * A function because the honest reading is a localised sentence, and a number
52
+ * printed raw is a timestamp in the reader's head rather than in their language. It
53
+ * is one function for both moments because a caller that formats them differently
54
+ * is a caller with two formatters to keep in step, and a row that says "3 days ago"
55
+ * beside "2026-01-04" reads as two different systems.
56
+ */
57
+ dateLabel?: (value: number | string) => string;
58
+ /**
59
+ * How this authenticator can be used, in the caller's own words.
60
+ *
61
+ * A string and not a union, and the reason is the sentence rather than the token.
62
+ * "This phone" and "the laptop on my desk" are what a reader needs in order to
63
+ * choose which one to remove, and "hybrid" and "nfc" and "internal" are tokens that
64
+ * a caller can pass and that this package will not expand into words of its own.
65
+ */
66
+ transport?: string;
67
+ /**
68
+ * The words for a transport, given the transport.
69
+ *
70
+ * For the caller who holds a token and wants a sentence: pass `"internal"` here and
71
+ * this turns it into whatever their product calls the built-in reader. Omit it and
72
+ * the string is drawn exactly as passed, which is right for a caller who already
73
+ * holds a sentence and would be wrong for a caller who did not notice.
74
+ */
75
+ transportLabel?: (transport: string) => string;
76
+ };
77
+ /**
78
+ * What the caller's own ceremony is doing, in the caller's own words.
79
+ *
80
+ * A prop and never a state this Block writes, for the reason every Block in this
81
+ * family states: a WebAuthn ceremony has more outcomes than any other request in
82
+ * this package, from a user who cancelled the prompt to a reader who has no
83
+ * authenticator at all to a platform that refused to create a credential to a relying
84
+ * party whose identifier is not permitted on this origin, and one sentence cannot be
85
+ * true of them all.
86
+ */
87
+ export type Passkey01Status = {
88
+ /**
89
+ * Which of the three the ceremony is in. Read by the Block for one thing only.
90
+ *
91
+ * `registering` marks the outcome region busy, because a ceremony is a prompt the
92
+ * browser puts in front of the reader and everything on the page should hold still
93
+ * while it is there. The other two are the caller's to say, and the reason is the
94
+ * Block's own argument: whether a credential was created is a fact about the
95
+ * platform, and the Block has no way to observe it.
96
+ */
97
+ state: 'idle' | 'registering' | 'error';
98
+ /** The words for that state, in the product's own voice. */
99
+ message: ReactNode;
100
+ };
101
+ /**
102
+ * The props a Passkey01 takes. Every string in this Block is one of them.
103
+ *
104
+ * There is no credential vocabulary in this file, and that is the design. A passkey
105
+ * is stored by the platform, bound to an origin and a relying party, and created or
106
+ * used inside a ceremony the browser runs. None of those is a rendering decision, so
107
+ * the Block takes a list of names, a list of moments and two callbacks, and holds
108
+ * nothing else.
109
+ */
110
+ export type Passkey01Props = {
111
+ /** The short line above the title, usually which product this is. */
112
+ eyebrow?: ReactNode;
113
+ /**
114
+ * The heading.
115
+ *
116
+ * Required, because a list of sign-in methods with no heading is a list a reader
117
+ * cannot come back to, and this is a screen a reader arrives at in order to answer
118
+ * one question about their own account.
119
+ */
120
+ title: ReactNode;
121
+ /** One supporting line under the heading, for the part the title cannot carry. */
122
+ description?: ReactNode;
123
+ /**
124
+ * The caller's registered authenticators, in the order a reader should meet them.
125
+ *
126
+ * **These are the caller's rows and this Block cannot see a credential, a store, an
127
+ * origin or a relying party.** A consumer that wants to draw a real passkey screen
128
+ * passes what it already knows about each registered authenticator and nothing
129
+ * else, and the list is a projection rather than a reading. The cost is stated
130
+ * rather than hidden: a consumer whose authenticator list arrives from its own
131
+ * server has to fetch it and pass it in, because a Block that fetched it would be a
132
+ * Block that ships a transport, and a consumer that has no server has a reader who
133
+ * can register but never see what they registered, which is a true and unusual
134
+ * product.
135
+ */
136
+ authenticators: readonly Passkey01Authenticator[];
137
+ /**
138
+ * Called when the reader presses the register control. **This is where the
139
+ * ceremony runs, and the ceremony is not this Block's.**
140
+ *
141
+ * **A design system that called `navigator.credentials` would be choosing three
142
+ * things for every consumer that installed it**, and all three are decisions about
143
+ * a reader's security rather than about how a list is drawn. The first is the
144
+ * origin, because a credential is bound to the origin that created it and one that
145
+ * is created against the wrong origin is unusable on the site that needs it. The
146
+ * second is the user-verification flag, which is the difference between a ceremony
147
+ * that asks for a fingerprint or a face and one that only proves the presence of a
148
+ * device, and a product whose risk assessment says the weaker flag is right is a
149
+ * product that must be able to say so. The third is the relying party's identifier,
150
+ * which is a durable name for this deployment, and a product that deploys in two
151
+ * regions with two identifiers is a product this Block would have to guess about.
152
+ *
153
+ * So the callback is the whole of the mechanism and the Block is the whole of the
154
+ * list, the labels and the states. What the reader sees is identical either way and
155
+ * what the caller's server accepts is not: the ceremony is theirs, and so is every
156
+ * decision it involves.
157
+ */
158
+ onRegister?: () => void;
159
+ /**
160
+ * The words on the register control.
161
+ *
162
+ * Required whenever `onRegister` is set, and a sentence for the reason every other
163
+ * control name in this package is: "add" says what the control is and "register a
164
+ * passkey on this device" says what pressing it does, and the second is the one a
165
+ * voice control user has to be able to say out loud. It is also the one control on
166
+ * this screen that starts a prompt in the platform's own chrome, outside this
167
+ * page, which is worth naming in the words: a reader who presses a button labelled
168
+ * "Add" and is then shown a system dialog has been told the wrong thing about where
169
+ * they are.
170
+ */
171
+ registerLabel?: string;
172
+ /**
173
+ * Whether the reader's own ceremony is running.
174
+ *
175
+ * A prop and not read from `status`, because the two answer different questions:
176
+ * `registering` is the control and `status.state` is the outcome. Passing both is
177
+ * ordinary: a caller whose ceremony is a promise sets the flag from it and sets the
178
+ * status from the result.
179
+ */
180
+ registering?: boolean;
181
+ /**
182
+ * Called with the authenticator's id when the reader removes one.
183
+ *
184
+ * **Offered on every row, including the one the reader is signed in through, and
185
+ * that is the decision most likely to be got wrong.** Every instinct on a security
186
+ * surface is to withhold the dangerous control from the row the reader is sitting
187
+ * on, and the instinct is wrong for a reason that has nothing to do with the
188
+ * interface: a reader who wants to remove the credential they are using is a reader
189
+ * who will find another way, and what they find instead is a credential they cannot
190
+ * see, on a device they are not holding. So the control is drawn on every row and
191
+ * what the Block does not do is confirm: a bare click that destroys a credential is
192
+ * not a confirmation, and a product that wants one composes its own dialog and
193
+ * passes the control through, or calls `onRemove` from its own.
194
+ */
195
+ onRemove?: (id: string) => void;
196
+ /**
197
+ * The words on a remove control, given the authenticator.
198
+ *
199
+ * Required whenever `onRemove` is set, and a function for two reasons. A column of
200
+ * controls all announced as "remove" is a column a screen reader user cannot act
201
+ * on, because the sentence says nothing about which of them. And the honest
202
+ * sentence names the thing: removing the credential on a phone and removing the one
203
+ * on a laptop are different consequences, and the reader is the only one who knows
204
+ * which they mean.
205
+ */
206
+ removeLabel?: (authenticator: {
207
+ id: string;
208
+ name: string;
209
+ }) => string;
210
+ /**
211
+ * What the caller's own ceremony is doing, drawn in a live region and announced.
212
+ *
213
+ * See the Block's JSDoc for why there is no registered sentence anywhere in this
214
+ * file and what the honest failure of a ceremony looks like.
215
+ */
216
+ status?: Passkey01Status;
217
+ /**
218
+ * What the surface shows when there are none.
219
+ *
220
+ * **Required, and the reason is the one every list in this package states: a reader
221
+ * with no passkeys and a caller's server that failed to answer are not the same
222
+ * page.** The first is the state most readers reach and it is safe; the second is
223
+ * the state in which a reader may have two registered authenticators and be about to
224
+ * remove both because the list looks empty. So the sentence is the caller's, and a
225
+ * caller whose server can fail has a state of its own to pass for it.
226
+ */
227
+ empty: ReactNode;
228
+ /** Heading level for the section heading. @defaultValue 'h2' */
229
+ headingLevel?: HeadingLevel;
230
+ /**
231
+ * Layout only, exactly as on every Block. Changing a Prism-owned visual property
232
+ * from here is prohibited.
233
+ */
234
+ className?: string;
235
+ };
236
+ /**
237
+ * The authenticators a reader has registered, and the control that adds one.
238
+ *
239
+ * **The translation, because the pattern is not ours and the framing is.** A
240
+ * storefront publishes a security settings page: a list of the ways in, a control to
241
+ * add another, and a control beside each row to take one away, and its purpose is to
242
+ * let a shopper see which second factor is protecting their card. Prism's products
243
+ * observe a pipeline, capture a market, watch an estate and run agents, and a machine
244
+ * acting on behalf of a person is the whole subject, so this is the list of the
245
+ * credentials a machine may act under on this reader's behalf. The composition is the
246
+ * settings page's and is unchanged: the list, the add control, the remove control on
247
+ * each row, the empty state. What is different is what the list is made of, and that
248
+ * difference is the whole of this Block's argument.
249
+ *
250
+ * **It opens no credential store, it calls no WebAuthn API, and it owns no ceremony.**
251
+ * Those three sentences are the Block. A passkey is a private key the platform holds
252
+ * and this repository never sees, bound to an origin and to a relying party, and it
253
+ * is created or used inside a ceremony the browser runs: a prompt in the platform's
254
+ * own chrome, outside this page, with the reader's biometric or their device
255
+ * passphrase behind it. A Block that reached for that would be choosing three things
256
+ * for every consumer that installed it, and all three are decisions about a reader's
257
+ * security rather than about how a list is drawn. The origin, because a credential
258
+ * is bound to the origin that created it and one created against the wrong origin is
259
+ * unusable on the site that needs it. The user-verification flag, which is the
260
+ * difference between a ceremony that asks for a fingerprint and one that only proves
261
+ * the presence of a device, and a product whose risk assessment says the weaker flag
262
+ * is right must be able to say so. And the relying party's identifier, a durable name
263
+ * for this deployment, which a product deploying in two regions has two of. So
264
+ * `onRegister` is where the ceremony runs, and this file holds the list, the labels
265
+ * and the states and nothing else. What the reader sees is identical either way. What
266
+ * the caller's server accepts afterwards is entirely the caller's, and a reader who
267
+ * registered a passkey the wrong way finds out at the next sign-in.
268
+ *
269
+ * **What it authorises.** Nothing on its own, and that is worth saying plainly on the
270
+ * screen's own documentation. A press of the register control is a request that the
271
+ * caller's code run a ceremony; whether a credential now exists, on which origin,
272
+ * bound to which relying party, is a fact about the platform that this Block has no
273
+ * way to observe. The remove control is the mirror: it hands over an id and the
274
+ * caller decides what destroying that credential means, including whether the reader
275
+ * has another way in first.
276
+ *
277
+ * **What it deliberately does not do.** It will not call `navigator.credentials`. It
278
+ * will not hold, cache, serialise or request a credential id, a public key or a sign
279
+ * count. And it will not confirm before removing. Each of those is the consumer's,
280
+ * and each is a security decision rather than a rendering one, so a Block that made
281
+ * any of them would be something other than a composition. A Block that held a
282
+ * credential would be putting the most sensitive thing on a reader's device into a
283
+ * component library's memory and into the bundle of every product that installed it.
284
+ * A Block that confirmed would be a dialog this package designed, and a confirmation
285
+ * is a product's decision about what a reader is agreeing to and what the escape is.
286
+ * So the control is drawn on every row, including the row the reader is signed in
287
+ * through, and the confirmation is the caller's, composed from their own surface.
288
+ *
289
+ * **The remove control is offered on the row the reader is in, and that is the
290
+ * decision most likely to be got wrong.** Withholding it is the instinct, and the
291
+ * instinct is wrong for a reason that has nothing to do with the interface: a reader
292
+ * who wants to remove the credential they are using is a reader who will find another
293
+ * way, and what they find is a credential they cannot see on a device they are not
294
+ * holding. So the control is on every row. What the Block does not do is confirm,
295
+ * because a bare click that destroys a credential is not a confirmation.
296
+ *
297
+ * **The honest failure state is the caller's sentence, and the reason is that a
298
+ * ceremony has more outcomes than one sentence can be true of.** It can fail because
299
+ * the reader dismissed the platform's prompt, because the reader has no authenticator
300
+ * at all, because the platform refused to create a credential, because the relying
301
+ * party's identifier is not permitted on this origin, because the origin is not a
302
+ * secure context, because the reader's device is out of room, because a third party
303
+ * on the reader's device answered instead of them, or because the caller's own server
304
+ * refused the public key after the platform had already created it. Those are nine
305
+ * outcomes and the difference between a reader who cancelled and a reader whose
306
+ * platform is not permitted is the difference between "try again" and a support
307
+ * ticket, and only the caller knows which one just happened. So `status` is a prop,
308
+ * this file holds no `registered` flag and no `removed` flag, and the words are the
309
+ * product's. What the Block does about a failure is the two rendering decisions: the
310
+ * register control is disabled while the caller says the ceremony is running, because
311
+ * a second press starts a second prompt the reader did not ask for, and the outcome is
312
+ * drawn in a live region, `assertive` for the refusal, because a ceremony that fails
313
+ * silently looks to a reader exactly like a ceremony that is still thinking.
314
+ *
315
+ * **The row's name is not a heading, and the reason is that a row is not a section of
316
+ * the page.** A reader who navigates this screen by heading wants one place to land:
317
+ * the list. A list of eight devices put in the outline is eight entries that say
318
+ * nothing the section's own heading has not said, and a reader tabbing through
319
+ * headings hears eight of them. So the name is a `span` at the row's own weight, which
320
+ * is the arrangement `settings-security-01` already uses for the methods beside it,
321
+ * and the two Blocks are the same decision made twice.
322
+ *
323
+ * **It is a client Component, and the directive is present because the handlers
324
+ * attach, not because this screen holds state.** A Block with neither `onRegister`
325
+ * nor `onRemove` renders entirely static output and could be a server Component, and
326
+ * the cost of that is that the same module is one thing for a caller who only lists
327
+ * and another for a caller who removes, so a consumer who never removes a credential
328
+ * still pays for the client boundary. That is the price of shipping one Block for both
329
+ * halves, and the alternative was two Items where one of them would be a list with no
330
+ * controls in it, which is not a thing a credential screen should be without.
331
+ */
332
+ export declare function Passkey01({ eyebrow, title, description, authenticators, onRegister, registerLabel, registering, onRemove, removeLabel, status, empty, headingLevel, className, }: Passkey01Props): import("react").JSX.Element;
333
+ export default Passkey01;
334
+ //# sourceMappingURL=passkey-01.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passkey-01.d.ts","sourceRoot":"","sources":["../../../src/blocks/passkey-01/passkey-01.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAGxF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAA;IACV;;;;;;;;OAQG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;IAC9C;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAA;CAC/C,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAA;IACvC,4DAA4D;IAC5D,OAAO,EAAE,SAAS,CAAA;CACnB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,qEAAqE;IACrE,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;;;;OAMG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB,kFAAkF;IAClF,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB;;;;;;;;;;;;OAYG;IACH,cAAc,EAAE,SAAS,sBAAsB,EAAE,CAAA;IACjD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAA;IACrE;;;;;OAKG;IACH,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB;;;;;;;;;OASG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB,gEAAgE;IAChE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAyGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AACH,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,KAAK,EACL,WAAW,EACX,cAAc,EACd,UAAU,EACV,aAAa,EACb,WAAmB,EACnB,QAAQ,EACR,WAAW,EACX,MAAM,EACN,KAAK,EACL,YAAmB,EACnB,SAAS,GACV,EAAE,cAAc,+BA0JhB;AAED,eAAe,SAAS,CAAA"}
@@ -0,0 +1,192 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Button } from '../../components/ui/button.js';
4
+ import { Card } from '../../components/ui/card.js';
5
+ import { LiveRegion } from '../../components/ui/live-region.js';
6
+ import { Section, SectionHeading } from '../../components/ui/section.js';
7
+ import { cn } from '../../lib/utils.js';
8
+ /**
9
+ * Whether a caller passed a word that is not there.
10
+ *
11
+ * Read as `string | undefined` rather than as the declared type, because the check
12
+ * is about the value that turned up rather than about what the type promised. A
13
+ * JavaScript caller and a value out of a session store both arrive with the type's
14
+ * guarantee already gone, and the diagnostic below is the last place that can still
15
+ * say what was wrong.
16
+ */
17
+ function blank(value) {
18
+ return value === undefined || value.trim() === '';
19
+ }
20
+ /**
21
+ * The refusals, checked before anything is drawn so a caller's mistake is one
22
+ * diagnostic in a console rather than a nameless control on the screen where a
23
+ * reader is about to remove the credential that lets them in.
24
+ *
25
+ * Six shapes. A row with no name is a list in which every row is anonymous, on the
26
+ * one screen whose whole purpose is telling a reader apart from their other devices.
27
+ * A remove control with one name across the list is a list a screen reader user
28
+ * cannot act on. A register control with no words is a button that starts a system
29
+ * dialog the reader was not told about. A handler with no control and a control with
30
+ * no handler are the same mistake in opposite directions, and both leave a caller
31
+ * believing they have something the surface does not draw. A `dateLabel` with no
32
+ * moment and a `transportLabel` with no transport compose a function and then
33
+ * discard it.
34
+ */
35
+ function assertPasskey(input) {
36
+ const { authenticators, onRegister, registerLabel, onRemove, removeLabel } = input;
37
+ for (const authenticator of authenticators) {
38
+ if (blank(authenticator.name)) {
39
+ throw new Error(`Passkey01: the authenticator ${JSON.stringify(authenticator.id)} declares no name, so the row ` +
40
+ 'would be a date and a set of controls with nothing to say which credential it belongs to, on the ' +
41
+ 'one screen whose purpose is telling a reader apart from their other devices. Pass the words the ' +
42
+ 'reader gave it.');
43
+ }
44
+ if (authenticator.dateLabel !== undefined &&
45
+ authenticator.created === undefined &&
46
+ authenticator.lastUsed === undefined) {
47
+ throw new Error(`Passkey01: the authenticator ${JSON.stringify(authenticator.name)} passes a dateLabel and no moment ` +
48
+ 'to format, so the sentence would be composed and then discarded. Pass created or lastUsed, or drop ' +
49
+ 'the function.');
50
+ }
51
+ if (authenticator.transportLabel !== undefined && authenticator.transport === undefined) {
52
+ throw new Error(`Passkey01: the authenticator ${JSON.stringify(authenticator.name)} passes a transportLabel and no ` +
53
+ 'transport, so the sentence would be composed and then discarded. Pass the string your platform ' +
54
+ 'reports, or drop the function.');
55
+ }
56
+ }
57
+ if (onRegister === undefined) {
58
+ if (registerLabel !== undefined) {
59
+ throw new Error('Passkey01: a registerLabel was passed with no onRegister, so the sentence would be composed and ' +
60
+ 'then discarded, which is a caller who believes they have named a control on a screen that has none. ' +
61
+ 'Pass the handler, or drop the words.');
62
+ }
63
+ }
64
+ else if (blank(registerLabel)) {
65
+ throw new Error('Passkey01: onRegister was passed with no registerLabel, so the control that starts a ceremony in the ' +
66
+ 'platform chrome would be a button announced as a button, and a reader who presses a nameless button ' +
67
+ 'and is then shown a system dialog has been told the wrong thing about where they are. Pass the ' +
68
+ 'sentence.');
69
+ }
70
+ if (onRemove === undefined) {
71
+ if (removeLabel !== undefined) {
72
+ throw new Error('Passkey01: a removeLabel was passed with no onRemove, so the sentences would be composed and then ' +
73
+ 'discarded, which is a caller who believes they have named the controls on a surface that has none. ' +
74
+ 'Pass the handler, or drop the function.');
75
+ }
76
+ return;
77
+ }
78
+ if (removeLabel === undefined) {
79
+ throw new Error('Passkey01: onRemove was passed with no removeLabel, so every remove control would be announced by the ' +
80
+ 'same word and a reader would be told which credential to destroy by nothing at all. Pass the function ' +
81
+ 'that names the authenticator.');
82
+ }
83
+ }
84
+ /**
85
+ * The authenticators a reader has registered, and the control that adds one.
86
+ *
87
+ * **The translation, because the pattern is not ours and the framing is.** A
88
+ * storefront publishes a security settings page: a list of the ways in, a control to
89
+ * add another, and a control beside each row to take one away, and its purpose is to
90
+ * let a shopper see which second factor is protecting their card. Prism's products
91
+ * observe a pipeline, capture a market, watch an estate and run agents, and a machine
92
+ * acting on behalf of a person is the whole subject, so this is the list of the
93
+ * credentials a machine may act under on this reader's behalf. The composition is the
94
+ * settings page's and is unchanged: the list, the add control, the remove control on
95
+ * each row, the empty state. What is different is what the list is made of, and that
96
+ * difference is the whole of this Block's argument.
97
+ *
98
+ * **It opens no credential store, it calls no WebAuthn API, and it owns no ceremony.**
99
+ * Those three sentences are the Block. A passkey is a private key the platform holds
100
+ * and this repository never sees, bound to an origin and to a relying party, and it
101
+ * is created or used inside a ceremony the browser runs: a prompt in the platform's
102
+ * own chrome, outside this page, with the reader's biometric or their device
103
+ * passphrase behind it. A Block that reached for that would be choosing three things
104
+ * for every consumer that installed it, and all three are decisions about a reader's
105
+ * security rather than about how a list is drawn. The origin, because a credential
106
+ * is bound to the origin that created it and one created against the wrong origin is
107
+ * unusable on the site that needs it. The user-verification flag, which is the
108
+ * difference between a ceremony that asks for a fingerprint and one that only proves
109
+ * the presence of a device, and a product whose risk assessment says the weaker flag
110
+ * is right must be able to say so. And the relying party's identifier, a durable name
111
+ * for this deployment, which a product deploying in two regions has two of. So
112
+ * `onRegister` is where the ceremony runs, and this file holds the list, the labels
113
+ * and the states and nothing else. What the reader sees is identical either way. What
114
+ * the caller's server accepts afterwards is entirely the caller's, and a reader who
115
+ * registered a passkey the wrong way finds out at the next sign-in.
116
+ *
117
+ * **What it authorises.** Nothing on its own, and that is worth saying plainly on the
118
+ * screen's own documentation. A press of the register control is a request that the
119
+ * caller's code run a ceremony; whether a credential now exists, on which origin,
120
+ * bound to which relying party, is a fact about the platform that this Block has no
121
+ * way to observe. The remove control is the mirror: it hands over an id and the
122
+ * caller decides what destroying that credential means, including whether the reader
123
+ * has another way in first.
124
+ *
125
+ * **What it deliberately does not do.** It will not call `navigator.credentials`. It
126
+ * will not hold, cache, serialise or request a credential id, a public key or a sign
127
+ * count. And it will not confirm before removing. Each of those is the consumer's,
128
+ * and each is a security decision rather than a rendering one, so a Block that made
129
+ * any of them would be something other than a composition. A Block that held a
130
+ * credential would be putting the most sensitive thing on a reader's device into a
131
+ * component library's memory and into the bundle of every product that installed it.
132
+ * A Block that confirmed would be a dialog this package designed, and a confirmation
133
+ * is a product's decision about what a reader is agreeing to and what the escape is.
134
+ * So the control is drawn on every row, including the row the reader is signed in
135
+ * through, and the confirmation is the caller's, composed from their own surface.
136
+ *
137
+ * **The remove control is offered on the row the reader is in, and that is the
138
+ * decision most likely to be got wrong.** Withholding it is the instinct, and the
139
+ * instinct is wrong for a reason that has nothing to do with the interface: a reader
140
+ * who wants to remove the credential they are using is a reader who will find another
141
+ * way, and what they find is a credential they cannot see on a device they are not
142
+ * holding. So the control is on every row. What the Block does not do is confirm,
143
+ * because a bare click that destroys a credential is not a confirmation.
144
+ *
145
+ * **The honest failure state is the caller's sentence, and the reason is that a
146
+ * ceremony has more outcomes than one sentence can be true of.** It can fail because
147
+ * the reader dismissed the platform's prompt, because the reader has no authenticator
148
+ * at all, because the platform refused to create a credential, because the relying
149
+ * party's identifier is not permitted on this origin, because the origin is not a
150
+ * secure context, because the reader's device is out of room, because a third party
151
+ * on the reader's device answered instead of them, or because the caller's own server
152
+ * refused the public key after the platform had already created it. Those are nine
153
+ * outcomes and the difference between a reader who cancelled and a reader whose
154
+ * platform is not permitted is the difference between "try again" and a support
155
+ * ticket, and only the caller knows which one just happened. So `status` is a prop,
156
+ * this file holds no `registered` flag and no `removed` flag, and the words are the
157
+ * product's. What the Block does about a failure is the two rendering decisions: the
158
+ * register control is disabled while the caller says the ceremony is running, because
159
+ * a second press starts a second prompt the reader did not ask for, and the outcome is
160
+ * drawn in a live region, `assertive` for the refusal, because a ceremony that fails
161
+ * silently looks to a reader exactly like a ceremony that is still thinking.
162
+ *
163
+ * **The row's name is not a heading, and the reason is that a row is not a section of
164
+ * the page.** A reader who navigates this screen by heading wants one place to land:
165
+ * the list. A list of eight devices put in the outline is eight entries that say
166
+ * nothing the section's own heading has not said, and a reader tabbing through
167
+ * headings hears eight of them. So the name is a `span` at the row's own weight, which
168
+ * is the arrangement `settings-security-01` already uses for the methods beside it,
169
+ * and the two Blocks are the same decision made twice.
170
+ *
171
+ * **It is a client Component, and the directive is present because the handlers
172
+ * attach, not because this screen holds state.** A Block with neither `onRegister`
173
+ * nor `onRemove` renders entirely static output and could be a server Component, and
174
+ * the cost of that is that the same module is one thing for a caller who only lists
175
+ * and another for a caller who removes, so a consumer who never removes a credential
176
+ * still pays for the client boundary. That is the price of shipping one Block for both
177
+ * halves, and the alternative was two Items where one of them would be a list with no
178
+ * controls in it, which is not a thing a credential screen should be without.
179
+ */
180
+ export function Passkey01({ eyebrow, title, description, authenticators, onRegister, registerLabel, registering = false, onRemove, removeLabel, status, empty, headingLevel = 'h2', className, }) {
181
+ assertPasskey({ authenticators, onRegister, registerLabel, onRemove, removeLabel });
182
+ const none = authenticators.length === 0;
183
+ const busy = registering || status?.state === 'registering';
184
+ return (_jsx(Section, { "data-slot": "passkey-01", className: cn(className), children: _jsxs("div", { "data-slot": "passkey-01-body", className: "flex flex-col gap-10", children: [_jsx(SectionHeading, { as: headingLevel, align: "left", eyebrow: eyebrow, title: title, description: description }), _jsxs(Card, { "data-slot": "passkey-01-card", className: "max-w-measure gap-0 px-6", children: [onRegister === undefined ? null : (_jsx("div", { "data-slot": "passkey-01-register-row", children: _jsx(Button, { "data-slot": "passkey-01-register", type: "button", disabled: busy, onClick: onRegister, children: registerLabel }) })), none ? (_jsx("p", { "data-slot": "passkey-01-empty", className: "text-muted-foreground text-pretty text-sm", children: empty })) : (_jsx("ul", { "data-slot": "passkey-01-rows", className: "border-border flex flex-col border-t", children: authenticators.map((authenticator) => (_jsxs("li", { "data-slot": "passkey-01-row", "data-authenticator": authenticator.id, className: "border-border flex flex-wrap items-center gap-x-4 gap-y-2 border-b py-3 last:border-b-0", children: [_jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [_jsx("span", { "data-slot": "passkey-01-name", className: "text-base font-semibold break-words", children: authenticator.name }), _jsxs("span", { "data-slot": "passkey-01-detail", className: "text-muted-foreground flex flex-wrap items-baseline gap-x-3 gap-y-1 text-xs", children: [authenticator.created === undefined ? null : (_jsx("span", { "data-slot": "passkey-01-created", children: authenticator.dateLabel === undefined
185
+ ? authenticator.created
186
+ : authenticator.dateLabel(authenticator.created) })), authenticator.lastUsed === undefined ? null : (_jsx("span", { "data-slot": "passkey-01-last-used", children: authenticator.dateLabel === undefined
187
+ ? authenticator.lastUsed
188
+ : authenticator.dateLabel(authenticator.lastUsed) })), authenticator.transport === undefined ? null : (_jsx("span", { "data-slot": "passkey-01-transport", children: authenticator.transportLabel === undefined
189
+ ? authenticator.transport
190
+ : authenticator.transportLabel(authenticator.transport) }))] })] }), onRemove === undefined || removeLabel === undefined ? null : (_jsx(Button, { "data-slot": "passkey-01-remove", type: "button", size: "sm", variant: "outline", onClick: () => onRemove(authenticator.id), className: "shrink-0", children: removeLabel({ id: authenticator.id, name: authenticator.name }) }))] }, authenticator.id))) })), _jsx(LiveRegion, { "data-slot": "passkey-01-status", politeness: status?.state === 'error' ? 'assertive' : 'polite', busy: busy, className: cn('text-sm', status?.state === 'error' ? 'text-destructive font-medium' : 'text-muted-foreground'), children: status?.message })] })] }) }));
191
+ }
192
+ export default Passkey01;
@@ -0,0 +1,3 @@
1
+ export { PermissionMatrix01, default } from './permission-matrix.js';
2
+ export type { PermissionMatrix01Props, PermissionMatrixColumn, PermissionMatrixGroup, PermissionMatrixLegend, PermissionMatrixPermission, PermissionMatrixRole, } from './permission-matrix.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blocks/permission-matrix-01/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAMjE,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1 @@
1
+ export { PermissionMatrix01, default } from './permission-matrix.js';